コード例 #1
0
ファイル: smiley.php プロジェクト: redmexico/XoopsCore
 public function getSmilies($start = 0, $limit = 0, $asobject = true)
 {
     $criteria = new CriteriaCompo();
     $criteria->setSort('smiley_id');
     $criteria->setOrder('ASC');
     $criteria->setStart($start);
     $criteria->setLimit($limit);
     return parent::getAll($criteria, false, $asobject);
 }
コード例 #2
0
ファイル: image.php プロジェクト: ming-hai/XoopsCore
 public function getByCategory($imgcat_id, $start = 0, $limit = 0, $asobject = true)
 {
     $criteria = new CriteriaCompo();
     $criteria->add(new Criteria('imgcat_id', $imgcat_id));
     $criteria->setSort('image_weight');
     $criteria->setOrder('ASC');
     $criteria->setStart($start);
     $criteria->setLimit($limit);
     return parent::getObjects($criteria, null, $asobject);
 }
コード例 #3
0
ファイル: category.php プロジェクト: redmexico/XoopsCore
 /**
  * @param CriteriaElement|null $criteria
  * @param bool $id_as_key
  *
  * @return array
  */
 public function getPermittedObjects($criteria = null, $start = 0, $limit = 0, $id_as_key = false, $asobject = true)
 {
     $this->table_link = $this->db2->prefix('system_permission');
     if (isset($criteria)) {
         $criteria = new CriteriaCompo($criteria);
     } else {
         $criteria = new CriteriaCompo();
     }
     $criteria->setSort('o.imgcat_weight, o.imgcat_id');
     $criteria->setOrder('ASC');
     $criteria->setStart($start);
     $criteria->setLimit($limit);
     return parent::getByLink($criteria, null, $asobject, 'gperm_itemid', 'imgcat_id');
 }
コード例 #4
0
ファイル: file.php プロジェクト: ming-hai/XoopsCore
 /**
  * retrieve all files
  *
  * @param int     $itemid
  * @param int     $status
  * @param int     $limit
  * @param int     $start
  * @param string  $sort
  * @param string  $order
  * @param array   $category
  *
  * @return array array of {@link PublisherFile} objects
  */
 public function &getAllFiles($itemid = 0, $status = -1, $limit = 0, $start = 0, $sort = 'datesub', $order = 'DESC', $category = array())
 {
     $this->table_link = $this->db2->prefix('publisher_items');
     $this->field_object = 'itemid';
     $this->field_link = 'itemid';
     $hasStatusCriteria = false;
     $criteriaStatus = new CriteriaCompo();
     if (is_array($status)) {
         $hasStatusCriteria = true;
         foreach ($status as $v) {
             $criteriaStatus->add(new Criteria('o.status', $v), 'OR');
         }
     } elseif ($status != -1) {
         $hasStatusCriteria = true;
         $criteriaStatus->add(new Criteria('o.status', $status), 'OR');
     }
     $hasCategoryCriteria = false;
     $criteriaCategory = new CriteriaCompo();
     $category = (array) $category;
     if (count($category) > 0 && $category[0] != 0) {
         $hasCategoryCriteria = true;
         foreach ($category as $cat) {
             $criteriaCategory->add(new Criteria('l.categoryid', $cat), 'OR');
         }
     }
     $criteriaItemid = new Criteria('o.itemid', $itemid);
     $criteria = new CriteriaCompo();
     if ($itemid != 0) {
         $criteria->add($criteriaItemid);
     }
     if ($hasStatusCriteria) {
         $criteria->add($criteriaStatus);
     }
     if ($hasCategoryCriteria) {
         $criteria->add($criteriaCategory);
     }
     $criteria->setSort($sort);
     $criteria->setOrder($order);
     $criteria->setLimit($limit);
     $criteria->setStart($start);
     $files = $this->getByLink($criteria, array('o.*'), true);
     return $files;
 }
