private function templateSites() { require_once GWF_CORE_PATH . 'module/WeChall/WC_SiteAdmin.php'; require_once GWF_CORE_PATH . 'module/WeChall/WC_SiteCats.php'; require_once GWF_CORE_PATH . 'module/WeChall/WC_SiteDescr.php'; $tag = Common::getGet('tag', ''); if (0 === ($tag_bit = WC_SiteCats::getBitForCat($tag))) { $tag = ''; } $this->setPageDescription($tag); $status_query = $this->getStatusQuery(); $lang_query = $this->getLangQuery(); $tag_query = $this->getTagQuery($tag_bit); $ipp = $this->module->cfgItemsPerPage(); $by = Common::getGet('by', 'site_id'); $dir = Common::getGet('dir', 'DESC'); $page = intval(Common::getGet('page', 1)); $table = GDO::table('WC_Site'); $orderby = $table->getMultiOrderby($by, $dir); $conditions = "({$status_query}) AND ({$lang_query}) AND ({$tag_query})"; $nItems = $table->countRows($conditions); $nPages = GWF_PageMenu::getPagecount($ipp, $nItems); $page = Common::clamp($page, 1, $nPages); $href = $this->getPageMenuHREF(); $tVars = array('sites' => $table->selectObjects('*', $conditions, $orderby, $ipp, GWF_PageMenu::getFrom($page, $ipp)), 'descrs' => WC_SiteDescr::getAllDescr(), 'site_quickjump' => $this->module->templateSiteQuickjumpDetail(), 'pagemenu' => GWF_PageMenu::display($page, $nPages, $href), 'sortURL' => $this->getTableSortURL(), 'which' => intval(Common::getGet('which')), 'tag' => $tag, 'page_title' => $this->pageTitle); return $this->module->templatePHP('sites.php', $tVars); }
private function onCacheSiteTags() { require_once GWF_CORE_PATH . 'module/WeChall/WC_SiteCats.php'; WC_SiteCats::fixCatBits(); $this->fixFavCats(); return $this->templateAdmin(); }
private function templateRanking() { require_once GWF_CORE_PATH . 'module/WeChall/WC_SiteCats.php'; $tag = Common::getGet('tag', self::DEFAULT_TAG); if (0 === ($bit = WC_SiteCats::getBitForCat($tag))) { $bit = 1; $tag = $_GET['tag'] = WC_SiteCats::getCatForBit($bit); } $ipp = 50; $nItems = $this->countItems($bit); list($page, $hlrank) = $this->getPageNum($ipp, $bit); $nPages = GWF_PageMenu::getPagecount($ipp, $nItems); $page = Common::clamp($page, 1, $nPages); $from = GWF_PageMenu::getFrom($page, $ipp); $rank = ($page - 1) * $ipp + 1; $data = $bit === 0 ? array() : $this->selectPage($bit, $from, $ipp); $dtag = GWF_HTML::display($tag); GWF_Website::setPageTitle($this->module->lang('pt_tagrank', array($dtag))); GWF_Website::setMetaTags($this->module->lang('mt_tagrank', array($dtag, $dtag))); GWF_Website::setMetaDescr($this->module->lang('md_tagrank', array($dtag, $page, $nPages))); $tVars = array('rank' => $rank, 'hlrank' => $hlrank, 'sites' => WC_Site::getSimilarSitesS($bit, true), 'data' => $data, 'tag' => $dtag, 'form_action' => GWF_WEB_ROOT . 'category_ranking', 'page_menu' => GWF_PageMenu::display($page, $nPages, GWF_WEB_ROOT . sprintf('category_ranking/%s/page-%%PAGE%%', urlencode($tag))), 'select' => $this->getTagSelect()); return $this->module->templatePHP('ranking_tag.php', $tVars); }
private static function fixChallTags(Module_WeChall $module) { WC_SiteCats::fixCatBits(); $module->cacheChallTags(); return ''; }
private function getCatEnums() { $this->module->includeClass('WC_SiteCats'); $back = array(); $back[] = array('', 'Unknown'); foreach (WC_SiteCats::getAllCats() as $cat) { $back[] = array($cat, $cat); } return $back; }
public function onEdit(WC_Site $site, $is_admin) { $form = $this->getForm($site, $is_admin); if (false !== ($errors = $form->validate($this->module))) { return $errors; } $basescore_changed = $language_changed = $status_changed = $spc_changed = $powarg_changed = false; if ($is_admin) { $basescore_changed = $form->getVar('site_basescore') != $site->getBasescore(); $language_changed = $form->getVar('site_language') !== $site->getLangID(); $status_changed = $form->getVar('site_status') !== $site->getStatus(); $spc_changed = $form->getVar('site_spc') !== $site->getVar('site_spc'); $powarg_changed = $form->getVar('site_powarg') !== $site->getVar('site_powarg'); $site->saveVars(array('site_classname' => $form->getVar('site_classname'), 'site_basescore' => $form->getVar('site_basescore'), 'site_usercount' => $form->getVar('site_usercount'), 'site_challcount' => $form->getVar('site_challcount'), 'site_joindate' => $form->getVar('site_joindate'), 'site_authkey' => $form->getVar('site_authkey'), 'site_status' => $form->getVar('site_status'), 'site_language' => $form->getVar('site_language'), 'site_spc' => $form->getVar('site_spc'), 'site_powarg' => $form->getVar('site_powarg'), 'site_color' => $form->getVar('site_color'))); } $site->saveVars(array('site_name' => $form->getVar('site_name'), 'site_country' => $form->getVar('site_country'), 'site_launchdate' => $form->getVar('site_launchdate'), 'site_xauthkey' => $form->getVar('site_xauthkey'), 'site_irc' => $form->getVar('site_irc'), 'site_url' => $form->getVar('site_url'), 'site_url_mail' => $form->getVar('site_url_mail'), 'site_url_score' => $form->getVar('site_url_score'), 'site_url_profile' => $form->getVar('site_url_profile'))); $site->setVar('site_country', GWF_Country::getByID($form->getVar('site_country'))); $site->setVar('site_language', GWF_Language::getByID($form->getVar('site_language'))); # Update tags if Admin if ($is_admin) { $new_tags = $form->getVar('site_tags'); if ($site->getTags() !== $new_tags) { echo GWF_HTML::message('WeChall', 'Fixing challenge site tags..'); $site->saveVar('site_tags', str_replace(' ', '', $new_tags)); require_once GWF_CORE_PATH . 'module/WeChall/WC_SiteCats.php'; WC_SiteCats::fixCatBits(); } } // $out = $this->onEditWarflag($site, isset($_POST['warenbl'])); $old_linear = $site->isLinear(); $site->saveOption(WC_Site::LINEAR, isset($_POST['linear'])); $linear_changed = $old_linear !== $site->isLinear(); $site->saveOption(WC_Site::NO_URLENCODE, isset($_POST['no_urlencode'])); $site->saveOption(WC_Site::AUTO_UPDATE, isset($_POST['auto_update'])); $site->saveOption(WC_Site::HIDE_BY_DEFAULT, isset($_POST['default_hide'])); $site->saveOption(WC_Site::ONSITE_RANK, isset($_POST['onsite_rank'])); $site->saveOption(WC_Site::NO_V1_SCRIPTS, isset($_POST['no_v1'])); # Trigger warbox config parsing. // if ($site->isWarBox()) // { // // $site->getWarIP(); // Module_WeChall::instance()->flushWarboxConfig(); // } # Recalculate in case of a change // if ($site->isScored()) // { if ($basescore_changed || $language_changed || $status_changed || $powarg_changed || $spc_changed || $linear_changed) { $site->recalcSite(); WC_RegAt::calcTotalscores(); } // } return $this->module->message('msg_site_edited', array($site->displayName())); #.$out; }
public function validate_favcat($m, $v) { return WC_SiteCats::isValidCatName($v) ? false : $m->lang('err_cat'); }