예제 #1
0
 /** Gets TTranslationEntry object by property $property_name with value $property_value.
  * @return TTranslationEntry or NULL in case of error
  */
 public static function getTranslationEntry($property_name, $property_value, $translation_obj = NULL)
 {
     $link_db = Piwidict::getDatabaseConnection();
     $query = "SELECT * FROM translation_entry WHERE `{$property_name}`='{$property_value}' order by id";
     $result = $link_db->query_e($query, "Query failed in " . __METHOD__ . " in file <b>" . __FILE__ . "</b>, string <b>" . __LINE__ . "</b>");
     if ($link_db->query_count($result) == 0) {
         return NULL;
     }
     $translationEntry_arr = array();
     while ($row = $result->fetch_object()) {
         if ($translation_obj == NULL) {
             $translation_obj = TTranslation::getByID($row->translation_id);
         }
         $translationEntry_arr[] = new TTranslationEntry($row->id, $translation_obj, TLang::getByID($row->lang_id), TWikiText::getByID($row->wiki_text_id));
     }
     return $translationEntry_arr;
 }
예제 #2
0
 /** Gets array of TLangPOS objects by property $property_name with value $property_value.
  * @return array[TLangPOS] or empty array in case of error
  */
 public static function getLangPOS(string $property_name, string $property_value, TPage $page_obj = NULL) : array
 {
     $link_db = Piwidict::getDatabaseConnection();
     $query = "SELECT * FROM lang_pos WHERE lang_id is not NULL and pos_id is not NULL and `{$property_name}`='{$property_value}' order by id";
     $result = $link_db->query_e($query, "Query failed in " . __METHOD__ . " in file <b>" . __FILE__ . "</b>, string <b>" . __LINE__ . "</b>");
     if ($link_db->query_count($result) == 0) {
         return array();
     }
     $lang_pos_arr = array();
     while ($row = $result->fetch_object()) {
         $lang = TLang::getByID($row->lang_id);
         $pos = TPOS::getByID($row->pos_id);
         if (NULL == $lang || NULL == $pos) {
             return NULL;
         }
         if ($page_obj == NULL) {
             $page_obj = TPage::getByID($row->page_id);
         }
         $lang_pos = new TLangPOS($row->id, $page_obj, $lang, $pos, $row->etymology_n, $row->lemma);
         $lang_pos->meaning = TMeaning::getByLangPOS($row->id, $lang_pos);
         $lang_pos_arr[] = $lang_pos;
     }
     return $lang_pos_arr;
 }