コード例 #5
0
ファイル: main.php プロジェクト: redmexico/XoopsCore
 $admin_page = new \Xoops\Module\Admin();
 $admin_page->addBreadcrumbLink(SystemLocale::CONTROL_PANEL, \XoopsBaseConfig::get('url') . '/admin.php', true);
 $admin_page->addBreadcrumbLink(SystemLocale::GROUPS_MANAGER, $system->adminVersion('groups', 'adminpath'));
 $admin_page->addBreadcrumbLink(XoopsLocale::MAIN);
 $admin_page->addItemButton(SystemLocale::ADD_NEW_GROUP, 'admin.php?fct=groups&op=groups_add', 'add');
 $admin_page->addTips(SystemLocale::GROUPS_TIPS_1);
 $admin_page->renderBreadcrumb();
 $admin_page->renderTips();
 $admin_page->renderButton();
 // Get start pager
 $start = $system->cleanVars($_REQUEST, 'start', 0, 'int');
 // Criteria
 $criteria = new CriteriaCompo();
 $criteria->setSort("groupid");
 $criteria->setOrder("ASC");
 $criteria->setStart($start);
 $criteria->setLimit($nb_group);
 $groups_arr = $groups_handler->getAll($criteria);
 // Count group
 $groups_count = count($groups_arr);
 // Assign Template variables
 $xoops->tpl()->assign('groups_count', $groups_count);
 /* @var $group XoopsGroup */
 foreach ($groups_arr as $group) {
     $groups_id = $group->getVar("groupid");
     $groups['groups_id'] = $groups_id;
     $groups['name'] = $group->getVar("name");
     $groups['description'] = $group->getVar("description");
     $member_handler = $xoops->getHandlerMember();
     if ($groups_id != 3) {
         $group_id_arr[0] = $groups_id;
コード例 #6
0
ファイル: category.php プロジェクト: ming-hai/XoopsCore
 /**
  * @param int    $limit
  * @param int    $start
  * @param int    $parentid
  * @param string $sort
  * @param string $order
  * @param bool   $id_as_key
  *
  * @return array
  */
 public function &getCategories($limit = 0, $start = 0, $parentid = 0, $sort = 'weight', $order = 'ASC', $id_as_key = true)
 {
     $xoops = Xoops::getInstance();
     $ret = array();
     $criteria = new CriteriaCompo();
     $criteria->setSort($sort);
     $criteria->setOrder($order);
     if ($parentid != -1) {
         $criteria->add(new Criteria('parentid', $parentid));
     }
     if (!PublisherUtils::IsUserAdmin()) {
         $categoriesGranted = $this->publisher->getPermissionHandler()->getGrantedItems('category_read');
         if (count($categoriesGranted) > 0) {
             $criteria->add(new Criteria('categoryid', '(' . implode(',', $categoriesGranted) . ')', 'IN'));
         } else {
             return $ret;
         }
         if ($xoops->isUser()) {
             $criteria->add(new Criteria('moderator', $xoops->user->getVar('uid')), 'OR');
         }
     }
     $criteria->setStart($start);
     $criteria->setLimit($limit);
     $ret = $this->getObjects($criteria, $id_as_key);
     return $ret;
 }
コード例 #7
0
ファイル: item.php プロジェクト: ming-hai/XoopsCore
 /**
  * @param array  $queryarray
  * @param string $andor
  * @param int    $limit
  * @param int    $offset
  * @param int    $userid
  * @param array  $categories
  * @param int    $sortby
  * @param string $searchin
  * @param string $extra
  *
  * @return array
  */
 public function getItemsFromSearch($queryarray = array(), $andor = 'AND', $limit = 0, $offset = 0, $userid = 0, $categories = array(), $sortby = 0, $searchin = "", $extra = "")
 {
     $xoops = Xoops::getInstance();
     $ret = array();
     $gperm_handler = $xoops->getHandlerGroupPermission();
     $groups = $xoops->getUserGroups();
     $searchin = empty($searchin) ? array("title", "body", "summary") : (is_array($searchin) ? $searchin : array($searchin));
     if (in_array("all", $searchin) || count($searchin) == 0) {
         $searchin = array("title", "subtitle", "body", "summary", "meta_keywords");
     }
     if (is_array($userid) && count($userid) > 0) {
         $userid = array_map("intval", $userid);
         $criteriaUser = new CriteriaCompo();
         $criteriaUser->add(new Criteria('uid', '(' . implode(',', $userid) . ')', 'IN'), 'OR');
     } elseif (is_numeric($userid) && $userid > 0) {
         $criteriaUser = new CriteriaCompo();
         $criteriaUser->add(new Criteria('uid', $userid), 'OR');
     }
     $count = count($queryarray);
     if (is_array($queryarray) && $count > 0) {
         $criteriaKeywords = new CriteriaCompo();
         for ($i = 0; $i < count($queryarray); ++$i) {
             $criteriaKeyword = new CriteriaCompo();
             if (in_array('title', $searchin)) {
                 $criteriaKeyword->add(new Criteria('title', '%' . $queryarray[$i] . '%', 'LIKE'), 'OR');
             }
             if (in_array('subtitle', $searchin)) {
                 $criteriaKeyword->add(new Criteria('subtitle', '%' . $queryarray[$i] . '%', 'LIKE'), 'OR');
             }
             if (in_array('body', $searchin)) {
                 $criteriaKeyword->add(new Criteria('body', '%' . $queryarray[$i] . '%', 'LIKE'), 'OR');
             }
             if (in_array('summary', $searchin)) {
                 $criteriaKeyword->add(new Criteria('summary', '%' . $queryarray[$i] . '%', 'LIKE'), 'OR');
             }
             if (in_array('meta_keywords', $searchin)) {
                 $criteriaKeyword->add(new Criteria('meta_keywords', '%' . $queryarray[$i] . '%', 'LIKE'), 'OR');
             }
             $criteriaKeywords->add($criteriaKeyword, $andor);
             unset($criteriaKeyword);
         }
     }
     if (!PublisherUtils::IsUserAdmin() && count($categories) > 0) {
         $criteriaPermissions = new CriteriaCompo();
         // Categories for which user has access
         $categoriesGranted = $gperm_handler->getItemIds('category_read', $groups, $this->publisher->getModule()->getVar('mid'));
         if (count($categories) > 0) {
             $categoriesGranted = array_intersect($categoriesGranted, $categories);
         }
         if (count($categoriesGranted) == 0) {
             return $ret;
         }
         $grantedCategories = new Criteria('categoryid', "(" . implode(',', $categoriesGranted) . ")", 'IN');
         $criteriaPermissions->add($grantedCategories, 'AND');
     } elseif (count($categories) > 0) {
         $criteriaPermissions = new CriteriaCompo();
         $grantedCategories = new Criteria('categoryid', "(" . implode(',', $categories) . ")", 'IN');
         $criteriaPermissions->add($grantedCategories, 'AND');
     }
     $criteriaItemsStatus = new CriteriaCompo();
     $criteriaItemsStatus->add(new Criteria('status', _PUBLISHER_STATUS_PUBLISHED));
     $criteria = new CriteriaCompo();
     if (!empty($criteriaUser)) {
         $criteria->add($criteriaUser, 'AND');
     }
     if (!empty($criteriaKeywords)) {
         $criteria->add($criteriaKeywords, 'AND');
     }
     if (!empty($criteriaPermissions)) {
         $criteria->add($criteriaPermissions);
     }
     if (!empty($criteriaItemsStatus)) {
         $criteria->add($criteriaItemsStatus, 'AND');
     }
     $criteria->setLimit($limit);
     $criteria->setStart($offset);
     if (empty($sortby)) {
         $sortby = "datesub";
     }
     $criteria->setSort($sortby);
     $order = 'ASC';
     if ($sortby === "datesub") {
         $order = 'DESC';
     }
     $criteria->setOrder($order);
     $ret = $this->getItemObjects($criteria);
     return $ret;
 }