Ejemplo n.º 1
0
 public function upload_strings($group)
 {
     $language = $this->pllm->get_language($this->pllm->options['default_lang']);
     $profile = self::get_profile('string', $language);
     if ('disabled' == $profile['profile']) {
         return;
     }
     if (is_numeric($group)) {
         $strings = self::get_strings();
         $group = $strings[$group]['context'];
     }
     // check that we have a valid string group
     if (!in_array($group, wp_list_pluck(self::get_strings(), 'context'))) {
         return;
     }
     $client = new Lingotek_API();
     $params = array('title' => $group, 'content' => Lingotek_Group_String::get_content($group), 'locale_code' => $language->lingotek_locale, 'project_id' => self::get_profile_option('project_id', 'string', $language), 'workflow_id' => self::get_profile_option('workflow_id', 'string', $language));
     $filter_ids = array();
     if (self::get_profile_option('primary_filter_id', 'string', $language)) {
         $filter_ids['fprm_id'] = self::get_profile_option('primary_filter_id', 'string', $language);
     }
     if (self::get_profile_option('secondary_filter_id', 'string', $language)) {
         $filter_ids['fprm_subfilter_id'] = self::get_profile_option('secondary_filter_id', 'string', $language);
     }
     $params = array_merge($params, $filter_ids);
     if (($document = $this->get_group('string', $group)) && 'edited' == $document->status) {
         $document->patch($group);
     } else {
         $document_id = $client->upload_document($params, $group);
         if ($document_id) {
             Lingotek_Group_String::create($group, $language, $document_id);
         }
     }
 }