<?php require_once "../../phplib/util.php"; util_assertNotMirror(); util_assertNotLoggedIn(); $token = util_getRequestParameter('token'); $identity = util_getRequestParameter('identity'); $pt = PasswordToken::get_by_token($token); $data = FileCache::get($identity); if (!$pt) { FlashMessage::add('Ați introdus un cod de recuperare incorect.'); } else { if ($pt->createDate < time() - 24 * 3600) { FlashMessage::add('Codul de recuperare introdus a expirat.'); } else { if (!$data) { FlashMessage::add('Ați introdus o identitate incorectă.'); } else { $user = User::get_by_id($pt->userId); if (!$user) { FlashMessage::add('Ați introdus un cod de recuperare incorect.'); } else { if ($user->identity) { FlashMessage::add('Acest cont a fost deja revendicat de o identitate OpenID.'); } else { FlashMessage::add('Contul dumneavoastră a fost recuperat și unificat cu identitatea OpenID.', 'info'); session_login($user, $data); } } } }
<?php require_once "../phplib/util.php"; $submitButton = util_getRequestParameter('submitButton'); if ($submitButton) { util_assertModerator(PRIV_ADMIN); $order = 1; $ids = util_getRequestParameter("ids"); foreach ($ids as $id) { $src = Source::get_by_id($id); $src->displayOrder = $order++; $src->save(); } FlashMessage::add('Ordinea a fost salvată.', 'info'); util_redirect('surse'); } $sources = util_isModerator(PRIV_VIEW_HIDDEN) ? Model::factory('Source')->order_by_asc('displayOrder')->find_many() : Model::factory('Source')->where_not_equal('isOfficial', SOURCE_TYPE_HIDDEN)->order_by_asc('displayOrder')->find_many(); smarty_assign('sources', $sources); smarty_assign('page_title', 'Surse'); smarty_displayCommonPageWithSkin('surse.ihtml');
<?php require_once "../../phplib/util.php"; util_assertModerator(PRIV_ADMIN); util_assertNotMirror(); $MAX_AFFECTED = 1000; $search = util_getRequestParameter('search'); $replace = util_getRequestParameter('replace'); $sourceId = util_getRequestParameter('source'); $realRun = util_getRequestParameter('realRun'); $sourceClause = $sourceId ? "and sourceId = {$sourceId}" : ''; $count = Model::factory('Definition')->where_raw("status = 0 {$sourceClause} and binary internalRep like '%{$search}%'")->count(); if ($count > $MAX_AFFECTED) { if ($realRun) { FlashMessage::add("{$count} definiții se potrivesc, numai {$MAX_AFFECTED} au fost modificate.", 'info'); } else { FlashMessage::add("{$count} definiții se potrivesc, maxim {$MAX_AFFECTED} vor fi modificate."); } } $defs = Model::factory('Definition')->where_raw("status = 0 {$sourceClause} and binary internalRep like '%{$search}%'")->order_by_asc('id')->limit($MAX_AFFECTED)->find_many(); $searchResults = SearchResult::mapDefinitionArray($defs); foreach ($defs as $def) { $def->internalRep = str_replace($search, $replace, $def->internalRep); $ambiguousMatches = array(); $def->internalRep = AdminStringUtil::internalizeDefinition($def->internalRep, $def->sourceId, $ambiguousMatches); $def->htmlRep = AdminStringUtil::htmlize($def->internalRep, $def->sourceId); // Complete or un-complete the abbreviation review if (!count($ambiguousMatches) && $def->abbrevReview == ABBREV_AMBIGUOUS) { $def->abbrevReview = ABBREV_REVIEW_COMPLETE; } else { if (count($ambiguousMatches) && $def->abbrevReview == ABBREV_REVIEW_COMPLETE) {
<?php require_once "../phplib/util.php"; // Parse or initialize the GET/POST arguments $nick = util_getRequestParameter('n'); $medalSaveButton = util_getRequestParameter('medalSaveButton'); $userId = util_getRequestParameter('userId'); $medalsGranted = util_getRequestParameter('medalsGranted'); if ($medalSaveButton) { util_assertModerator(PRIV_ADMIN); $user = User::get_by_id($userId); $user->medalMask = Medal::getCanonicalMask(array_sum($medalsGranted)); $user->save(); util_redirect(util_getWwwRoot() . "utilizator/{$user->nick}"); } $user = User::get_by_nick($nick); if (!$user) { FlashMessage::add('Utilizatorul ' . htmlspecialchars($nick) . ' nu există.'); util_redirect(util_getWwwRoot()); } $userData = array(); $user->email = StringUtil::scrambleEmail($user->email); // Find the rank of this user by number of words and number of characters $topWords = TopEntry::getTopData(CRIT_WORDS, SORT_DESC, true); $numUsers = count($topWords); $rankWords = 0; while ($rankWords < $numUsers && $topWords[$rankWords]->userNick != $nick) { $rankWords++; } $userData['rank_words'] = $rankWords + 1; if ($rankWords < $numUsers) {
<?php require_once "../../phplib/util.php"; $query = util_getRequestParameter('query'); $field = StringUtil::hasDiacritics($query) ? 'formNoAccent' : 'formUtf8General'; $dbResults = Model::factory('InflectedForm')->table_alias('iff')->select('iff.id')->select('iff.form')->select('l.form', 'baseForm')->select('lm.modelType')->select('lm.modelNumber')->select('lm.restriction')->select('i.description')->join('LexemModel', ['iff.lexemModelId', '=', 'lm.id'], 'lm')->join('Lexem', ['lm.lexemId', '=', 'l.id'], 'l')->join('Inflection', ['iff.inflectionId', '=', 'i.id'], 'i')->where_like("iff.{$field}", "{$query}%")->order_by_asc('iff.formNoAccent')->limit(20)->find_many(); $resp = array('results' => array()); foreach ($dbResults as $rec) { $resp['results'][] = ['id' => $rec->id, 'form' => $rec->form, 'baseForm' => $rec->baseForm, 'model' => "{$rec->modelType}{$rec->modelNumber}{$rec->restriction}", 'inflection' => $rec->description]; } print json_encode($resp);
<?php require_once "../../phplib/util.php"; util_assertModerator(PRIV_EDIT); util_assertNotMirror(); $typoId = util_getRequestParameter('id'); $typo = Typo::get_by_id($typoId); if ($typo) { $typo->delete(); }
<?php require_once "../phplib/util.php"; setlocale(LC_ALL, "ro_RO.utf8"); DebugInfo::disable(); $locVersion = util_getRequestParameter('locVersion'); $modelType = util_getRequestParameter('modelType'); $modelNumber = util_getRequestParameter('modelNumber'); $locVersions = pref_getLocVersions(); if ($locVersion && $modelType && $modelNumber) { smarty_assign('selectedLocVersion', $locVersion); smarty_assign('selectedModelType', $modelType); smarty_assign('selectedModelNumber', $modelNumber); LocVersion::changeDatabase($locVersion); if ($modelNumber == -1) { $modelsToDisplay = FlexModel::loadByType($modelType); } else { $modelsToDisplay = array(Model::factory('FlexModel')->where('modelType', $modelType)->where('number', $modelNumber)->find_one()); } $lexems = array(); $paradigms = array(); foreach ($modelsToDisplay as $m) { // Load by canonical model, so if $modelType is V, look for a lexem with type V or VT. $l = Model::factory('Lexem')->select('Lexem.*')->join('ModelType', 'modelType = code')->where('canonical', $modelType)->where('modelNumber', $m->number)->where('form', $m->exponent)->limit(1)->find_one(); if ($l) { $paradigm = getExistingForms($l->id, $locVersion); } else { $l = Lexem::create($m->exponent, $modelType, $m->number, ''); $l->isLoc = true; $paradigm = getNewForms($l, $locVersion); }
<?php require_once "../phplib/util.php"; require_once "../phplib/ads/adsModule.php"; $cuv = util_getRequestParameter('cuv'); $lexemId = util_getRequestParameter('lexemId'); $defId = util_getRequestParameter('defId'); $sourceUrlName = util_getRequestParameter('source'); $text = util_getRequestIntParameter('text'); $showParadigm = util_getRequestParameter('showParadigm'); $xml = util_getRequestParameter('xml'); $redirect = session_getWithDefault('redirect', false); $redirectFrom = session_getWithDefault('init_word', ''); session_unsetVariable('redirect'); session_unsetVariable('init_word'); if ($cuv) { $cuv = StringUtil::cleanupQuery($cuv); } util_redirectToFriendlyUrl($cuv, $sourceUrlName, $text, $showParadigm, $xml); $searchType = SEARCH_INFLECTED; $hasDiacritics = session_user_prefers('FORCE_DIACRITICS'); $exclude_unofficial = session_user_prefers('EXCLUDE_UNOFFICIAL'); $hasRegexp = FALSE; $isAllDigits = FALSE; $showParadigm = $showParadigm || session_user_prefers('SHOW_PARADIGM'); $paradigmLink = $_SERVER['REQUEST_URI'] . ($showParadigm ? '' : '/paradigma'); $source = $sourceUrlName ? Source::get_by_urlName($sourceUrlName) : null; $sourceId = $source ? $source->id : null; if ($cuv) { smarty_assign('cuv', $cuv); $arr = StringUtil::analyzeQuery($cuv);
<?php require_once "../../phplib/util.php"; $lexemId = util_getRequestParameter('lexemId'); $defs = Definition::loadByLexemId($lexemId); $results = array(); foreach ($defs as $def) { $htmlRep = str_replace("\n", ' ', $def->htmlRep); $source = Source::get_by_id($def->sourceId); $results[] = array('id' => $def->id, 'shortName' => $source->shortName, 'status' => $def->getStatusName(), 'htmlRep' => $htmlRep); } SmartyWrap::assign('results', $results); SmartyWrap::displayWithoutSkin('ajax/getDefinitionsForLexem.tpl');
<?php require_once "../phplib/util.php"; ini_set('max_execution_time', '3600'); define('DB_QUERY', 'select * from Lexem where isLoc order by formNoAccent'); $locVersion = util_getRequestParameter('locVersion'); $newLocVersion = util_getRequestParameter('newLocVersion'); if ($newLocVersion) { if ($locVersion == $newLocVersion) { FlashMessage::add('Ați selectat aceeași versiune LOC de două ori'); util_redirect('scrabble-loc'); } $file1 = tempnam('/tmp', 'loc_diff_'); $file2 = tempnam('/tmp', 'loc_diff_'); writeLexems($locVersion, $file1); writeLexems($newLocVersion, $file2); $diff = OS::executeAndReturnOutput("diff {$file1} {$file2} || true"); print "<pre>\n"; foreach ($diff as $line) { if (StringUtil::startsWith($line, '< ')) { print sprintf("<span style=\"color: red\">%s: %s</span>\n", $locVersion, substr($line, 2)); } else { if (StringUtil::startsWith($line, '> ')) { print sprintf("<span style=\"color: green\">%s: %s</span>\n", $newLocVersion, substr($line, 2)); } } } print "</pre>\n"; util_deleteFile($file1); util_deleteFile($file2); exit;
$ifs = $lexem->generateParadigm(); $mdMap = ModelDescription::getByModelIdMapByInflectionIdVariantApplOrder($model->id); $forms = array(); foreach ($inflections as $infl) { $forms[$infl->id] = array(); } foreach ($ifs as $if) { $forms[$if->inflectionId][] = array('form' => $if->form, 'isLoc' => $mdMap[$if->inflectionId][$if->variant][0]->isLoc, 'recommended' => $mdMap[$if->inflectionId][$if->variant][0]->recommended); } $participleNumber = $modelType == 'V' ? ParticipleModel::loadByVerbModel($modelNumber)->adjectiveModel : ''; if ($previewButton || $confirmButton) { // Load the new forms and exponent; $newModelNumber = util_getRequestParameter('newModelNumber'); $newExponent = util_getRequestParameter('newExponent'); $newDescription = util_getRequestParameter('newDescription'); $newParticipleNumber = util_getRequestParameter('newParticipleNumber'); $newForms = array(); foreach ($inflections as $infl) { $newForms[$infl->id] = array(); } readRequest($newForms); } else { $newModelNumber = $modelNumber; $newExponent = $exponent; $newDescription = $model->description; $newParticipleNumber = $participleNumber; $newForms = $forms; } $exponentAccentAdded = $exponent != $newExponent && str_replace("'", '', $newExponent) == $exponent; $exponentChanged = $exponent != $newExponent && !$exponentAccentAdded; $errorMessage = array();
<?php require_once "../../phplib/util.php"; util_assertNotMirror(); util_assertNotLoggedIn(); $loginType = util_getRequestParameter('loginType'); $nickOrEmail = util_getRequestParameter('nickOrEmail'); $password = util_getRequestParameter('password'); $nick = util_getRequestParameter('nick'); $randString = util_getRequestParameter('randString'); $data = FileCache::get($randString); if (!$data) { FlashMessage::add('A apărut o eroare la autentificare. Vă rugăm încercați din nou.'); } else { if ($loginType == 0) { $user = Model::factory('User')->where('password', md5($password))->where_raw("(email = '{$nickOrEmail}' or nick = '{$nickOrEmail}')")->find_one(); if (!$user) { FlashMessage::add('Numele de utilizator sau parola sunt incorecte.'); } else { if ($user->identity) { FlashMessage::add('Acest utilizator a fost deja revendicat de un alt OpenID.'); } else { session_login($user, $data); } } } else { $openidNick = $loginType == 1 ? $data['fullname'] : ($loginType == 2 ? $data['nickname'] : $nick); $user = User::get_by_nick($openidNick); if ($user) { FlashMessage::add('Acest nume de utilizator este deja luat.'); } else {
<?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"; util_assertModerator(PRIV_EDIT); util_assertNotMirror(); $submitButton = util_getRequestParameter('submitButton'); if ($submitButton) { foreach ($_REQUEST as $name => $position) { if (StringUtil::startsWith($name, 'position_')) { $parts = preg_split('/_/', $name); assert(count($parts) == 2); assert($parts[0] == 'position'); $lexem = Lexem::get_by_id($parts[1]); $noAccent = util_getRequestParameter('noAccent_' . $lexem->id); if ($noAccent) { $lexem->noAccent = 1; $lexem->save(); } else { if ($position != -1) { $lexem->form = mb_substr($lexem->form, 0, $position) . "'" . mb_substr($lexem->form, $position); $lexem->save(); foreach ($lexem->getLexemModels() as $lm) { $lm->regenerateParadigm(); } } } } } util_redirect("placeAccents.php"); } $chars = array();
<?php require_once "../../phplib/util.php"; util_assertNotMirror(); util_assertNotLoggedIn(); $error = util_getRequestParameter('error'); $errorDescription = util_getRequestParameter('error_description'); $code = util_getRequestParameter('code'); $state = util_getRequestParameter('state'); $provider = session_get('openid_connect_provider'); try { $oidc = new OpenIDConnect($provider); if ($error) { throw new OpenIDException($errorDescription); } if (!$code || !$state || $state != session_get('openid_connect_state')) { throw new OpenIDException('Răspuns incorect de la server'); } if (!$provider) { throw new OpenIDException('Sesiune coruptă'); } $token = $oidc->requestToken($code); $data = $oidc->getUserInfo($token); if (!isset($data['sub'])) { throw new OpenIDException('Date incorecte de la furnizor'); } } catch (OpenIDException $e) { FlashMessage::add('Eroare la autentificare: ' . $e->getMessage()); util_redirect('login.php'); } // With OpenID connect, the user is uniquely identified by (provider, sub).
<?php require_once "../phplib/util.php"; require_once "../phplib/userPreferences.php"; util_assertNotLoggedIn(); $sendButton = util_getRequestParameter('send'); if ($sendButton) { $userPrefs = util_getRequestCheckboxArray('userPrefs', ','); $skin = util_getRequestParameter('skin'); session_setAnonymousPrefs($userPrefs); if (session_isValidSkin($skin)) { session_setSkin($skin); } FlashMessage::add('Preferințele au fost salvate.', 'info'); util_redirect('preferinte'); } else { $userPrefs = session_getAnonymousPrefs(); $skin = session_getSkin(); } foreach (preg_split('/,/', $userPrefs) as $pref) { if (isset($userPreferencesSet[$pref])) { $userPreferencesSet[$pref]['checked'] = true; } } smarty_assign('userPrefs', $userPreferencesSet); smarty_assign('skin', $skin); smarty_assign('availableSkins', pref_getServerPreference('skins')); smarty_assign('page_title', 'Preferințe'); smarty_displayCommonPageWithSkin('preferinte.ihtml');
<?php require_once "../../phplib/util.php"; util_assertModerator(PRIV_EDIT); util_assertNotMirror(); $reportId = util_getRequestParameter('report'); switch ($reportId) { case 'unassociatedLexems': echo count(Lexem::loadUnassociated()); break; case 'unassociatedDefinitions': echo Definition::countUnassociated(); break; case 'definitionsWithTypos': echo Model::factory('Typo')->select('definitionId')->distinct()->count(); break; case 'temporaryDefinitions': echo Definition::countByStatus(ST_PENDING); break; case 'temporaryLexems': echo Model::factory('Lexem')->where('modelType', 'T')->count(); break; case 'lexemsWithComments': echo Model::factory('Lexem')->where_not_equal('comment', '')->count(); break; case 'lexemsWithoutAccents': echo Model::factory('Lexem')->where_raw("form not rlike '\\''")->where('noAccent', false)->count(); break; case 'wotd': echo Model::factory('WordOfTheDay')->count(); break;
<?php require_once "../../phplib/util.php"; $locVersion = util_getRequestParameter('locVersion'); $canonical = util_getRequestParameter('canonical'); LocVersion::changeDatabase($locVersion); if ($canonical) { $modelTypes = ModelType::loadCanonical(); } else { $modelTypes = Model::factory('ModelType')->order_by_asc('code')->find_many(); } $resp = array(); foreach ($modelTypes as $m) { $resp[] = array('code' => $m->code, 'description' => $m->description); } print json_encode($resp);
<?php require_once "../../phplib/util.php"; util_assertModerator(PRIV_EDIT); util_assertNotMirror(); RecentLink::createOrUpdate('Greșeli de tipar'); $sourceClause = ''; $sourceId = 0; $sourceUrlName = util_getRequestParameter('source'); if ($sourceUrlName) { $source = $sourceUrlName ? Source::get_by_urlName($sourceUrlName) : null; $sourceId = $source ? $source->id : 0; $sourceClause = $source ? "sourceId = {$sourceId} and " : ''; SmartyWrap::assign('src_selected', $sourceId); } $defs = Model::factory('Definition')->raw_query("select * from Definition where {$sourceClause} id in (select definitionId from Typo) order by lexicon")->find_many(); SmartyWrap::assign('searchResults', SearchResult::mapDefinitionArray($defs)); SmartyWrap::assign('recentLinks', RecentLink::loadForUser()); SmartyWrap::displayAdminPage('admin/viewTypos.tpl');
<?php require_once "../../phplib/util.php"; util_assertModerator(PRIV_EDIT); util_assertNotMirror(); $form = util_getRequestParameter('form'); $sourceId = util_getRequestParameter('source'); $loc = util_getRequestParameter('loc'); $paradigm = util_getRequestParameter('paradigm'); $structStatus = util_getRequestParameter('structStatus'); $nick = util_getRequestParameter('nick'); $searchButton = util_getRequestParameter('searchButton'); if (!$searchButton) { util_redirect('index.php'); } $where = array(); $joins = array(); // Process the $form argument $form = StringUtil::cleanupQuery($form); list($hasDiacritics, $hasRegexp, $ignored) = StringUtil::analyzeQuery($form); $field = $hasDiacritics ? 'formNoAccent' : 'formUtf8General'; if ($hasRegexp) { $fieldValue = StringUtil::dexRegexpToMysqlRegexp($form); } else { $fieldValue = "= '{$form}'"; } $where[] = "{$field} {$fieldValue}"; // Process the $sourceId argument if ($sourceId) { $joins['definition'] = true; $where[] = "sourceId = {$sourceId}";
if (StringUtil::startsWith($name, 'lexem_')) { $parts = preg_split('/_/', $name); assert(count($parts) == 2); assert($parts[0] == 'lexem'); $lexem = Lexem::get_by_id($parts[1]); if ($modelId) { $parts = preg_split('/_/', $modelId); assert(count($parts) == 2); $lm = $lexem->getFirstLexemModel(); $lm->modelType = $parts[0]; $lm->modelNumber = $parts[1]; $lm->restriction = util_getRequestParameter('restr_' . $lexem->id); $lm->save(); $lm->regenerateParadigm(); } else { $lexem->comment = util_getRequestParameter('comment_' . $lexem->id); $lexem->save(); } } } util_redirect("bulkLabel.php?suffix={$suffix}"); } $reverseSuffix = StringUtil::reverse($suffix); RecentLink::createOrUpdate("Etichetare asistată: -{$suffix}"); $numLabeled = Model::factory('Lexem')->table_alias('l')->join('LexemModel', 'lm.lexemId = l.id', 'lm')->where_not_equal('lm.modelType', 'T')->where_like('l.reverse', "{$reverseSuffix}%")->count(); // Collect all the models that appear in at least 5% of the already // labeled lexems. Always select at least one model, in the unlikely case // that no model has over 5%. $models = array(); $hasInvariableModel = false; $dbResult = db_execute("select canonical, modelNumber, count(*) as c " . "from Lexem " . "join LexemModel on lexemId = Lexem.id " . "join ModelType on modelType = code " . "where modelType != 'T' " . "and reverse like '{$reverseSuffix}%' " . "group by canonical, modelNumber " . "order by c desc", PDO::FETCH_ASSOC);
<?php require_once "../../phplib/util.php"; ini_set('max_execution_time', '3600'); util_assertModerator(PRIV_LOC); util_assertNotMirror(); DebugInfo::disable(); $modelType = util_getRequestParameter('modelType'); $modelNumber = util_getRequestParameter('modelNumber'); $deleteButton = util_getRequestParameter('deleteButton'); $model = Model::factory('FlexModel')->where('modelType', $modelType)->where('number', $modelNumber)->find_one(); $lexems = Lexem::loadByCanonicalModel($modelType, $modelNumber); if ($deleteButton) { foreach ($lexems as $lexem) { $lexem->modelType = 'T'; $lexem->modelNumber = '1'; $lexem->restriction = ''; $lexem->save(); $lexem->regenerateParadigm(); } $model->delete(); util_redirect('../admin/index.php'); exit; } RecentLink::createOrUpdate("Ștergere model: {$model}"); smarty_assign('modelType', $modelType); smarty_assign('modelNumber', $modelNumber); smarty_assign('lexems', $lexems); smarty_assign('recentLinks', RecentLink::loadForUser()); smarty_displayWithoutSkin('flex/deleteModel.ihtml');
<?php require_once "../phplib/util.php"; define('TYPE_SHOW_ONLY_VERBS', 'conjugare'); define('TYPE_SHOW_NO_VERBS', 'declinare'); $cuv = util_getRequestParameter('cuv'); $lexemId = util_getRequestParameter('lexemId'); $ajax = util_getRequestParameter('ajax'); $type = util_getRequestParameter('type'); $searchType = SEARCH_INFLECTED; $arr = StringUtil::analyzeQuery($cuv); $hasDiacritics = session_user_prefers(Preferences::FORCE_DIACRITICS) || $arr[0]; // LexemId search if ($lexemId) { $searchType = SEARCH_LEXEM_ID; SmartyWrap::assign('lexemId', $lexemId); if (!StringUtil::validateAlphabet($lexemId, '0123456789')) { $lexemId = ''; } $lexem = Lexem::get_by_id($lexemId); if ($lexem) { $lexems = array($lexem); $cuv = $lexem->formNoAccent; } else { $lexems = array(); $cuv = NULL; } } if ($lexemId) { SmartyWrap::assign('paradigmLink', util_getWwwRoot() . "lexem/{$cuv}/{$lexemId}/paradigma"); } else {
<?php require_once "../../phplib/util.php"; ini_set('max_execution_time', '3600'); ini_set('memory_limit', '256M'); util_assertModerator(PRIV_LOC); util_assertNotMirror(); DebugInfo::disable(); $modelType = util_getRequestParameter('modelType'); $modelNumber = util_getRequestParameter('modelNumber'); $newModelNumber = util_getRequestParameter('newModelNumber'); $chooseLexems = util_getRequestParameter('chooseLexems'); $lexemModelIds = util_getRequestParameter('lexemModelId'); $cloneButton = util_getRequestParameter('cloneButton'); $errorMessages = array(); if ($cloneButton) { // Disallow duplicate model numbers $m = FlexModel::loadCanonicalByTypeNumber($modelType, $newModelNumber); if ($m) { $errorMessages[] = "Modelul {$modelType}{$newModelNumber} există deja."; } if (!$newModelNumber) { $errorMessages[] = "Numărul modelului nu poate fi vid."; } if (!count($errorMessages)) { // Clone the model $model = Model::factory('FlexModel')->where('modelType', $modelType)->where('number', $modelNumber)->find_one(); $cloneModel = FlexModel::create($modelType, $newModelNumber, "Clonat după {$modelType}{$modelNumber}", $model->exponent); $cloneModel->save(); // Clone the model descriptions $mds = Model::factory('ModelDescription')->where('modelId', $model->id)->order_by_asc('inflectionId')->order_by_asc('variant')->order_by_asc('applOrder')->find_many();
require_once '../../phplib/util.php'; util_assertModerator(PRIV_VISUAL); util_assertNotMirror(); RecentLink::createOrUpdate('Etichetare Imagini Definiții'); $fileName = util_getRequestParameter('fileName'); $id = util_getRequestParameter('id'); $lexemId = util_getRequestParameter('lexemId'); $revised = util_getBoolean('revised'); $saveButton = util_getRequestParameter('saveButton'); $tagLexemId = util_getRequestParameter('tagLexemId'); $tagLabel = util_getRequestParameter('tagLabel'); $textXCoord = util_getRequestParameter('textXCoord'); $textYCoord = util_getRequestParameter('textYCoord'); $imgXCoord = util_getRequestParameter('imgXCoord'); $imgYCoord = util_getRequestParameter('imgYCoord'); $addTagButton = util_getRequestParameter('addTagButton'); // Tag the image specified by $fileName. Create a Visual object if one doesn't exist, then redirect to it. if ($fileName) { $v = Visual::get_by_path($fileName); if (!$v) { $v = Visual::createFromFile($fileName); } util_redirect("?id={$v->id}"); } $v = Visual::get_by_id($id); if ($saveButton) { $v->lexemeId = $lexemId; $v->revised = $revised; $v->save(); util_redirect("?id={$v->id}"); }
<?php require_once "../../phplib/util.php"; util_assertModerator(PRIV_EDIT); util_assertNotMirror(); $submitButton = util_getRequestParameter('submitButton'); if ($submitButton) { $defId = util_getRequestParameter('definitionId'); $def = Definition::get_by_id($defId); // Collect the user choices $choices = array(); foreach ($_REQUEST as $name => $value) { if (StringUtil::startsWith($name, 'radio_')) { $choices[substr($name, 6)] = $value; } } // Collect the positions of ambiguous abbreviations $matches = array(); AdminStringUtil::markAbbreviations($def->internalRep, $def->sourceId, $matches); usort($matches, 'positionCmp'); $s = $def->internalRep; foreach ($matches as $i => $m) { if ($choices[count($choices) - 1 - $i] == 'abbrev') { $orig = substr($s, $m['position'], $m['length']); $replacement = StringUtil::isUppercase(StringUtil::getCharAt($orig, 0)) ? AdminStringUtil::capitalize($m['abbrev']) : $m['abbrev']; $s = substr_replace($s, "#{$replacement}#", $m['position'], $m['length']); } } $def->internalRep = $s; $def->htmlRep = AdminStringUtil::htmlize($def->internalRep, $def->sourceId); $def->abbrevReview = ABBREV_REVIEW_COMPLETE;
<?php require_once "../phplib/util.php"; util_assertNotMirror(); $lexemNames = util_getRequestParameter('lexemNames'); $sourceId = util_getRequestParameter('source'); $def = util_getRequestParameter('def'); $sendButton = util_getRequestParameter('send'); if ($sendButton) { session_setSourceCookie($sourceId); $ambiguousMatches = array(); $def = AdminStringUtil::internalizeDefinition($def, $sourceId, $ambiguousMatches); $lexemNames = deleteEmptyElements($lexemNames); $errorMessage = ''; if (!count($lexemNames)) { $errorMessage = 'Trebuie să introduceți un cuvânt-titlu.'; } else { if (!$def) { $errorMessage = 'Trebuie să introduceți o definiție.'; } else { if (StringUtil::isSpam($def)) { $errorMessage = 'Definiția dumneavoastră este spam.'; } } } if ($errorMessage) { smarty_assign('lexemNames', $lexemNames); smarty_assign('sourceId', $sourceId); smarty_assign('def', $def); FlashMessage::add($errorMessage); smarty_assign('previewDivContent', AdminStringUtil::htmlize($def, $sourceId));
<?php require_once "../../phplib/util.php"; util_assertModerator(PRIV_EDIT); util_assertNotMirror(); DebugInfo::disable(); $prefix = util_getRequestParameter('prefix'); $submitButton = util_getRequestParameter('submitButton'); if ($submitButton) { // Collect all affected lexems beforehand $lexemMap = array(); $errorMap = array(); $deleteMap = array(); foreach ($_REQUEST as $name => $value) { if ((StringUtil::startsWith($name, 'caps_') || StringUtil::startsWith($name, 'model_') || StringUtil::startsWith($name, 'comment_') || StringUtil::startsWith($name, 'singular_') || StringUtil::startsWith($name, 'plural_') || StringUtil::startsWith($name, 'verifSp_') || StringUtil::startsWith($name, 'delete_') || StringUtil::startsWith($name, 'deleteConfirm_')) && $value) { $parts = preg_split('/_/', $name); assert(count($parts) == 2); $lexemId = $parts[1]; if (!array_key_exists($lexemId, $lexemMap)) { $lexemMap[$lexemId] = Lexem::get_by_id($lexemId); } $l = $lexemMap[$lexemId]; $lm = $l->getFirstLexemModel(); switch ($parts[0]) { case 'caps': if (StringUtil::startsWith($l->form, "'")) { $l->form = "'" . AdminStringUtil::capitalize(mb_substr($l->form, 1)); } else { $l->form = AdminStringUtil::capitalize($l->form); } $l->formNoAccent = str_replace("'", '', $l->form);
<?php require_once "../../phplib/util.php"; $modelType = util_getRequestParameter('modelType'); $locVersion = util_getRequestParameter('locVersion'); if ($locVersion) { LocVersion::changeDatabase($locVersion); } $models = FlexModel::loadByType($modelType); foreach ($models as $m) { print "{$m->id}\n{$m->number}\n{$m->exponent}\n"; }
<?php require_once "../phplib/util.php"; $user = session_getUser(); if (!$user) { FlashMessage::add('Nu puteți alege o imagine de profil dacă nu sunteți autentificat.'); util_redirect(util_getWwwRoot()); } define('AVATAR_RESOLUTION', 48); define('AVATAR_QUALITY', 100); $AVATAR_REMOTE_FILE = "/img/user/{$user->id}.jpg"; $AVATAR_RAW_GLOB = util_getRootPath() . "wwwbase/img/generated/{$user->id}_raw.*"; $x0 = util_getRequestParameter('x0'); $y0 = util_getRequestParameter('y0'); $side = util_getRequestParameter('side'); $delete = util_getRequestParameter('delete'); if ($delete) { $f = new FtpUtil(); $f->staticServerDelete($AVATAR_REMOTE_FILE); $user->hasAvatar = 0; $user->save(); FlashMessage::add('Imaginea a fost ștearsă.', 'info'); util_redirect('preferinte'); } $rawFileList = glob($AVATAR_RAW_GLOB); if (empty($rawFileList)) { FlashMessage::add('Imaginea dumneavoastră de profil nu mai există. Vă rugăm să o reîncărcați.'); util_redirect(util_getWwwRoot()); } $rawFileName = $rawFileList[0]; $canvas = imagecreatetruecolor(AVATAR_RESOLUTION, AVATAR_RESOLUTION);