Пример #1
0
 /**
  * Imports a Gist into Gistpen by ID
  *
  * @param  string             $gist_id    Gist ID
  * @return string|\WP_Error               Gist ID on success, WP_Error on failure
  * @since  0.5.0
  */
 public function import_gist($gist_id)
 {
     // Exit if this gist has already been imported
     $query = $this->database->query('head')->by_gist_id($gist_id);
     if ($query instanceof Zip) {
         return $query;
     }
     $response = $this->gist->get_gist($gist_id);
     if (is_wp_error($response)) {
         return $response;
     }
     $zip = $response['zip'];
     $version = $response['version'];
     unset($response);
     $result = $this->database->persist('head')->by_zip($zip);
     if (is_wp_error($result)) {
         return $result;
     }
     $ids = $result;
     unset($result);
     $result = $this->database->persist('commit')->by_ids($ids);
     if (is_wp_error($result)) {
         return $result;
     }
     $result = $this->database->persist('commit')->set_gist_id($result, $version);
     if (is_wp_error($result)) {
         return $result;
     }
     return $ids['zip'];
 }