/** * * @brief notify that item waits for certification, was manually certified, * was manually rejected or was automatically certified. * * @param[in] $item_id item id * @param[in] $index_id index id * @param[in] $subject subject of notification * @param[in] $template_name template file name of notification */ function xoonips_notification_item_certify($item_id, $index_id, $subject, $template_name) { $index_handler =& xoonips_getormhandler('xoonips', 'index'); $index = $index_handler->get($index_id); if ($index->get('open_level') == OL_PUBLIC) { $uids = xoonips_notification_get_moderator_uids(); } else { if ($index->get('open_level') == OL_GROUP_ONLY) { // get uids of group admin $xg_handler =& xoonips_gethandler('xoonips', 'group'); $uids = $xg_handler->getUserIds($index->get('gid'), true); } else { // private index return; } } $tags = xoonips_notification_get_item_tags($item_id); $tags['INDEX_PATH'] = xoonips_notification_get_index_path_string($index_id); $tags['ITEM_CERTIFY_URL'] = XOOPS_URL . '/modules/xoonips/certify.php'; $nhandler =& xoonips_gethandler('xoonips', 'notification'); $nhandler->triggerEvent2('administrator', 0, 'item_certify', $subject, $nhandler->getTemplateDirByMid(), $template_name, $tags, $uids); }
function get_notify_uids($item_id) { global $xoopsDB; $result = array(); $index_item_link_handler =& xoonips_getormhandler('xoonips', 'index_item_link'); $links = $index_item_link_handler->getByItemid($item_id, array(OL_PUBLIC)); if (is_array($links) && count($links) > 0) { $result = xoonips_notification_get_moderator_uids(); } $links = $index_item_link_handler->getByItemid($item_id, array(OL_GROUP_ONLY)); if (!is_array($links) && count($links) == 0) { return $result; } foreach ($links as $link) { $index_handler =& xoonips_getormhandler('xoonips', 'index'); $join = new XooNIpsJoinCriteria('xoonips_groups_users_link', 'gid', 'gid', 'INNER', 'tgul'); $criteria = new CriteriaCompo(new Criteria('index_id', $link->get('index_id'))); $criteria->add(new Criteria('is_admin', 1)); $rows =& $index_handler->getObjects($criteria, false, 'tgul.uid', true, $join); foreach ($rows as $row) { $result[] = $row->get('uid'); } } return $result; }