Exemplo n.º 1
0
 public function pluralize($word, $count)
 {
     if ($count == 1) {
         return $word;
     }
     $word = lower($word);
     if (in_array($word, self::$without_paired_form)) {
         return $word;
     } else {
         if (isset(self::$exceptions[$word])) {
             return self::$exceptions[$word];
         }
     }
     if (in_array(slice($word, -1), array('s', 'x')) || in_array(slice($word, -2), array('sh', 'ch'))) {
         return $word . 'es';
     } else {
         if (slice($word, -1) == 'o') {
             return $word . 'es';
         } else {
             if (slice($word, -1) == 'y' && in_array(slice($word, -2, -1), self::$consonants)) {
                 return slice($word, 0, -1) . 'ies';
             } else {
                 if (slice($word, -2) == 'fe' || slice($word, -1) == 'f') {
                     if (slice($word, -1) == 'f') {
                         return slice($word, 0, -1) . 'ves';
                     } else {
                         return slice($word, 0, -2) . 'ves';
                     }
                 } else {
                     return $word . 's';
                 }
             }
         }
     }
 }
Exemplo n.º 2
0
/**
 * Name case. (ex: Thomas Lewis)
 */
function name($string)
{
    if (function_exists('mb_strtoupper')) {
        return upper(slice($string, 0, 1)) . lower(slice($string, 1));
    } else {
        return false;
    }
}
Exemplo n.º 3
0
 public function checkLastConsonantSoftness($word)
 {
     if (($substring = last_position_for_one_of_chars(lower($word), array_map(__NAMESPACE__ . '\\lower', self::$consonants))) !== false) {
         if (in_array(slice($substring, 0, 1), ['й', 'ч', 'щ'])) {
             // always soft consonants
             return true;
         } else {
             if (length($substring) > 1 && in_array(slice($substring, 1, 2), ['е', 'ё', 'и', 'ю', 'я', 'ь'])) {
                 // consonants are soft if they are trailed with these vowels
                 return true;
             }
         }
     }
     return false;
 }
 /**
  *  Retrieve a list of proposal entities and their metadata
  *  for a given set of search terms
  *
  *  @param string $filter_term The substring to search for
  *
  *  @return array
  *
  *  @author Ken Auberry <*****@*****.**>
  */
 public function get_proposals_by_search($filter_term)
 {
     $DB_eus = $this->load->database('eus_for_myemsl', TRUE);
     $DB_eus->like('search_field', lower($filter_term));
     $select_array = array('id', 'display_name', 'category', 'abbreviation');
     $DB_eus->select($select_array);
     $DB_eus->order_by('order_field');
     $query = $DB_eus->get('v_proposal_search');
     $results = array();
     if ($query && $query->num_rows() > 0) {
         foreach ($query->result_array() as $row) {
             $results[$row['id']] = $row;
         }
     }
     return $results;
 }
