/** * Create the criteria that will be used by getFriendships * * @param int $start to which record to start * @param int $limit max friendships to display * @param int $friend1_uid only the friendship of this user will be returned * @param int $friend2_uid if specifid, the friendship of these two users will be returned. * @param int $status only get friendships with the specified status * @return icms_db_criteria_Compo $criteria */ private function getFriendshipsCriteria($start = 0, $limit = 0, $friend1_uid = 0, $friend2_uid = 0, $status = 0) { $criteria = new icms_db_criteria_Compo(); if ($start) { $criteria->setStart((int) $start); } if ($limit) { $criteria->setLimit((int) $limit); } $criteria->setSort('creation_time'); $criteria->setOrder('DESC'); if ($status == PROFILE_FRIENDSHIP_STATUS_PENDING && $friend2_uid) { $criteria->add(new icms_db_criteria_Item('status', (int) $status)); $criteria->add(new icms_db_criteria_Item('friend2_uid', (int) $friend2_uid)); } else { if ($status) { $criteria->add(new icms_db_criteria_Item('status', (int) $status)); } if ($friend2_uid > 0) { $criteria->add(new icms_db_criteria_Item('friend1_uid', (int) $friend1_uid)); $criteria->add(new icms_db_criteria_Item('friend2_uid', (int) $friend2_uid)); $criteria->add(new icms_db_criteria_Item('friend1_uid', (int) $friend2_uid), 'OR'); $criteria->add(new icms_db_criteria_Item('friend2_uid', (int) $friend1_uid)); } elseif ($friend1_uid > 0) { $criteria->add(new icms_db_criteria_Item('friend1_uid', (int) $friend1_uid)); $criteria->add(new icms_db_criteria_Item('friend2_uid', (int) $friend1_uid), 'OR'); } if ($status) { $criteria->add(new icms_db_criteria_Item('status', (int) $status)); } } return $criteria; }
/** * Return all categories in an array * * @param int $parentid * @param string $perm_name * @param string $sort * @param string $order * @return array */ public function getAllCategoriesArray($parentid = 0, $perm_name = false, $sort = 'parentid', $order = 'ASC') { if (!$this->allCategoriesObj) { $criteria = new icms_db_criteria_Compo(); $criteria->setSort($sort); $criteria->setOrder($order); $userIsAdmin = is_object(icms::$user) && icms::$user->isAdmin(); if ($perm_name && !$userIsAdmin) { if (!$this->setGrantedObjectsCriteria($criteria, $perm_name)) { return false; } } $this->allCategoriesObj =& $this->getObjects($criteria, 'parentid'); } $ret = array(); if (isset($this->allCategoriesObj[$parentid])) { foreach ($this->allCategoriesObj[$parentid] as $categoryid => $categoryObj) { $ret[$categoryid]['self'] =& $categoryObj->toArray(); if (isset($this->allCategoriesObj[$categoryid])) { $ret[$categoryid]['sub'] =& $this->getAllCategoriesArray($categoryid); $ret[$categoryid]['subcatscount'] = count($ret[$categoryid]['sub']); } } } return $ret; }
/** * Create the criteria that will be used by getPictures and getPicturesCount * * @param int $start to which record to start * @param int $limit limit of pictures to return * @param int $uid_owner if specifid, only the pictures of this user will be returned * @param int $picture_id ID of a single picture to retrieve * @return icms_db_criteria_Compo $criteria */ private function getPicturesCriteria($start = 0, $limit = 0, $uid_owner = false, $picture_id = false) { $module = icms::handler("icms_module")->getByDirname(basename(dirname(dirname(__FILE__))), TRUE); $criteria = new icms_db_criteria_Compo(); if ($start) { $criteria->setStart((int) $start); } if ($limit) { $criteria->setLimit((int) $limit); } $criteria->setSort('creation_time'); if ($module->config['images_order']) { $criteria->setOrder('DESC'); } if (is_object(icms::$user)) { if (icms::$user->getVar('uid') != $uid_owner && !icms::$user->isAdmin()) { $criteria->add(new icms_db_criteria_Item('private', 0)); } } else { $criteria->add(new icms_db_criteria_Item('private', 0)); } if ($uid_owner) { $criteria->add(new icms_db_criteria_Item('uid_owner', (int) $uid_owner)); } if ($picture_id) { $criteria->add(new icms_db_criteria_Item('pictures_id', (int) $picture_id)); } return $criteria; }
/** * Create the criteria that will be used by getAudios and getAudioCount * * @param int $start to which record to start * @param int $limit limit of audio to return * @param int $uid_owner if specifid, only the audio of this user will be returned * @param int $audio_id ID of a single audio to retrieve * @return icms_db_criteria_Compo $criteria */ private function getAudioCriteria($start = 0, $limit = 0, $uid_owner = false, $audio_id = false) { $criteria = new icms_db_criteria_Compo(); if ($start) { $criteria->setStart((int) $start); } if ($limit) { $criteria->setLimit((int) $limit); } if ($uid_owner) { $criteria->add(new icms_db_criteria_Item('uid_owner', (int) $uid_owner)); } if ($audio_id) { $criteria->add(new icms_db_criteria_Item('audio_id', (int) $audio_id)); } $criteria->setSort('creation_time'); $criteria->setOrder('DESC'); return $criteria; }
/** * Create the criteria that will be used by getTopics * * @param int $start to which record to start * @param int $limit limit of topics to return * @param int $topic_id id of the topic * @param int $tribes_id id of the tribe the topic belongs to * @return icms_db_criteria_Compo $criteria */ private function getTopicCriteria($start = 0, $limit = 0, $topic_id = false, $tribes_id = false) { $criteria = new icms_db_criteria_Compo(); if ($start) { $criteria->setStart((int) $start); } if ($limit) { $criteria->setLimit((int) $limit); } $criteria->setSort('last_post_time'); $criteria->setOrder('DESC'); if ($topic_id) { $criteria->add(new icms_db_criteria_Item('topic_id', (int) $topic_id)); } if ($tribes_id) { $criteria->add(new icms_db_criteria_Item('tribes_id', (int) $tribes_id)); } return $criteria; }
/** * Constructor * * @param string $caption * @param string $name * @param mixed $value Pre-selected value (or array of them). * For an item with massive members, such as "Registered Users", "$value" should be used to store selected temporary users only instead of all members of that item * @param bool $include_anon Include user "anonymous"? * @param int $size Number or rows. "1" makes a drop-down-list. * @param bool $multiple Allow multiple selections? */ public function __construct($caption, $name, $include_anon = FALSE, $value = NULL, $size = 1, $multiple = FALSE, $showremovedusers = FALSE, $justremovedusers = FALSE) { $limit = 200; $select_element = new icms_form_elements_Select('', $name, $value, $size, $multiple); if ($include_anon) { $select_element->addOption(0, $GLOBALS['icmsConfig']['anonymous']); } $member_handler = icms::handler('icms_member'); $user_count = $member_handler->getUserCount(); $value = is_array($value) ? $value : (empty($value) ? array() : array($value)); if ($user_count > $limit && count($value) > 0) { $criteria = new icms_db_criteria_Compo(new icms_db_criteria_Item("uid", "(" . implode(",", $value) . ")", "IN")); } else { $criteria = new icms_db_criteria_Compo(); $criteria->setLimit($limit); } $criteria->setSort('uname'); if (!$showremovedusers) { $criteria->add(new icms_db_criteria_Item('level', '-1', '!=')); } elseif ($showremovedusers && $justremovedusers) { $criteria->add(new icms_db_criteria_Item('level', '-1')); } $criteria->setOrder('ASC'); $users = $member_handler->getUserList($criteria); $select_element->addOptionArray($users); if ($user_count <= $limit) { parent::__construct($caption, "", $name); $this->addElement($select_element); return; } icms_loadLanguageFile('core', 'findusers'); $js_addusers = "<script type=\"text/javascript\">\r\n\t\t\t\t\tfunction addusers(opts){\r\n\t\t\t\t\t\tvar num = opts.substring(0, opts.indexOf(\":\"));\r\n\t\t\t\t\t\topts = opts.substring(opts.indexOf(\":\")+1, opts.length);\r\n\t\t\t\t\t\tvar sel = xoopsGetElementById(\"" . $name . ($multiple ? "[]" : "") . "\");\r\n\t\t\t\t\t\tvar arr = new Array(num);\r\n\t\t\t\t\t\tfor (var n=0; n < num; n++) {\r\n\t\t\t\t\t\t\tvar nm = opts.substring(0, opts.indexOf(\":\"));\r\n\t\t\t\t\t\t\topts = opts.substring(opts.indexOf(\":\")+1, opts.length);\r\n\t\t\t\t\t\t\tvar val = opts.substring(0, opts.indexOf(\":\"));\r\n\t\t\t\t\t\t\topts = opts.substring(opts.indexOf(\":\")+1, opts.length);\r\n\t\t\t\t\t\t\tvar txt = opts.substring(0, nm - val.length);\r\n\t\t\t\t\t\t\topts = opts.substring(nm - val.length, opts.length);\r\n\t\t\t\t\t\t\tvar added = false;\r\n\t\t\t\t\t\t\tfor (var k = 0; k < sel.options.length; k++) {\r\n\t\t\t\t\t\t\t\tif (sel.options[k].value == val){\r\n\t\t\t\t\t\t\t\t\tadded = true;\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (added == false) {\r\n\t\t\t\t\t\t\t\tsel.options[k] = new Option(txt, val);\r\n\t\t\t\t\t\t\t\tsel.options[k].selected = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t</script>"; $token = icms::$security->createToken(); $action_tray = new icms_form_elements_Tray("", " | "); $action_tray->addElement(new icms_form_elements_Label('', "<a href='#' onclick='var sel = xoopsGetElementById(\"" . $name . ($multiple ? "[]" : "") . "\");for (var i = sel.options.length-1; i >= 0; i--) {if (!sel.options[i].selected) {sel.options[i] = null;}}; return false;'>" . _MA_USER_REMOVE . "</a>")); $action_tray->addElement(new icms_form_elements_Label('', "<a href='#' onclick='openWithSelfMain(\"" . ICMS_URL . "/include/findusers.php?target={$name}&multiple={$multiple}&token={$token}\", \"userselect\", 800, 600, null); return false;' >" . _MA_USER_MORE . "</a>" . $js_addusers)); parent::__construct($caption, '<br /><br />', $name); $this->addElement($select_element); $this->addElement($action_tray); }
/** * Create the criteria that will be used by getPosts * * @param int $start to which record to start * @param int $limit limit of posts to return * @param int $post_id id of the post * @param int $topic_id id of the topic the post belongs to * @param int $tribes_id id of the tribe the topic / post belongs to * @param string $order sort order for the result list * @return icms_db_criteria_Compo $criteria */ private function getPostCriteria($start = 0, $limit = 0, $post_id = false, $topic_id = false, $tribes_id = false, $order = 'ASC') { $criteria = new icms_db_criteria_Compo(); if ($start) { $criteria->setStart((int) $start); } if ($limit) { $criteria->setLimit((int) $limit); } $criteria->setSort('post_id'); $criteria->setOrder($order); if ($post_id) { $criteria->add(new icms_db_criteria_Item('post_id', (int) $post_id)); } if ($topic_id) { $criteria->add(new icms_db_criteria_Item('topic_id', (int) $topic_id)); } if ($tribes_id) { $criteria->add(new icms_db_criteria_Item('tribes_id', (int) $tribes_id)); } return $criteria; }
/** * Create the criteria that will be used by getVisitors * * @param int $start to which record to start * @param int $limit limit of tribes to return * @param int $uid_owner if specifid, only the tribes of this user will be returned * @param int $uid_visitor if specified, only the records with the specified user as a visitor will be returned * @param int $visit_time if specified, only records with a visit time greater than the specified on will be returned * @return icms_db_criteria_Compo $criteria */ private function getVisitorsCriteria($start = 0, $limit = 0, $uid_owner = false, $uid_visitor = false, $visit_time = false) { $criteria = new icms_db_criteria_Compo(); if ($start) { $criteria->setStart((int) $start); } if ($limit) { $criteria->setLimit((int) $limit); } $criteria->setSort('visit_time'); $criteria->setOrder('DESC'); if ($uid_owner) { $criteria->add(new icms_db_criteria_Item('uid_owner', (int) $uid_owner)); } if ($uid_visitor) { $criteria->add(new icms_db_criteria_Item('uid_visitor', (int) $uid_visitor)); } if ($visit_time) { $criteria->add(new icms_db_criteria_Item('visit_time', $visit_time, '>=')); } return $criteria; }
/** * Get the top {@link icms_data_comment_Object}s * * @param int $module_id * @param int $item_id * @param strint $order * @param int $status * * @return array Array of {@link icms_data_comment_Object} objects **/ public function getTopComments($module_id, $item_id, $order, $status = null) { $criteria = new icms_db_criteria_Compo(new icms_db_criteria_Item('com_modid', (int) $module_id)); $criteria->add(new icms_db_criteria_Item('com_itemid', (int) $item_id)); $criteria->add(new icms_db_criteria_Item('com_pid', 0)); if (isset($status)) { $criteria->add(new icms_db_criteria_Item('com_status', (int) $status)); } $criteria->setOrder($order); return $this->getObjects($criteria); }
public function downWeight($bid) { $blockObj = $this->get($bid); $criteria = new icms_db_criteria_Compo(); $criteria->setLimit(1); $criteria->setSort('weight'); $criteria->setOrder('ASC'); $criteria->add(new icms_db_criteria_Item('side', $blockObj->vars['side']['value'])); $criteria->add(new icms_db_criteria_Item('weight', $blockObj->getVar('weight'), '>')); $sideBlocks = $this->getObjects($criteria); $weight = (is_array($sideBlocks) && count($sideBlocks) == 1) ? $sideBlocks[0]->getVar('weight') + 1 : $blockObj->getVar('weight') + 1; $blockObj->setVar('weight', $weight); $this->insert($blockObj, TRUE); }
/** * Displays user information form * */ function displayUsers() { global $icmsConfig, $icmsModule, $icmsConfigUser; $userstart = isset($_GET['userstart']) ? (int) $_GET['userstart'] : 0; icms_cp_header(); echo '<div class="CPbigTitle" style="background-image: url(' . ICMS_MODULES_URL . '/system/admin/users/images/users_big.png)">' . _MD_AM_USER . '</div><br />'; $member_handler = icms::handler('icms_member'); $usercount = $member_handler->getUserCount(new icms_db_criteria_Item('level', '-1', '!=')); $nav = new icms_view_PageNav($usercount, 200, $userstart, 'userstart', 'fct=users'); $editform = new icms_form_Theme(_AM_EDEUSER, 'edituser', 'admin.php'); $user_select = new icms_form_elements_Select('', 'uid'); $criteria = new icms_db_criteria_Compo(); $criteria->add(new icms_db_criteria_Item('level', '-1', '!=')); $criteria->setSort('uname'); $criteria->setOrder('ASC'); $criteria->setLimit(200); $criteria->setStart($userstart); $user_select->addOptionArray($member_handler->getUserList($criteria)); $user_select_tray = new icms_form_elements_Tray(_AM_NICKNAME, '<br />'); $user_select_tray->addElement($user_select); $user_select_nav = new icms_form_elements_Label('', $nav->renderNav(4)); $user_select_tray->addElement($user_select_nav); $op_select = new icms_form_elements_Select('', 'op'); $op_select->addOptionArray(array('modifyUser'=>_AM_MODIFYUSER, 'delUser'=>_AM_DELUSER)); $submit_button = new icms_form_elements_Button('', 'submit', _AM_GO, 'submit'); $fct_hidden = new icms_form_elements_Hidden('fct', 'users'); $editform->addElement($user_select_tray); $editform->addElement($op_select); $editform->addElement($submit_button); $editform->addElement($fct_hidden); $editform->display(); echo "<br />\n"; $usercount = $member_handler->getUserCount(new icms_db_criteria_Item('level', '-1')); $nav = new icms_view_PageNav($usercount, 200, $userstart, 'userstart', 'fct=users'); $editform = new icms_form_Theme(_AM_REMOVED_USERS, 'edituser', 'admin.php'); $user_select = new icms_form_elements_Select('', 'uid'); $criteria = new icms_db_criteria_Compo(); $criteria->add(new icms_db_criteria_Item('level', '-1')); $criteria->setSort('uname'); $criteria->setOrder('ASC'); $criteria->setLimit(200); $criteria->setStart($userstart); $user_select->addOptionArray($member_handler->getUserList($criteria)); $user_select_tray = new icms_form_elements_Tray(_AM_NICKNAME, '<br />'); $user_select_tray->addElement($user_select); $user_select_nav = new icms_form_elements_Label('', $nav->renderNav(4)); $user_select_tray->addElement($user_select_nav); $op_select = new icms_form_elements_Select('', 'op'); $op_select->addOptionArray(array('modifyUser'=>_AM_MODIFYUSER)); $submit_button = new icms_form_elements_Button('', 'submit', _AM_GO, 'submit'); $fct_hidden = new icms_form_elements_Hidden('fct', 'users'); $editform->addElement($user_select_tray); $editform->addElement($op_select); $editform->addElement($submit_button); $editform->addElement($fct_hidden); $editform->display(); echo "<br />\n"; $uid_value = ''; $uname_value = ''; $login_name_value = ''; $name_value = ''; $email_value = ''; $email_cbox_value = 0; $openid_value = ''; $openid_cbox_value = 0; $url_value = ''; $timezone_value = $icmsConfig['default_TZ']; $icq_value = ''; $aim_value = ''; $yim_value = ''; $msnm_value = ''; $location_value = ''; $occ_value = ''; $interest_value = ''; $sig_value = ''; $sig_cbox_value = 0; $umode_value = $icmsConfig['com_mode']; $uorder_value = $icmsConfig['com_order']; include_once ICMS_INCLUDE_PATH .'/notification_constants.php'; $notify_method_value = XOOPS_NOTIFICATION_METHOD_PM; $notify_mode_value = XOOPS_NOTIFICATION_MODE_SENDALWAYS; $bio_value = ''; $rank_value = 0; $mailok_value = 0; $pass_expired_value = 0; $op_value = 'addUser'; $form_title = _AM_ADDUSER; $form_isedit = FALSE; $language_value = $icmsConfig['language']; $groups = array(XOOPS_GROUP_USERS); include ICMS_MODULES_PATH . '/system/admin/users/userform.php'; icms_cp_footer(); }
/** * create list of categories for table filter * * @return array list of categories */ public function getCategoriesArray() { if (!$this->_categoriesArray) { $profile_category_handler = icms_getModuleHandler('category', basename(dirname(dirname(__FILE__))), 'profile'); $criteria = new icms_db_criteria_Compo(); $criteria->setSort('cat_title'); $criteria->setOrder('ASC'); $categories = $profile_category_handler->getObjects($criteria); foreach ($categories as $category) { $this->_categoriesArray[$category->getVar('catid')] = $category->getVar('cat_title'); } } return $this->_categoriesArray; }
/** * Get all Tribes ordered by title * * @return array of all tribes orderd by title */ public function getAllTribes() { if (is_array($this->_allTribes)) { return $this->_allTribes; } $this->_allTribes = array(); $criteria = new icms_db_criteria_Compo(); $criteria->setSort('title'); $criteria->setOrder('ASC'); $tribes = $this->getObjects($criteria, true, false); foreach ($tribes as $tribe) { $this->_allTribes[$tribe['tribes_id']] = $tribe['title']; } return $this->_allTribes; }
/** * Gets the content pages * * @param bool $showsubs Show subitems related to this item (recursive!) * @param string $sort Order the pages by weight * @param string $order The sort direction * @param int $content_id The content ID * @param int $relateds Show related items * @return array $pages The array with pages in a certain weight, order and with related id's */ function getPages($showsubs = true, $sort = 'content_weight', $order = 'ASC', $content_id = 0, $relateds = 0) { $groups = is_object(icms::$user) ? icms::$user->getGroups() : array(ICMS_GROUP_ANONYMOUS); $uid = is_object(icms::$user) ? icms::$user->getVar('uid') : 0; $content_handler =& icms_getModuleHandler('content', basename(dirname(dirname(__FILE__))), 'content'); $module = icms::handler('icms_module')->getByDirname(basename(dirname(dirname(__FILE__)))); $criteria = new icms_db_criteria_Compo(new icms_db_criteria_Item('content_status', 1)); if (!$relateds) { $criteria->add(new icms_db_criteria_Item('content_pid', $content_id)); } else { $criteria->add(new icms_db_criteria_Item('short_url', $content_id, 'LIKE')); $criteria->add(new icms_db_criteria_Item('content_id', $content_id), 'OR'); } $crit = new icms_db_criteria_Compo(new icms_db_criteria_Item('content_visibility', 1)); $crit->add(new icms_db_criteria_Item('content_visibility', 3), 'OR'); $criteria->add($crit); $criteria->setSort($sort); $criteria->setOrder($order); $impress_content = $content_handler->getObjects($criteria); $i = 0; $pages = array(); foreach ($impress_content as $content) { if (icms::handler('icms_member_groupperm')->checkRight('content_read', $content->getVar('content_id'), $groups, $module->getVar('mid'))) { $pages[$i]['title'] = $content->getVar('content_title'); $pages[$i]['menu'] = $content_handler->makeLink($content); if ($showsubs) { $subs = getPages($showsubs, $sort, $order, $content->getVar('content_id')); if (count($subs) > 0) { $pages[$i]['hassubs'] = 1; $pages[$i]['subs'] = $subs; } else { $pages[$i]['hassubs'] = 0; } } $i++; } } return $pages; }
/** * Gets selected type current events for current user * * @param int $ type * @return Object */ public function getTasks() { $criteria = new icms_db_criteria_Compo(); $criteria->setSort('sat_lastruntime'); $criteria->setOrder('ASC'); $criteria->add( new icms_db_criteria_Item('(sat_lastruntime + sat_interval)', time(), '<=', NULL, "%s" )); $criteria->add( new icms_db_criteria_Item('sat_repeat', 0, '>=', NULL, "'%s'")); $criteria->add( new icms_db_criteria_Item('sat_enabled', 1)); $rez = $this->getObjects($criteria, FALSE); return $rez; }
/** * Shows The latest comments * * @param array $options The block options * @return array $block the block array */ function b_system_comments_show($options) { $block = array(); include_once ICMS_ROOT_PATH . '/include/comment_constants.php'; $comment_handler = icms::handler('icms_data_comment'); $criteria = new icms_db_criteria_Compo(new icms_db_criteria_Item('com_status', XOOPS_COMMENT_ACTIVE)); $criteria->setLimit((int) $options[0]); $criteria->setSort('com_created'); $criteria->setOrder('DESC'); // Check modules permissions $moduleperm_handler = icms::handler('icms_member_groupperm'); $gperm_groupid = is_object(icms::$user) ? icms::$user->getGroups() : array(XOOPS_GROUP_ANONYMOUS); $criteria1 = new icms_db_criteria_Compo(new icms_db_criteria_Item('gperm_name', 'module_read', '=')); $criteria1->add(new icms_db_criteria_Item('gperm_groupid', '(' . implode(',', $gperm_groupid) . ')', 'IN')); $perms = $moduleperm_handler->getObjects($criteria1, TRUE); $modIds = array(); foreach ($perms as $item) { $modIds[] = $item->getVar('gperm_itemid'); } if (count($modIds) > 0) { $modIds = array_unique($modIds); $criteria->add(new icms_db_criteria_Item('com_modid', '(' . implode(',', $modIds) . ')', 'IN')); } // Check modules permissions $comments = $comment_handler->getObjects($criteria, TRUE); $member_handler = icms::handler('icms_member'); $module_handler = icms::handler('icms_module'); $modules = $module_handler->getObjects(new icms_db_criteria_Item('hascomments', 1), TRUE); $comment_config = array(); foreach (array_keys($comments) as $i) { $mid = $comments[$i]->getVar('com_modid'); $com['module'] = '<a href="' . ICMS_MODULES_URL . '/' . $modules[$mid]->getVar('dirname') . '/">' . $modules[$mid]->getVar('name') . '</a>'; if (!isset($comment_config[$mid])) { $comment_config[$mid] = $modules[$mid]->getInfo('comments'); } $com['id'] = $i; $com['title'] = '<a href="' . ICMS_MODULES_URL . '/' . $modules[$mid]->getVar('dirname') . '/' . $comment_config[$mid]['pageName'] . '?' . $comment_config[$mid]['itemName'] . '=' . $comments[$i]->getVar('com_itemid') . '&com_id=' . $i . '&com_rootid=' . $comments[$i]->getVar('com_rootid') . '&' . htmlspecialchars($comments[$i]->getVar('com_exparams')) . '#comment' . $i . '">' . $comments[$i]->getVar('com_title') . '</a>'; $com['icon'] = htmlspecialchars($comments[$i]->getVar('com_icon'), ENT_QUOTES); $com['icon'] = ($com['icon'] != '') ? $com['icon'] : 'icon1.gif'; $com['time'] = formatTimestamp($comments[$i]->getVar('com_created'), 'm'); if ($comments[$i]->getVar('com_uid') > 0) { $poster =& $member_handler->getUser($comments[$i]->getVar('com_uid')); if (is_object($poster)) { $com['poster'] = '<a href="' . ICMS_URL . '/userinfo.php?uid=' . $comments[$i]->getVar('com_uid') . '">' . $poster->getVar('uname') . '</a>'; } else { $com['poster'] = $GLOBALS['icmsConfig']['anonymous']; } } else { $com['poster'] = $GLOBALS['icmsConfig']['anonymous']; } $block['comments'][] =& $com; unset($com); } return $block; }
/** * Create the criteria that will be used by getContents and getContentsCount * * @param int $start to which record to start * @param int $limit limit of contents to return * @param int $content_uid if specifid, only the content of this user will be returned * @param int $cid if specifid, only the content related to this category will be returned * @param int $year of contents to display * @param int $month of contents to display * @param int $content_id ID of a single content to retrieve * @return icms_db_criteria_Compo $criteria */ public function getContentsCriteria($start = 0, $limit = 0, $content_uid = false, $content_tags = false, $content_id = false, $content_pid = false, $order = 'content_published_date', $sort = 'DESC') { $criteria = new icms_db_criteria_Compo(); if ($start) { $criteria->setStart($start); } if ($limit) { $criteria->setLimit((int) $limit); } $criteria->setSort($order); $criteria->setOrder($sort); $criteria->add(new icms_db_criteria_Item('content_status', CONTENT_CONTENT_STATUS_PUBLISHED)); if ($content_uid) { $criteria->add(new icms_db_criteria_Item('content_uid', $content_uid)); } if ($content_tags) { $criteria->add(new icms_db_criteria_Item('content_tags', '%' . $content_tags . '%', 'LIKE')); } if ($content_id) { $crit = new icms_db_criteria_Compo(new icms_db_criteria_Item('short_url', $content_id, 'LIKE')); $alt_content_id = str_replace('-', ' ', $content_id); //Added for backward compatiblity in case short_url contains spaces instead of dashes. $crit->add(new icms_db_criteria_Item('short_url', $alt_content_id), 'OR'); $crit->add(new icms_db_criteria_Item('content_id', $content_id), 'OR'); $criteria->add($crit); } if ($content_pid !== false) { $criteria->add(new icms_db_criteria_Item('content_pid', $content_pid)); } return $criteria; }