Ejemplo n.º 1
0
 /**
  * Returns a skin given its shortname
  * @param string $name Skin shortname
  * @return object SKIN
  * @static
  */
 function createFromName($name)
 {
     return new SKIN(SKIN::getIdFromName($name));
 }
 function testlogin($data)
 {
     global $CONF, $manager, $member, $blogid, $itemid;
     if ($data['type'] == 'item' && $this->getItemOption($itemid, 'restrict_this_item') == 'yes') {
         if (!$member->isLoggedIn() || !$member->isTeamMember($blogid)) {
             return FALSE;
         }
     }
     switch ($this->getBlogOption($blogid, 'login_needed')) {
         case 'nothing':
             return TRUE;
         case 'needlogin':
             if ($member->isLoggedIn()) {
                 return TRUE;
             }
             break;
         case 'memberonly':
             if ($member->isLoggedIn() && $member->isTeamMember($blogid)) {
                 return TRUE;
             }
             break;
     }
     if ($this->getBlogOption($blogid, 'allow_rss') == 'yes') {
         $skinname = $data['skin']->getName();
         $skinlist = explode(',', $this->getBlogOption($blogid, 'rss_skins'));
         if (in_array($skinname, $skinlist)) {
             $user = $this->getBlogOption($blogid, 'rss_username');
             $pass = $this->getBlogOption($blogid, 'rss_password');
             $iteration = $this->getBlogOption($blogid, 'login_iteration');
             while ($iteration-- && ($_SERVER['PHP_AUTH_USER'] != $user || $_SERVER['PHP_AUTH_PW'] != $pass)) {
                 header('WWW-Authenticate: Basic realm="Authentication"');
                 header('HTTP/1.0 401 Unauthorized');
                 echo _ACCSSCNTRL_CONTENTS_PROHIBIT;
                 exit;
             }
             if (!$iteration) {
                 return FALSE;
             }
             return TRUE;
         }
     }
     $skinname = $this->getBlogOption($blogid, 'sub_skin');
     if ($data['skin']->id == SKIN::getIdFromName($skinname)) {
         return TRUE;
     }
     return FALSE;
 }
Ejemplo n.º 3
0
 function event_InitSkinParse(&$data)
 {
     global $CONF;
     if (!$this->isSmartPhone()) {
         return;
     }
     $request_uri = $_SERVER['REQUEST_URI'];
     if (strpos($request_uri, '.php') !== false && strpos($request_uri, 'index.php') === false) {
         return;
     }
     if (isset($_GET['viewmode']) && preg_match('/^[01]{1}$/', $_GET['viewmode'])) {
         $viewmode = intGetVar('viewmode');
     } elseif (isset($_COOKIE['viewmode']) && preg_match('/^[01]{1}$/', $_COOKIE['viewmode'])) {
         $viewmode = intCookieVar('viewmode');
     } else {
         $viewmode = 1;
     }
     if (!isset($_COOKIE['viewmode']) || $_COOKIE['viewmode'] != $viewmode) {
         setcookie('viewmode', $viewmode, 0, $CONF['CookiePath'], $CONF['CookieDomain'], $CONF['CookieSecure']);
     }
     if ($viewmode == 1) {
         $optionSpskinname = htmlspecialchars($this->getOption('spskinname'), ENT_QUOTES, _CHARSET);
         if (!SKIN::exists($optionSpskinname)) {
             $SkinName = $data['skin']->name;
         } else {
             $SkinName = $optionSpskinname;
         }
     } elseif ($viewmode == 0) {
         $SkinName = $data['skin']->name;
     } else {
         return;
     }
     $SkinId = SKIN::getIdFromName($SkinName);
     if ($SkinId) {
         if (method_exists($data['skin'], "SKIN")) {
             $data['skin']->SKIN($SkinId);
         } else {
             $data['skin']->__construct($SkinId);
         }
     }
     return;
 }
Ejemplo n.º 4
0
function selectSkin($skinname)
{
    global $skinid;
    if (!$skinid) {
        $skinid = SKIN::getIdFromName($skinname);
    }
}