Exemplo n.º 5
0
function createClass($name)
{
    global $ext_hpp, $ext_cpp;
    $cpp = '#include <iostream>

#include "' . lower($name) . '.' . $ext_hpp . '"

' . $name . '::' . $name . '()
{
}
' . $name . '::~' . $name . '()
{
}

' . $name . '&			' . $name . '::operator=(const ' . $name . '& from)
{ return (*this); }
' . $name . '::' . $name . '(const ' . $name . '& from)
{ }
';
    $hpp = '#ifndef _' . strtoupper($name) . '_' . strtoupper($ext_hpp) . '_
# define _' . strtoupper($name) . '_' . strtoupper($ext_hpp) . '_

class ' . $name . '
{
public:
	' . $name . '();
	virtual ~' . $name . '();

protected:
private:
	' . $name . '(const ' . $name . '& from);
	' . $name . '&		operator=(const ' . $name . '& from);
};

#endif /* _' . strtoupper($name) . '_' . strtoupper($ext_hpp) . '_ */
';
    file_put_contents(lower($name) . '.' . $ext_cpp, $cpp);
    file_put_contents(lower($name) . '.' . $ext_hpp, $hpp);
}
Exemplo n.º 6
0
 public function execute($returnType = 'array')
 {
     $this->dbInstance = null;
     $this->hasError = false;
     $this->errno = 0;
     $this->error = '';
     $return = false;
     // Obtengo la configuracion de la base de datos a utilizar
     $selectDb = Settings::getInstance()->get('dbs');
     $selectDb[$this->dbSetting];
     $dbEngine = $selectDb[$this->dbSetting]['engine'];
     if ($dbEngine == 'mariadb') {
         $this->dbInstance = new namespace\SQLEngines\MariaDBEngine($this->dbSetting);
     } elseif ($dbEngine == 'mssql') {
         $this->dbInstance = new namespace\SQLEngines\MSSQLEngine($this->dbSetting);
     } elseif ($dbEngine == 'postgresql') {
         $this->dbInstance = new namespace\SQLEngines\PostgreSQLEngine($this->dbSetting);
     } elseif ($dbEngine == 'sqlsrv') {
         $this->dbInstance = new namespace\SQLEngines\SQLSRVEngine($this->dbSetting);
     } else {
         $this->error = 'Database engine not found.';
     }
     if ($this->dbInstance != null) {
         if ($this->database != false) {
             $this->dbInstance->selectDatabase($this->database);
         }
         // Me conecto al motor de datos
         if ($this->dbInstance->connect()) {
             $this->dbInstance->query($this->query, $this->queryType, $this->queryReturn == 'object' ? 'assoc' : $this->queryReturn);
             $this->dbInstance->setParameters($this->parameters);
             if ($result = $this->dbInstance->execute()) {
                 if (lower($returnType) == 'json') {
                     $return = json_encode($result, JSON_FORCE_OBJECT);
                 } else {
                     if ($this->queryReturn == 'object') {
                         // object
                         //$return = (object)$result;
                         $return = json_decode(json_encode($result));
                     } else {
                         // array
                         $return = $result;
                     }
                 }
             }
             // Me desconecto
             $this->dbInstance->disconnect();
         }
         // Recupera el ultimo error ocurrido en el motor de datos
         $this->errno = $this->dbInstance->getErrorNumber();
         $this->error = $this->dbInstance->getError();
         if (!empty($this->error)) {
             $this->hasError = true;
             $return = false;
         }
     }
     // Se limpian las variables
     $this->dbInstance = null;
     $this->parameters = array();
     $this->query = '';
     $this->queryType = 'select';
     $this->queryReturn = 'num';
     return $return;
 }
