public function onAddSite() { $form = $this->getForm(); if (false !== ($error = $form->validate($this->module))) { return $error . $this->templateSiteAdd(); } $site = new WC_Site(array('site_status' => 'wanted', 'site_name' => $form->getVar('site_name'), 'site_classname' => $form->getVar('site_classname'), 'site_country' => 0, 'site_language' => 0, 'site_joindate' => GWF_Time::getDate(GWF_Date::LEN_SECOND), 'site_launchdate' => '', 'site_authkey' => GWF_Random::randomKey(32), 'site_xauthkey' => GWF_Random::randomKey(32), 'site_irc' => '', 'site_url' => '', 'site_url_mail' => '', 'site_url_score' => '', 'site_url_profile' => '', 'site_score' => 0, 'site_basescore' => 0, 'site_avg' => 0, 'site_vote_dif' => 0, 'site_vote_fun' => 0, 'site_challcount' => 0, 'site_usercount' => 0, 'site_visit_in' => 0, 'site_visit_out' => 0, 'site_options' => 0, 'site_boardid' => 0, 'site_threadid' => 0, 'site_tags' => '')); if (false === $site->insert()) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } Module_WeChall::includeVotes(); if (false === $site->onCreateVotes()) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } Module_WeChall::includeForums(); if (false === $site->onCreateBoard()) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } if (false === $site->onCreateThread($this->module)) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } require_once GWF_CORE_PATH . 'module/WeChall/WC_SiteDescr.php'; if (false === WC_SiteDescr::insertDescr($site->getID(), 1, 'Please edit me :)')) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } return $this->module->message('msg_site_added'); }
function Upgrade_WeChall_1_04(Module_WeChall $module) { $db = gdo_db(); $sites = GWF_TABLE_PREFIX . 'wc_site'; $query = "ALTER TABLE {$sites} ADD COLUMN site_descr_lid INT(11) UNSIGNED NOT NULL DEFAULT 1"; if (false === $db->queryWrite($query)) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } require_once 'core/module/WeChall/WC_SiteDescr.php'; if (false === GDO::table('WC_SiteDescr')->createTable(true)) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } $patches = array(13 => 5, 43 => 3, 17 => 5); foreach (WC_Site::getSites('site_id ASC') as $site) { $site instanceof WC_Site; $siteid = $site->getID(); $desc = $site->getVar('site_description'); if (isset($patches[$siteid])) { $langid = $patches[$siteid]; } else { $langid = 1; } if (false === WC_SiteDescr::insertDescr($siteid, $langid, $desc)) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } if (false === $site->saveVar('site_descr_lid', $langid)) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } } $query = "ALTER TABLE `{$sites}` DROP `site_description`"; if (false === $db->queryWrite($query)) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } GWF_HTML::message('WC', '[+] Multi Lang Descriptions', true, true); return ''; }
private static function installSiteWeChall(Module_WeChall $module) { if (false !== ($site = WC_Site::getWeChall())) { return ''; } $options = WC_Site::AUTO_UPDATE; $site = new WC_Site(array('site_id' => 1, 'site_status' => WC_Site::UP, 'site_name' => 'WeChall', 'site_classname' => 'WC', 'site_logo_v' => 0, 'site_country' => 0, 'site_language' => GWF_Language::getEnglish()->getID(), 'site_joindate' => '20080218000000', 'site_launchdate' => '20080218', 'site_authkey' => 'iusdgsdgsiog3!s', 'site_xauthkey' => 'rw98t693g!9sg', 'site_irc' => 'irc://irc.idlemonkeys.net#wechall', 'site_url' => 'http://' . GWF_DOMAIN . GWF_WEB_ROOT, 'site_url_mail' => 'index.php?mo=WeChall&me=CrossSite&link=%USERNAME%&email=%EMAIL%&no_session=yes', 'site_url_score' => 'index.php?mo=WeChall&me=CrossSite&score=%USERNAME%&no_session=yes', 'site_url_profile' => 'profile/%USERNAME%', 'site_score' => 0, 'site_basescore' => 10000, 'site_avg' => 0.0, 'site_dif' => 3.0, 'site_fun' => 3.0, 'site_vote_dif' => 0, 'site_vote_fun' => 0, 'site_maxscore' => 0, 'site_challcount' => 0, 'site_usercount' => 0, 'site_linkcount' => 0, 'site_visit_in' => 0, 'site_visit_out' => 0, 'site_options' => $options, 'site_tags' => 'Exploit,Programming,Stegano,Crypto', 'site_boardid' => 0, 'site_threadid' => 0, 'site_tagbits' => 0, 'site_color' => '0000FF')); if (false === $site->onCreateSite($module, $back)) { return $back; } require_once GWF_CORE_PATH . 'module/WeChall/WC_SiteDescr.php'; if (false === WC_SiteDescr::insertDescr($site->getID(), 1, 'Please edit me :)')) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } return ''; }
private function onEdit() { if (false === ($langid = $this->getPostLangID('edit'))) { return GWF_HTML::err('ERR_UNKNOWN_LANGUAGE'); } $form = $this->getFormEdit($langid, ''); if (false !== ($error = $form->validate($this->module))) { return $error; } if (false === WC_SiteDescr::insertDescr($this->site->getID(), $langid, $form->getVar('descr'))) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } return $this->module->message('msg_edit_descr'); }