Esempio n. 1
0
 public function alumni_getSearchFrom($andor, $queries, $mids, $mid, $bycat)
 {
     $xoops = Xoops::getInstance();
     $alumni = Alumni::getInstance();
     // create form
     parent::__construct(XoopsLocale::SEARCH, 'alumni', 'search.php', 'get');
     // create form elements
     $this->addElement(new XoopsFormText(XoopsLocale::KEYWORDS, 'query', 30, 255, htmlspecialchars(stripslashes(implode(' ', $queries)), ENT_QUOTES)), true);
     $type_select = new XoopsFormSelect(XoopsLocale::TYPE, 'andor', $andor);
     $type_select->addOptionArray(array('AND' => XoopsLocale::ALL_AND, 'OR' => XoopsLocale::ANY_OR, 'exact' => XoopsLocale::EXACT_MATCH));
     $this->addElement($type_select);
     $by_cat = Request::getInt('by_cat', 0);
     $categoriesHandler = $xoops->getModuleHandler('category', 'alumni');
     $search = Search::getInstance();
     $module_id = $xoops->module->getVar('mid');
     $groups = $xoops->isUser() ? $xoops->user->getGroups() : '3';
     $alumni_ids = $alumni->getGrouppermHandler()->getItemIds('alumni_view', $groups, $module_id);
     $criteria = new CriteriaCompo();
     $criteria->add(new Criteria('cid', '(' . implode(', ', $alumni_ids) . ')', 'IN'));
     $criteria->setOrder($xoops->getModuleConfig('alumni_csortorder'));
     $category_arr = $categoriesHandler->getall($criteria);
     foreach (array_keys($category_arr) as $i) {
         $cid = $category_arr[$i]->getVar('cid');
         $pid = $category_arr[$i]->getVar('pid');
         $title = $category_arr[$i]->getVar('title');
     }
     $categories = $alumni->getCategoryHandler()->getCategoriesForSearch();
     $category_select = new XoopsFormSelect(AlumniLocale::L_ALUMNI_CATEGORIES, 'by_cat', $by_cat);
     foreach ($categories as $cid => $title) {
         $category_select->addOption('0', XoopsLocale::ALL);
         $category_select->addOptionArray(array($cid => $title));
     }
     $this->addElement($category_select);
     if (!empty($mids)) {
         $mods_checkbox = new XoopsFormCheckBox(XoopsLocale::SEARCH_IN, 'mids[]', $mids);
     } else {
         $mods_checkbox = new XoopsFormCheckBox(XoopsLocale::SEARCH_IN, 'mids[]', $mid);
     }
     if (empty($modules)) {
         $gperm_handler = $xoops->getHandlerGroupPermission();
         $available_modules = $gperm_handler->getItemIds('module_read', $xoops->getUserGroups());
         $available_plugins = Xoops\Module\Plugin::getPlugins('search');
         $criteria = new CriteriaCompo();
         $criteria->add(new Criteria('dirname', '(\'' . implode('\',\'', array_keys($available_plugins)) . '\')', 'IN'));
         if (isset($available_modules) && !empty($available_modules)) {
             $criteria->add(new Criteria('mid', '(' . implode(',', $available_modules) . ')', 'IN'));
         }
         $module_handler = $xoops->getHandlerModule();
         $mods_checkbox->addOptionArray($module_handler->getNameList($criteria));
     } else {
         /* @var $module XoopsModule */
         $module_array = array();
         foreach ($modules as $mid => $module) {
             $module_array[$mid] = $module->getVar('name');
         }
         $mods_checkbox->addOptionArray($module_array);
     }
     $this->addElement($mods_checkbox);
     if ($search->getConfig('keyword_min') > 0) {
         $this->addElement(new XoopsFormLabel(XoopsLocale::SEARCH_RULE, sprintf(XoopsLocale::EF_KEYWORDS_MUST_BE_GREATER_THAN, $search->getConfig('keyword_min'))));
     }
     $this->addElement(new XoopsFormHidden('action', 'results'));
     $this->addElement(new XoopsFormHiddenToken('id'));
     $this->addElement(new XoopsFormButton('', 'submit', XoopsLocale::SEARCH, 'submit'));
     return $this;
 }
Esempio n. 2
0
    $dimension = getimagesize($xoops->path($imgPath));
    $tpl->assign('image_width', $dimension[0]);
    $tpl->assign('image_height', $dimension[1]);
    $items = array();
    if ($xoops->isModule()) {
        /* @var $plugin SystemPluginInterface */
        $plugin = Xoops\Module\Plugin::getPlugin($dirname, 'system');
        $res = $plugin->backend(10);
        if (is_array($res) && count($res) > 0) {
            foreach ($res as $item) {
                $date[] = array('date' => $item['date']);
                $items[] = array('date' => XoopsLocale::formatTimestamp($item['date'], 'rss'), 'title' => $myts->htmlSpecialChars($item['title']), 'content' => $myts->htmlSpecialChars($item['content']), 'link' => $item['link'], 'guid' => $item['link']);
            }
        }
    } else {
        $plugins = Xoops\Module\Plugin::getPlugins('system');
        /* @var $plugin SystemPluginInterface */
        foreach ($plugins as $plugin) {
            $res = $plugin->backend(10);
            if (is_array($res) && count($res) > 0) {
                foreach ($res as $item) {
                    $date[] = array('date' => $item['date']);
                    $items[] = array('date' => XoopsLocale::formatTimestamp($item['date'], 'rss'), 'title' => $myts->htmlSpecialChars($item['title']), 'content' => $myts->htmlSpecialChars($item['content']), 'link' => $item['link'], 'guid' => $item['link']);
                }
            }
        }
    }
    array_multisort($date, SORT_DESC, $items);
    $tpl->assign('items', $items);
}
$tpl->display('module:' . $dirname . '/system_rss.tpl');