if ($oidc->hasWellKnownConfig()) { // The site has a .well-known file, so it uses OpenID Connect if ($oidc->supportsDynamicRegistration()) { list($oidcId, $oidcSecret) = $oidc->dynamicRegistration(); } else { // OpenID connect, but no dynamic registration and no explicit config. // Log this and display an error message. log_userlog("Need OpenID Connect registration for {$openid}"); FlashMessage::add('Momentan nu putem accepta OpenID de la acest furnizor. Problema nu ține de noi, dar vom încerca să o reparăm.'); } } else { // asume plain OpenID $isOpenidConnect = false; } } if (!FlashMessage::getMessage()) { if ($isOpenidConnect) { try { $oidc->authenticate($oidcId, $oidcSecret); } catch (OpenIDException $e) { FlashMessage::add($e->getMessage()); } } else { $authResult = OpenID::beginAuth($openid, null); if ($authResult != null) { SmartyWrap::displayWithoutSkin('auth/beginAuth.ihtml'); exit; } } } }
function validateDelete($mt) { $numLexems = Model::factory('LexemModel')->where('modelType', $mt->code)->count(); if ($numLexems) { FlashMessage::add("Nu pot șterge tipul '{$mt->code}', deoarece este folosit de {$numLexems} lexeme."); } $numDependants = Model::factory('ModelType')->where('canonical', $mt->code)->count(); if ($numDependants > 1) { FlashMessage::add("Nu pot șterge tipul '{$mt->code}', deoarece este canonic pentru alte tipuri."); } return FlashMessage::getMessage() == null; }
function validate($lexem, $original, $variantIds, $meanings) { if (!$lexem->form) { FlashMessage::add('Forma nu poate fi vidă.'); } $numAccents = mb_substr_count($lexem->form, "'"); // Note: we allow multiple accents for lexems like hárcea-párcea if ($numAccents && $lexem->noAccent) { FlashMessage::add('Ați indicat că lexemul nu necesită accent, dar forma conține un accent.'); } else { if (!$numAccents && !$lexem->noAccent) { FlashMessage::add('Adăugați un accent sau debifați câmpul "Necesită accent".'); } } foreach ($lexem->getLexemModels() as $lm) { $hasS = false; $hasP = false; for ($i = 0; $i < mb_strlen($lm->restriction); $i++) { $c = StringUtil::getCharAt($lm->restriction, $i); if ($c == 'T' || $c == 'U' || $c == 'I') { if ($lm->modelType != 'V' && $lm->modelType != 'VT') { FlashMessage::add("Restricția <b>{$c}</b> se aplică numai verbelor"); } } else { if ($c == 'S') { if ($lm->modelType == 'I' || $lm->modelType == 'T') { FlashMessage::add("Restricția <b>S</b> nu se aplică modelului {$lm->modelType}"); } $hasS = true; } else { if ($c == 'P') { if ($lm->modelType == 'I' || $lm->modelType == 'T') { FlashMessage::add("Restricția <b>P</b> nu se aplică modelului {$lm->modelType}"); } $hasP = true; } else { FlashMessage::add("Restricția <b>{$c}</b> este incorectă."); } } } } if ($hasS && $hasP) { FlashMessage::add("Restricțiile <b>S</b> și <b>P</b> nu pot coexista."); } $ifs = $lm->generateInflectedForms(); if (!is_array($ifs)) { $infl = Inflection::get_by_id($ifs); FlashMessage::add(sprintf("Nu pot genera flexiunea '%s' conform modelului %s%s", htmlentities($infl->description), $lm->modelType, $lm->modelNumber)); } } $variantOf = Lexem::get_by_id($lexem->variantOfId); if ($variantOf && !goodForVariantJson($meanings)) { FlashMessage::add("Acest lexem este o variantă a lui {$variantOf} și nu poate avea el însuși sensuri. " . "Este permis doar un sens, fără conținut, pentru indicarea surselor și a registrelor de folosire."); } if ($variantOf && !empty($variantIds)) { FlashMessage::add("Acest lexem este o variantă a lui {$variantOf} și nu poate avea el însuși variante."); } if ($variantOf && $variantOf->id == $lexem->id) { FlashMessage::add("Lexemul nu poate fi variantă a lui însuși."); } foreach ($variantIds as $variantId) { $variant = Lexem::get_by_id($variantId); if ($variant->id == $lexem->id) { FlashMessage::add('Lexemul nu poate fi variantă a lui însuși.'); } if ($variant->variantOfId && $variant->variantOfId != $lexem->id) { $other = Lexem::get_by_id($variant->variantOfId); FlashMessage::add("\"{$variant}\" este deja marcat ca variantă a lui \"{$other}\"."); } $variantVariantCount = Model::factory('Lexem')->where('variantOfId', $variant->id)->count(); if ($variantVariantCount) { FlashMessage::add("\"{$variant}\" are deja propriile lui variante."); } $variantMeanings = Model::factory('Meaning')->where('lexemId', $variant->id)->find_many(); if (!goodForVariant($variantMeanings)) { FlashMessage::add("\"{$variant}\" are deja propriile lui sensuri."); } } if ($lexem->structStatus == Lexem::STRUCT_STATUS_DONE && $original->structStatus != Lexem::STRUCT_STATUS_DONE && !util_isModerator(PRIV_EDIT)) { FlashMessage::add("Doar moderatorii pot marca structurarea drept terminată. Vă rugăm să folosiți valoarea „așteaptă moderarea”."); } return FlashMessage::getMessage() == null; }