<?php require_once "../../phplib/util.php"; set_time_limit(0); // If no GET arguments are set, print usage and return. if (count($_GET) == 0) { SmartyWrap::addCss('polar'); SmartyWrap::displayWithoutSkin('update3Instructions.tpl'); return; } util_enforceGzipEncoding(); header('Content-type: text/xml'); $export = util_getRequestParameter('export'); $timestamp = util_getRequestIntParameter('timestamp'); $version = util_getRequestParameterWithDefault('version', '3.0'); if ($export && util_isDesktopBrowser() && !session_getUser()) { SmartyWrap::display('bits/updateError.tpl'); exit; } if ($export == 'sources') { SmartyWrap::assign('sources', Model::factory('Source')->find_many()); SmartyWrap::displayWithoutSkin('xml/update3Sources.tpl'); } else { if ($export == 'inflections') { SmartyWrap::assign('inflections', Model::factory('Inflection')->order_by_asc('id')->find_many()); SmartyWrap::displayWithoutSkin('xml/update3Inflections.tpl'); } else { if ($export == 'abbrev') { SmartyWrap::assign('abbrev', AdminStringUtil::loadRawAbbreviations()); SmartyWrap::displayWithoutSkin('xml/update3Abbrev.tpl'); } else {
<?php require_once "../phplib/util.php"; $TODAY = date("Y-m-d"); $FOLDER = util_getRootPath() . '/wwwbase/download/xmldump'; $URL = 'http://dexonline.ro/download/xmldump'; if (count($_GET) == 0) { util_redirect("http://wiki.dexonline.ro/wiki/Update4Instructions"); } $lastDump = getLastDumpDate($TODAY, $FOLDER); smarty_assign('lastDump', $lastDump); smarty_assign('url', $URL); $lastClientUpdate = util_getRequestParameterWithDefault('last', '0'); if ($lastClientUpdate == '0') { // Dump the freshest full dump we have // TODO: return an error if there is no full dump smarty_assign('serveFullDump', true); $lastClientUpdate = $lastDump; } smarty_assign('diffs', getDiffsBetween($lastClientUpdate, $TODAY, $FOLDER)); header('Content-type: text/xml'); print smarty_fetch('common/update4.ihtml'); /**************************************************************************/ // Do not return a dump for today, in case it is still being built function getLastDumpDate($today, $folder) { $files = scandir($folder, 1); // descending foreach ($files as $file) { $matches = array(); if (preg_match('/^(\\d\\d\\d\\d-\\d\\d-\\d\\d)-abbrevs.xml.gz$/', $file, $matches)) {
<?php require_once "../../phplib/util.php"; util_assertModerator(PRIV_EDIT); util_assertNotMirror(); util_hideEmptyRequestParameters(); DebugInfo::disable(); $modelType = util_getRequestParameterWithDefault('modelType', 'M'); $submitButton = util_getRequestParameter('submitButton'); if ($submitButton) { $lexemsToDelete = array(); foreach ($_REQUEST as $name => $value) { if (StringUtil::startsWith($name, 'merge_') && $value) { $parts = preg_split('/_/', $name); assert(count($parts) == 3); assert($parts[0] == 'merge'); $src = Lexem::get_by_id($parts[1]); $dest = Lexem::get_by_id($parts[2]); // Merge $src into $dest $defs = Definition::loadByLexemId($src->id); foreach ($defs as $def) { LexemDefinitionMap::associate($dest->id, $def->id); } // Add $dest to LOC if $src is in LOC if ($src->isLoc() && !$dest->isLoc()) { $lm = $dest->getFirstLexemModel(); $lm->isLoc = true; $lm->save(); } // Delay the deletion because we might have to merge $src with other lexems. $lexemsToDelete[] = $src;
function util_getRequestParameter($name) { return util_getRequestParameterWithDefault($name, NULL); }
<?php require_once "../phplib/util.php"; util_assertModerator(PRIV_ADMIN); $userIds = util_getRequestParameter('userIds'); $newNick = util_getRequestParameter('newNick'); $newCheckboxes = util_getRequestParameterWithDefault("newPriv", array()); $submitButton = util_getRequestParameter('submitButton'); if ($submitButton) { foreach ($userIds as $userId) { $checkboxes = util_getRequestParameterWithDefault("priv_{$userId}", array()); $user = User::get_by_id($userId); $user->moderator = array_sum($checkboxes); $user->save(); } if ($newNick) { $user = User::get_by_nick($newNick); if ($user) { $user->moderator = array_sum($newCheckboxes); $user->save(); } else { FlashMessage::add("Numele de utilizator „{$newNick}” nu există"); util_redirect("moderatori"); } } FlashMessage::add('Modificările au fost salvate', 'info'); util_redirect("moderatori"); } smarty_assign('page_title', 'Moderatori'); smarty_assign('users', Model::factory('User')->where_not_equal('moderator', 0)->order_by_asc('nick')->find_many()); smarty_displayCommonPageWithSkin('moderatori.ihtml');
$sourceId = util_getRequestParameter('id'); $submitButton = util_getRequestParameter('submitButton'); $src = $sourceId ? Source::get_by_id($sourceId) : Model::factory('Source')->create(); if ($submitButton) { $src->name = util_getRequestParameter("name"); $src->shortName = util_getRequestParameter("shortName"); $src->urlName = util_getRequestParameter("urlName"); $src->author = util_getRequestParameter("author"); $src->publisher = util_getRequestParameter("publisher"); $src->year = util_getRequestParameter("year"); $src->link = util_getRequestParameter("link"); $src->isActive = util_getRequestParameterWithDefault("isActive", 0); $src->isOfficial = util_getRequestParameterWithDefault("isOfficial", 0); $src->canContribute = util_getRequestParameterWithDefault("canContribute", 0); $src->canModerate = util_getRequestParameterWithDefault("canModerate", 0); $src->canDistribute = util_getRequestParameterWithDefault("canDistribute", 0); $src->defCount = util_getRequestIntParameter("defCount"); if (validate($src)) { // For new sources, set displayOrder to the highest available + 1 if (!$sourceId) { $src->displayOrder = Model::factory('Source')->count() + 1; } $src->updatePercentComplete(); $src->save(); FlashMessage::add('Modificările au fost salvate', 'info'); util_redirect("editare-sursa?id={$src->id}"); } } SmartyWrap::assign('src', $src); SmartyWrap::assign('page_title', $sourceId ? "Editare sursă {$src->shortName}" : "Adăugare sursă"); SmartyWrap::addCss('jqueryui');
<?php require_once "../phplib/util.php"; setlocale(LC_ALL, "ro_RO.utf8"); define('limit_freq', 1); define('easy', 0.8); define('normal', 0.6); define('hard', 0.4); define('imp', 0.2); $difficulty = util_getRequestParameterWithDefault('d', 0); switch ($difficulty) { case 0: $minFreq = easy; $maxFreq = limit_freq; break; case 1: $minFreq = normal; $maxFreq = easy; break; case 2: $minFreq = hard; $maxFreq = normal; break; default: $minFreq = imp; $maxFreq = hard; } $count = Model::factory('Lexem')->where_gte('frequency', $minFreq)->where_lte('frequency', $maxFreq)->where_raw('char_length(formUtf8General) > 5')->count(); do { $lexem = Model::factory('Lexem')->where_gte('frequency', $minFreq)->where_lte('frequency', $maxFreq)->where_raw('char_length(formUtf8General) > 5')->limit(1)->offset(rand(0, $count - 1))->find_one(); // Select an official definition for this lexem.
<?php require_once "../phplib/util.php"; $sendButton = util_getRequestParameter('send'); $user = session_getUser(); if ($sendButton) { $detailsVisible = util_getRequestParameterWithDefault('detailsVisible', 0); $userPrefs = util_getRequestCheckboxArray('userPrefs', ','); $skin = util_getRequestParameter('skin'); $widgets = util_getRequestParameter('widgets'); Preferences::set($user, $detailsVisible, $userPrefs, $skin, array_sum($widgets)); FlashMessage::add('Preferințele au fost salvate.', 'info'); util_redirect('preferinte'); } $detailsVisible = Preferences::getDetailsVisible($user); $userPrefs = Preferences::getUserPrefs($user); $skin = Preferences::getSkin($user); $widgets = Preferences::getWidgets($user); SmartyWrap::assign('detailsVisible', $detailsVisible); SmartyWrap::assign('userPrefs', $userPrefs); SmartyWrap::assign('skin', $skin); SmartyWrap::assign('availableSkins', Config::get('global.skins')); SmartyWrap::assign('privilegeNames', $PRIV_NAMES); SmartyWrap::assign('widgets', $widgets); SmartyWrap::display('preferinte.tpl');
{ $word = Model::factory('DefinitionSimple')->select('d.lexicon')->join('Definition', 'd.id = definitionId', 'd')->where('definitionId', $defId)->find_one(); return $word->lexicon; } function getSimpleDefinitionsForLexemIds($lexemIds) { $defIds = Model::factory('LexemDefinitionMap')->select('DefinitionId')->distinct()->where_in('LexemId', $lexemIds)->find_many(); $defIds = array_map(function ($def) { return $def->DefinitionId; }, $defIds); $defs = Model::factory('DefinitionSimple')->where_in('DefinitionId', $defIds)->find_many(); return $defs; } $difficulty = util_getRequestParameterWithDefault('d', 0); $logAnswerId = util_getRequestParameterWithDefault('answerId', 0); $logGuessed = util_getRequestParameterWithDefault('guessed', 0); if ($logAnswerId != 0) { $log = Model::factory('DefinitionSimple')->select('*')->where('id', $logAnswerId)->find_one(); $log->millShown++; $log->millGuessed = $log->millGuessed + $logGuessed; $log->save(); } $count = Model::factory('DefinitionSimple')->count(); $chosenDef = rand(0, $count - 1); $answer = rand(1, 4); $maindef = Model::factory('DefinitionSimple')->limit(1)->offset($chosenDef)->find_one(); $word = getWordForDefitionId($maindef->definitionId); $options = array(); $options[$answer] = array(); $options[$answer]['term'] = getWordForDefitionId($maindef->definitionId); $options[$answer]['text'] = $maindef->getDisplayValue();