Core_Auth::logged()
https://www.hostcms.ru/api7/classes/Core-Auth.html
ΠΡΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ
ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ²
if(Core_Auth::logged())
{
print_r($_SESSION);
}
// Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·Π²ΠΎΠ°ΡΠ΅Π»Ρ Π¦Π
$oUser = Core_Auth::getCurrentUser();
if(!is_null($oUser) && $oUser->id == 123)
{
print_r($_SESSION);
}
ΠΠΎΠΌΠΏΡΠ΅ΡΡΠΈΡ CSS ΠΈ JS
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΡ css ΠΈ js Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² ΡΠ°ΠΉΡΠ°, Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ
Core_Page::instance()
->prependCss('/css/bootstrap.min.css')
->fileTimestamp(TRUE)
->compress(!Core_Auth::logged())
->showCss();
Core_Page::instance()
->prependJs('/js/jquery.min.js')
->fileTimestamp(TRUE)
->compress(!Core_Auth::logged())
->showJs(TRUE);
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Less
ΠΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ ΡΠ°ΠΉΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² less
ΡΠ°ΠΉΠ» ΠΌΠ°ΠΊΠ΅ΡΠ°, Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π·Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ css
(ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΌΠ°ΠΊΠ΅ΡΠ΅ ΡΠ°ΠΉΡΠ° Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅)
if(Core_Auth::logged() && Core_Page::instance()->template)
{
$oTemplate = Core_Page::instance()->template;
$css = is_file($oTemplate->getTemplateLessFilePath())
? $oTemplate->loadTemplateLessFile()
: $oTemplate->loadTemplateCssFile();
$oTemplate->saveTemplateLessFile($css);
while ($oTemplate->template_id)
{
$oTemplate = $oTemplate->getParent();
$css = is_file($oTemplate->getTemplateLessFilePath())
? $oTemplate->loadTemplateLessFile()
: $oTemplate->loadTemplateCssFile();
$oTemplate->saveTemplateLessFile($css);
}
}
XSL-ΡΠ°Π±Π»ΠΎΠ½Ρ
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ³Π° Core_Auth Π² XSL-ΡΠ°Π±Π»ΠΎΠ½ ΡΠ΅ΡΠ΅Π· Ρ
ΡΠΊ
class Auth_Shop_Controller_Show
{
static public function onBeforeRedeclaredShow($controller)
{
Core_Auth::logged() && $controller->addEntity(
Core::factory('Core_Xml_Entity')
->name('Core_Auth')
->value(1)
);
}
}
// Ρ
ΡΠΊ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ
Core_Event::attach('Informationsystem_Controller_Show.onBeforeRedeclaredShow', array('Auth_Shop_Controller_Show', 'onBeforeRedeclaredShow'));
// Ρ
ΡΠΊ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°
Core_Event::attach('Shop_Controller_Show.onBeforeRedeclaredShow', array('Auth_Shop_Controller_Show', 'onBeforeRedeclaredShow'));
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π² XSL-ΡΠ°Π±Π»ΠΎΠ½Π΅
<xsl:if test="/shop/Core_Auth">
Π― Π°Π΄ΠΌΠΈΠ½!
</xsl:if>
TPL-ΡΠ°Π±Π»ΠΎΠ½Ρ
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π² TPL-ΡΠ°Π±Π»ΠΎΠ½Π΅
{if Core_Auth::logged()}
Π― Π°Π΄ΠΌΠΈΠ½!
{/if}
Template (ΠΌΠ°ΠΊΠ΅ΡΡ)
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡΡ ΠΌΠ°ΠΊΠ΅ΡΡ ΠΈ XSL-ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ Π’ΠΠ‘ Π½Π° Π½ΠΎΠ²ΡΠ΅ Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² ΡΠ°ΠΉΡΠ°, Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠ°ΡΡΠ΅, Π΄Π°Π½Π½ΡΠΉ Ρ
ΡΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² bootstrap.php
if(Core_Auth::logged())
{
class Auth_Template_Observer
{
static public function onBeforeSetTemplate($controller)
{
$libParams = Core_Page::instance()->libParams;
$object = Core_Page::instance()->object;
$template = Core_Page::instance()->template;
if(CURRENT_SITE == 1) // ID ΡΠ°ΠΉΡΠ°
{
isset($libParams['shopXsl']) && $libParams['shopXsl'] == 'ΠΠ°Π³Π°Π·ΠΈΠ½ΠΠ°ΡΠ°Π»ΠΎΠ³Π’ΠΎΠ²Π°ΡΠΎΠ²'
&& $libParams['shopXsl'] = 'ΠΠ°Π³Π°Π·ΠΈΠ½ΠΠ°ΡΠ°Π»ΠΎΠ³Π’ΠΎΠ²Π°ΡΠΎΠ² [NEW]';
$aTemplates = array(
97 => 116 // ΡΡΠ°ΡΡΠΉ ΠΌΠ°ΠΊΠ΅Ρ => Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΠΊΠ΅Ρ
);
$oTemplate = Core_Entity::factory('Template', Core_Array::get($aTemplates, $template->id, $template->id));
Core_Page::instance()
->libParams($libParams)
->template($oTemplate);
}
}
}
Core_Event::attach('Core_Command_Controller_Default.onBeforeSetTemplate', array('Auth_Template_Observer', 'onBeforeSetTemplate'));
}
ΠΡΠ²ΠΎΠ΄ 404 Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅
if(!Core_Auth::logged() && strpos(Core::$url['path'], '/test/') !== FALSE)
{
Core_Page::instance()->error404();
}
ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ XXX_Controller_Show
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ»Π»Π΅ΡΠΎΠ² ΠΏΠΎΠΊΠ°Π·Π° Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² ΡΠ°ΠΉΡΠ°, Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ
// Π΄Π»Ρ ΠΈΠ½ΡΠΎΠΌΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ
$Informationsystem_Controller_Show->cache(!Core_Auth::logged());
// Π΄Π»Ρ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°
$Shop_Controller_Show->cache(!Core_Auth::logged());
// Π΄Π»Ρ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°ΠΉΡΠ° / Ρ
Π»Π΅Π±Π½ΡΡ
ΠΊΡΠΎΡΠ΅ΠΊ
$Structure_Controller_Show->cache(!Core_Auth::logged());
Last updated