Example #1
0
 /**
  * @param $ids string|array
  *
  * @return mixed
  */
 public function find_by_id($ids)
 {
     if (is_array($ids)) {
         // create comma-separated string
         $ids = implode(',', $ids);
     }
     // escape string for usage in IN clause
     $ids = esc_sql($ids);
     $sql = sprintf("SELECT * FROM `%s` WHERE ID IN (%s)", $this->table_name, $ids);
     // return single row if only one id is given
     if (substr_count($ids, ',') === 0) {
         return $this->db->get_row($sql);
     }
     return $this->db->get_results($sql);
 }
 private function get_translation_statuses()
 {
     $post_translations = $this->get_post_translations();
     $status = array();
     foreach ($post_translations as $language => $translation) {
         $res_query = "SELECT status as status_code, needs_update FROM {$this->wpdb->prefix}icl_translation_status WHERE translation_id=%d";
         $res_args = array($translation->translation_id);
         $res_prepare = $this->wpdb->prepare($res_query, $res_args);
         $res = $this->wpdb->get_row($res_prepare);
         if ($res) {
             $res->status = $res->status_code;
             switch ($res->status) {
                 case ICL_TM_WAITING_FOR_TRANSLATOR:
                     $res->status = __('Waiting for translator', 'wpml-string-translation');
                     break;
                 case ICL_TM_IN_PROGRESS:
                     $res->status = __('In progress', 'wpml-string-translation');
                     break;
                 case ICL_TM_NEEDS_UPDATE:
                     $res->status = '';
                     break;
                 case ICL_TM_COMPLETE:
                     $res->status = __('Complete', 'wpml-string-translation');
                     break;
                 default:
                     $res->status = __('Not translated', 'wpml-string-translation');
                     break;
             }
             if ($res->needs_update) {
                 if ($res->status) {
                     $res->status .= ' - ';
                 }
                 $res->status .= __('Needs update', 'wpml-string-translation');
             }
             $status[$language] = $res;
         }
     }
     return $status;
 }
Example #3
0
 private function get_string($id)
 {
     $string_query = "SELECT * FROM {$this->wpdb->prefix}icl_strings WHERE id=%s";
     $string_prepared = $this->wpdb->prepare($string_query, $id);
     return $this->wpdb->get_row($string_prepared);
 }