Пример #1
0
assertEquals('mama', StringUtil::cleanupQuery('"mama"'));
assertEquals('aăbcdef', StringUtil::cleanupQuery("aăbc<mamă foo bar>def"));
assertEquals('AĂBCDEF', StringUtil::cleanupQuery("AĂBC<MAMĂ FOO BAR>DEF"));
assertEquals('a~abcdef', StringUtil::cleanupQuery("a~abc<mam~a foo bar>def"));
assertEquals('a~ABcdef', StringUtil::cleanupQuery("a~ABc<mam~a foo bar>def"));
assertEquals('1234', StringUtil::cleanupQuery('12&qweasd;34'));
assert(StringUtil::hasDiacritics('mamă'));
assert(!StringUtil::hasDiacritics('mama'));
$def = Model::factory('Definition')->create();
$def->sourceId = 1;
$def->internalRep = 'abcd';
assertEquals('abcd', AdminStringUtil::extractLexicon($def));
$def->internalRep = 'wxyz';
assertEquals('wxyz', AdminStringUtil::extractLexicon($def));
$def->internalRep = 'mamă';
assertEquals('mamă', AdminStringUtil::extractLexicon($def));
assert(StringUtil::hasRegexp('asd[0-9]'));
assert(!StringUtil::hasRegexp('ăâîșț'));
assert(StringUtil::hasRegexp('cop?l'));
assertEquals("like 'cop%l'", StringUtil::dexRegexpToMysqlRegexp('cop*l'));
assertEquals("like 'cop_l'", StringUtil::dexRegexpToMysqlRegexp('cop?l'));
assertEquals("rlike '^(cop[a-z]l)\$'", StringUtil::dexRegexpToMysqlRegexp('cop[a-z]l'));
assertEquals("rlike '^(cop[^a-z]l)\$'", StringUtil::dexRegexpToMysqlRegexp('cop[^a-z]l'));
assertEquals("rlike '^(cop[â-z]l)\$'", StringUtil::dexRegexpToMysqlRegexp('cop[â-z]l'));
assertEquals("rlike '^(cop[â-z]l.*)\$'", StringUtil::dexRegexpToMysqlRegexp('cop[â-z]l*'));
assertEqualArrays(array(0, 0, 0), StringUtil::analyzeQuery('mama'));
assertEqualArrays(array(1, 0, 0), StringUtil::analyzeQuery('mamă'));
assertEqualArrays(array(0, 1, 0), StringUtil::analyzeQuery('cop?l'));
assertEqualArrays(array(0, 1, 0), StringUtil::analyzeQuery('cop[c-g]l'));
assertEqualArrays(array(1, 1, 0), StringUtil::analyzeQuery('căț[c-g]l'));
assertEqualArrays(array(0, 0, 1), StringUtil::analyzeQuery('1234567'));
Пример #2
0
 }
 if ($errorMessage) {
     smarty_assign('lexemNames', $lexemNames);
     smarty_assign('sourceId', $sourceId);
     smarty_assign('def', $def);
     FlashMessage::add($errorMessage);
     smarty_assign('previewDivContent', AdminStringUtil::htmlize($def, $sourceId));
 } else {
     $definition = Model::factory('Definition')->create();
     $definition->displayed = 0;
     $definition->status = ST_PENDING;
     $definition->userId = session_getUserId();
     $definition->sourceId = $sourceId;
     $definition->internalRep = $def;
     $definition->htmlRep = AdminStringUtil::htmlize($def, $sourceId);
     $definition->lexicon = AdminStringUtil::extractLexicon($definition);
     $definition->abbrevReview = count($ambiguousMatches) ? ABBREV_AMBIGUOUS : ABBREV_REVIEW_COMPLETE;
     $definition->save();
     log_userLog("Added definition {$definition->id} ({$definition->lexicon})");
     $ldms = array();
     foreach ($lexemNames as $lexemName) {
         $lexemName = addslashes(AdminStringUtil::formatLexem($lexemName));
         if ($lexemName) {
             $matches = Lexem::loadByExtendedName($lexemName);
             if (count($matches) >= 1) {
                 foreach ($matches as $match) {
                     LexemDefinitionMap::associate($match->id, $definition->id);
                     log_userLog("Associating with lexem {$match->id} ({$match->form})");
                 }
             } else {
                 // Create a new lexem.
Пример #3
0
<?php

define('FILE_NAME', __DIR__ . '/../../corectii DEXOnline.txt');
require_once __DIR__ . '/../../phplib/util.php';
util_assertModerator(PRIV_EDIT);
util_assertNotMirror();
$id = util_getRequestParameter('id');
$def = Definition::get_by_id($id);
assert($def);
$lines = file(FILE_NAME);
$lines = array_slice($lines, 1);
// First line contains the column descriptions
foreach ($lines as $line) {
    $parts = explode("\t", trim($line));
    assert(count($parts) == 4);
    list($id, $wrong, $right, $code) = $parts;
    if ($id == $def->id) {
        $def->internalRep = $right;
        $def->htmlRep = AdminStringUtil::htmlize($right, $def->sourceId);
        $def->lexicon = AdminStringUtil::extractLexicon($def);
        $def->save();
        break;
        // I know. Shut up.
    }
}