コード例 #1
0
ファイル: NP_CustomURL.php プロジェクト: utsurop/NP_CustomURL
 function _genarateObjectLink($data, $scatFlag = '')
 {
     global $CONF, $manager, $blog;
     $ext = substr(serverVar('REQUEST_URI'), -4);
     if ($ext == '.rdf' || $ext == '.xml') {
         $CONF['URLMode'] = 'pathinfo';
     }
     if ($CONF['URLMode'] != 'pathinfo') {
         return;
     }
     $query = 'SELECT %s as result FROM %s WHERE %s = "%s"';
     switch ($data[0]) {
         case 'b':
             if ($data[2] == 'n') {
                 $bid = getBlogIDFromName($data[1]);
             } else {
                 $bid = $data[1];
             }
             $blog_id = intval($bid);
             $param = array('blog', 'bnumber', $blog_id);
             if (!$this->_isValid($param)) {
                 $url = _NOT_VALID_BLOG;
             } else {
                 $url = $this->_generateBlogLink($blog_id) . '/';
             }
             break;
         case 'c':
             if ($data[2] == 'n') {
                 $cid = getCatIDFromName($data[1]);
             } else {
                 $cid = $data[1];
             }
             $cat_id = intval($cid);
             $param = array('category', 'catid', $cat_id);
             if (!$this->_isValid($param)) {
                 $url = _NOT_VALID_CAT;
             } else {
                 $url = createCategoryLink($cat_id);
             }
             break;
         case 's':
             $mcategories = $this->pluginCheck('MultipleCategories');
             if ($mcategories) {
                 if ($data[2] == 'n') {
                     $temp = $this->quote_smart($data[1]);
                     $sque = sprintf($query, 'scatid', _C_SUBCAT_TABLE, 'sname', $temp);
                     $scid = quickQuery($sque);
                 } else {
                     $scid = $data[1];
                 }
                 $sub_id = intval($scid);
                 $param = array('plug_multiple_categories_sub', 'scatid', $sub_id);
                 if (!$this->_isValid($param)) {
                     $url = _NOT_VALID_SUBCAT;
                 } else {
                     $cqe = sprintf($query, 'catid', _C_SUBCAT_TABLE, 'scatid', $sub_id);
                     $cid = quickQuery($cqe);
                     $cid = intval($cid);
                     if (method_exists($mcategories, "getRequestName")) {
                         $subrequest = $mcategories->getRequestName();
                     }
                     if (!$subrequest) {
                         $subrequest = 'subcatid';
                     }
                     $linkParam = array($subrequest => $sub_id);
                     $url = createCategoryLink($cid, $linkParam);
                 }
             }
             break;
         case 'i':
             $param = array('item', 'inumber', intval($data[1]));
             if (!$this->_isValid($param)) {
                 $url = _NOT_VALID_ITEM;
             } else {
                 if ($scatFlag) {
                     global $catid, $subcatid;
                     if (!empty($catid)) {
                         $linkparams['catid'] = intval($catid);
                     }
                     if (!empty($subcatid)) {
                         $mcategories = $this->pluginCheck('MultipleCategories');
                         if ($mcategories) {
                             if (method_exists($mcategories, 'getRequestName')) {
                                 $subrequest = $mcategories->getRequestName();
                             } else {
                                 $subrequest = 'subcatid';
                             }
                         }
                         $linkparams[$subrequest] = intval($subcatid);
                     }
                     $url = createItemLink(intval($data[1]), $linkparams);
                 } else {
                     $blink = $this->_generateBlogLink(getBlogIDFromItemID(intval($data[1])));
                     $i_query = 'SELECT obj_name as result ' . 'FROM %s ' . 'WHERE obj_param = "item" ' . 'AND      obj_id = %d';
                     $i_query = sprintf($i_query, _CUSTOMURL_TABLE, intval($data[1]));
                     $path = quickQuery($i_query);
                     if ($path) {
                         if ($data[2] == 'path') {
                             $url = $path;
                         } else {
                             $url = $blink . '/' . $path;
                         }
                     } else {
                         if ($data[2] == 'path') {
                             $url = $CONF['ItemKey'] . '/' . intval($data[1]);
                         } else {
                             $url = $blink . '/' . $CONF['ItemKey'] . '/' . intval($data[1]);
                         }
                     }
                 }
             }
             break;
         case 'm':
             if ($data[2] == 'n') {
                 $data[1] = $this->quote_smart($data[1]);
                 $mque = sprintf($query, 'mnumber', sql_table('member'), 'mname', $data[1]);
                 $mid = quickQuery($mque);
             } else {
                 $mid = $data[1];
             }
             $member_id = intval($mid);
             $param = array('member', 'mnumber', $member_id);
             if (!$this->_isValid($param)) {
                 $url = _NOT_VALID_MEMBER;
             } else {
                 $url = createMemberLink($member_id);
             }
             break;
     }
     return $url;
 }