Exemplo n.º 7
0
 public function getForms($name, $gender)
 {
     $name = lower($name);
     if ($gender == self::MAN) {
         if (in_array(upper(slice($name, -1)), array_diff(self::$consonants, array('Й')))) {
             // hard consonant
             $prefix = name($name);
             // special cases for Лев, Павел
             if ($name == 'лев') {
                 return $this->getFormsForLev();
             } else {
                 if ($name == 'павел') {
                     return $this->getFormsForPavel();
                 } else {
                     return array(self::IMENIT_1 => $prefix, self::RODIT_2 => $prefix . 'а', self::DAT_3 => $prefix . 'у', self::VINIT_4 => $prefix . 'а', self::TVORIT_5 => $this->isHissingConsonant(slice($name, -1)) || slice($name, -1) == 'ц' ? $prefix . 'ем' : $prefix . 'ом', self::PREDLOJ_6 => in_array(upper(slice($name, 0, 1)), self::$vowels) ? 'об ' . $prefix . 'е' : 'о ' . $prefix . 'е');
                 }
             }
         } else {
             if (slice($name, -1) == 'ь' && in_array(upper(slice($name, -2, -1)), self::$consonants)) {
                 // soft consonant
                 $prefix = name(slice($name, 0, -1));
                 return array(self::IMENIT_1 => $prefix . 'ь', self::RODIT_2 => $prefix . 'я', self::DAT_3 => $prefix . 'ю', self::VINIT_4 => $prefix . 'я', self::TVORIT_5 => $prefix . 'ем', self::PREDLOJ_6 => in_array(upper(slice($name, 0, 1)), self::$vowels) ? 'об ' . $prefix . 'е' : 'о ' . $prefix . 'е');
             } else {
                 if (in_array(slice($name, -2), array('ай', 'ей', 'ой', 'уй', 'яй', 'юй', 'ий'))) {
                     $prefix = name(slice($name, 0, -1));
                     $postfix = slice($name, -2) == 'ий' ? 'и' : 'е';
                     return array(self::IMENIT_1 => $prefix . 'й', self::RODIT_2 => $prefix . 'я', self::DAT_3 => $prefix . 'ю', self::VINIT_4 => $prefix . 'я', self::TVORIT_5 => $prefix . 'ем', self::PREDLOJ_6 => in_array(upper(slice($name, 0, 1)), self::$vowels) ? 'об ' . $prefix . $postfix : 'о ' . $prefix . $postfix);
                 } else {
                     if (slice($name, -1) == 'а' && ($before = slice($name, -2, -1)) && $this->isConsonant($before) && !in_array($before, array('ц'))) {
                         $prefix = name(slice($name, 0, -1));
                         $postfix = $this->isHissingConsonant($before) || in_array($before, array('г', 'к', 'х')) ? 'и' : 'ы';
                         return array(self::IMENIT_1 => $prefix . 'а', self::RODIT_2 => $prefix . $postfix, self::DAT_3 => $prefix . 'е', self::VINIT_4 => $prefix . 'у', self::TVORIT_5 => $prefix . 'ой', self::PREDLOJ_6 => in_array(upper(slice($name, 0, 1)), self::$vowels) ? 'об ' . $prefix . 'е' : 'о ' . $prefix . 'е');
                     } else {
                         if (slice($name, -2) == 'ия') {
                             $prefix = name(slice($name, 0, -1));
                             return array(self::IMENIT_1 => $prefix . 'я', self::RODIT_2 => $prefix . 'и', self::DAT_3 => $prefix . 'и', self::VINIT_4 => $prefix . 'ю', self::TVORIT_5 => $prefix . 'ей', self::PREDLOJ_6 => in_array(upper(slice($name, 0, 1)), self::$vowels) ? 'об ' . $prefix . 'и' : 'о ' . $prefix . 'и');
                         } else {
                             if (slice($name, -2) == 'ло' || slice($name, -2) == 'ко') {
                                 $prefix = name(slice($name, 0, -1));
                                 $postfix = slice($name, -2, -1) == 'к' ? 'и' : 'ы';
                                 return array(self::IMENIT_1 => $prefix . 'о', self::RODIT_2 => $prefix . $postfix, self::DAT_3 => $prefix . 'е', self::VINIT_4 => $prefix . 'у', self::TVORIT_5 => $prefix . 'ой', self::PREDLOJ_6 => in_array(upper(slice($name, 0, 1)), self::$vowels) ? 'об ' . $prefix . 'е' : 'о ' . $prefix . 'е');
                             } else {
                                 return false;
                             }
                         }
                     }
                 }
             }
         }
     } else {
         if (slice($name, -1) == 'а' && ($before = slice($name, -2, -1))) {
             $prefix = name(slice($name, 0, -1));
             if ($before != 'ц') {
                 $postfix = $this->isHissingConsonant($before) || in_array($before, array('г', 'к', 'х')) ? 'и' : 'ы';
                 return array(self::IMENIT_1 => $prefix . 'а', self::RODIT_2 => $prefix . $postfix, self::DAT_3 => $prefix . 'е', self::VINIT_4 => $prefix . 'у', self::TVORIT_5 => $prefix . 'ой', self::PREDLOJ_6 => in_array(upper(slice($name, 0, 1)), self::$vowels) ? 'об ' . $prefix . 'е' : 'о ' . $prefix . 'е');
             } else {
                 return array(self::IMENIT_1 => $prefix . 'а', self::RODIT_2 => $prefix . 'ы', self::DAT_3 => $prefix . 'е', self::VINIT_4 => $prefix . 'у', self::TVORIT_5 => $prefix . 'ей', self::PREDLOJ_6 => in_array(upper(slice($name, 0, 1)), self::$vowels) ? 'об ' . $prefix . 'е' : 'о ' . $prefix . 'е');
             }
         } else {
             if (slice($name, -1) == 'я' and slice($name, -2, -1) != 'и') {
                 $prefix = name(slice($name, 0, -1));
                 return array(self::IMENIT_1 => $prefix . 'я', self::RODIT_2 => $prefix . 'и', self::DAT_3 => $prefix . 'е', self::VINIT_4 => $prefix . 'ю', self::TVORIT_5 => $prefix . 'ей', self::PREDLOJ_6 => in_array(upper(slice($name, 0, 1)), self::$vowels) ? 'об ' . $prefix . 'е' : 'о ' . $prefix . 'е');
             } else {
                 if (slice($name, -2) == 'ия') {
                     $prefix = name(slice($name, 0, -1));
                     return array(self::IMENIT_1 => $prefix . 'я', self::RODIT_2 => $prefix . 'и', self::DAT_3 => $prefix . 'и', self::VINIT_4 => $prefix . 'ю', self::TVORIT_5 => $prefix . 'ей', self::PREDLOJ_6 => in_array(upper(slice($name, 0, 1)), self::$vowels) ? 'об ' . $prefix . 'и' : 'о ' . $prefix . 'и');
                 } else {
                     if (slice($name, -1) == 'ь' && $this->isConsonant(slice($name, -2, -1))) {
                         $prefix = name(slice($name, 0, -1));
                         return array(self::IMENIT_1 => $prefix . 'ь', self::RODIT_2 => $prefix . 'и', self::DAT_3 => $prefix . 'и', self::VINIT_4 => $prefix . 'ь', self::TVORIT_5 => $prefix . 'ью', self::PREDLOJ_6 => in_array(upper(slice($name, 0, 1)), self::$vowels) ? 'об ' . $prefix . 'и' : 'о ' . $prefix . 'и');
                     } else {
                         if ($this->isHissingConsonant(slice($name, -1))) {
                             $prefix = name($name);
                             return array(self::IMENIT_1 => $prefix, self::RODIT_2 => $prefix . 'и', self::DAT_3 => $prefix . 'и', self::VINIT_4 => $prefix, self::TVORIT_5 => $prefix . 'ью', self::PREDLOJ_6 => in_array(upper(slice($name, 0, 1)), self::$vowels) ? 'об ' . $prefix . 'и' : 'о ' . $prefix . 'и');
                         } else {
                             return false;
                         }
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 8
0
 public function gettag($term)
 {
     mb_regex_encoding('UTF-8');
     mb_internal_encoding('UTF-8');
     $this->db->sqliteCreateFunction('tolower', 'lower', 1);
     $stmt = $this->db->prepare("SELECT tag FROM album_tags WHERE tolower(tag) LIKE :term GROUP BY tag LIMIT 10");
     $stmt->execute(array('term' => '%' . lower($term) . '%'));
     $result = $stmt->fetchAll(PDO::FETCH_COLUMN);
     foreach ($result as $item) {
         $out[] = array('label' => $item, 'value' => $item);
     }
     return $out;
 }
Exemplo n.º 9
0
 private function setTypeVarLoop(&$var)
 {
     if (lower($var) === 'true') {
         $var = true;
     } else {
         if (lower($var) === 'false') {
             $var = false;
         } else {
             if (filter_var($var, FILTER_VALIDATE_INT)) {
                 settype($var, 'int');
             } else {
                 if (filter_var($var, FILTER_VALIDATE_FLOAT)) {
                     settype($var, 'float');
                 } else {
                     if (lower($var) === 'null') {
                         settype($var, 'null');
                     } else {
                         settype($var, 'string');
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 10
0
 public function pluralizeAllDeclensions($word, $animate = false)
 {
     $word = lower($word);
     $prefix = slice($word, 0, -1);
     $last = slice($word, -1);
     if (($declension = $this->getDeclension($word)) == self::FIRST_DECLENSION) {
         $soft_last = $last == 'й' || in_array($last, ['ь', 'е', 'ё', 'ю', 'я']) && $this->isConsonant(slice($word, -2, -1));
         $prefix = $this->getPrefixOfFirstDeclension($word, $last);
     } else {
         if ($declension == self::SECOND_DECLENSION) {
             $soft_last = $this->checkLastConsonantSoftness($word);
         } else {
             $soft_last = false;
         }
     }
     $forms = array(RussianCases::IMENIT_1 => $this->chooseVowelAfterConsonant($last, $soft_last, $prefix . 'я', $prefix . 'а'));
     // RODIT_2
     if ($this->isHissingConsonant($last) || $soft_last && $last != 'й') {
         $forms[RussianCases::RODIT_2] = $prefix . 'ей';
     } else {
         if ($last == 'й') {
             $forms[RussianCases::RODIT_2] = $prefix . 'ев';
         } else {
             // ($this->isConsonant($last) && !$this->isHissingConsonant($last))
             $forms[RussianCases::RODIT_2] = $prefix . 'ов';
         }
     }
     // DAT_3
     $forms[RussianCases::DAT_3] = $this->chooseVowelAfterConsonant($last, $soft_last, $prefix . 'ям', $prefix . 'ам');
     // VINIT_4
     $forms[RussianCases::VINIT_4] = $this->getVinitCaseByAnimateness($forms, $animate);
     // TVORIT_5
     // my personal rule
     if ($last == 'ь' && $declension == self::THIRD_DECLENSION) {
         $forms[RussianCases::TVORIT_5] = $prefix . 'ми';
     } else {
         $forms[RussianCases::TVORIT_5] = $this->chooseVowelAfterConsonant($last, $soft_last, $prefix . 'ями', $prefix . 'ами');
     }
     // PREDLOJ_6
     $forms[RussianCases::PREDLOJ_6] = $this->chooseVowelAfterConsonant($last, $soft_last, $prefix . 'ях', $prefix . 'ах');
     return $forms;
 }