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