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'; } } } } }
/** * 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; } }
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; }
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); }
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; }
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; } } } } } } }
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; }
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'); } } } } } }
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; }