コード例 #2
0
ファイル: ITEMACTIONS.php プロジェクト: hatone/Nucleus-v3.64
 /**
  *  Checks if a member is admin of a blog
  */
 function _ifAdmin($blogName = '')
 {
     global $blog, $member, $manager;
     // when no blog found
     if ($blogName == '' && !is_object($blog)) {
         return 0;
     }
     // explicit blog selection
     if ($blogName != '') {
         $blogid = getBlogIDFromName($blogName);
     }
     if ($blogName == '' || !$manager->existsBlogID($blogid)) {
         // use current blog
         $blogid = $blog->getID();
     }
     return $member->isBlogAdmin($blogid);
 }
コード例 #3
0
 function _getBlogid($blogname = '')
 {
     global $manager, $blog, $CONF;
     /*
         find out which blog to use:
             1. try the blog chosen in skinvar parameter
             2. try to use the currently selected blog
             3. use the default blog
     */
     if ($blogName) {
         $b =& $manager->getBlog(getBlogIDFromName($params[2]));
     } elseif ($blog) {
         $b =& $blog;
     } else {
         $b =& $manager->getBlog($CONF['DefaultBlog']);
     }
     return $b->getID();
 }
コード例 #4
0
ファイル: NP_TagEX.php プロジェクト: NucleusCMS/NP_TagEX
 function creatTagLink($tag, $narrowMode = 0, $ready = '', $sep = '')
 {
     global $manager, $CONF, $blogid, $catid;
     //, $subcatid;
     $linkparams = array();
     if (is_numeric($blogid)) {
         $blogid = intval($blogid);
     } else {
         $blogid = intval(getBlogIDFromName($blogid));
     }
     if (!$blogid) {
         $blogid = $CONF['DefaultBlog'];
     }
     $b =& $manager->getBlog($blogid);
     if ($narrowMode == 2) {
         if ($catid) {
             $linkparams['catid'] = intval($catid);
         }
         if ($manager->pluginInstalled('NP_MultipleCategories')) {
             $mcategories =& $manager->getPlugin('NP_MultipleCategories');
             if (method_exists($mcategories, 'getRequestName')) {
                 $subrequest = $mcategories->getRequestName();
             } else {
                 $subrequest = 'subcatid';
             }
             $mcategories->event_PreSkinParse(array());
             global $subcatid;
             if ($subcatid) {
                 $linkparams[$subrequest] = intval($subcatid);
             }
         }
     }
     if (!empty($ready)) {
         $ready = rawurldecode($ready);
         $requestTagsArray = $this->splitRequestTags($ready);
         foreach ($requestTagsArray['and'] as $key => $val) {
             if (!$this->_isValidTag($val)) {
                 $trush = array_splice($requestTagsArray['and'], $key, 1);
             }
         }
         $reqAnd = implode('+', $requestTagsArray['and']);
         if (!empty($requestTagsArray['or'])) {
             foreach ($requestTagsArray['or'] as $key => $val) {
                 if (!$this->_isValidTag($val)) {
                     $trush = array_splice($requestTagsArray['and'], $key, 1);
                 }
             }
             $reqOr = ':' . implode(':', $requestTagsArray['or']);
         }
         $ready = $reqAnd . $reqOr;
     }
     if (!$ready) {
         $sep = '';
     }
     $linkparams['tag'] = $ready . $sep . $tag;
     $uri = createBlogidLink($blogid, $linkparams);
     if (strstr($uri, '//')) {
         $uri = preg_replace("@([^:])//@", "\$1/", $uri);
     }
     return $uri;
 }
コード例 #5
0
/**
 * functions for use in index.php
 */
function selectBlog($shortname)
{
    global $blogid, $archivelist;
    if (!$blogid) {
        $blogid = getBlogIDFromName($shortname);
    }
    // also force archivelist variable, if it is set
    if ($archivelist) {
        $archivelist = $blogid;
    }
}
コード例 #6
0
ファイル: ACTIONS.php プロジェクト: hatone/Nucleus-v3.64
 /**
  * Parse skinvar searchform
  */
 function parse_searchform($blogname = '')
 {
     global $CONF, $manager, $maxresults;
     if ($blogname) {
         $blog =& $manager->getBlog(getBlogIDFromName($blogname));
     } else {
         global $blog;
     }
     // use default blog when no blog is selected
     $this->formdata = array('id' => $blog ? $blog->getID() : $CONF['DefaultBlog'], 'query' => htmlspecialchars(getVar('query'), ENT_QUOTES));
     $this->doForm('searchform');
 }
コード例 #7
0
 /**
  *  Checks if a member is admin of a blog
  */
 function _ifAdmin($blogName = '')
 {
     global $blog, $member, $manager;
     $b =& $manager->getBlog(getBlogIDFromItemID($this->currentComment['itemid']));
     // when no blog found
     if ($blogName == '' && !is_object($b)) {
         return 0;
     }
     // explicit blog selection
     if ($blogName != '') {
         $blogid = getBlogIDFromName($blogName);
     }
     if ($blogName == '' || !$manager->existsBlogID($blogid)) {
         // use current blog
         $blogid = $b->getID();
     }
     return $member->isBlogAdmin($blogid);
 }