AmyRemoteProject::save_resource PHP Метод

save_resource() публичный статический Метод

public static save_resource ( $project_url, $ticket, $path, $content )
    public static function save_resource($project_url, $ticket, $path, $content)
    {
        $url = fix_parse_url($project_url);
        $response = SimpleHTTP::send('POST', $url['host'], $url['port'], $url['path'], array('a' => 'save_resource', 'ticket' => $ticket, 'path' => $path, 'content' => $content));
        if ('200' != $response['status_code']) {
            throw new Exception("Invalid status code `{$response['status_code']}' returned from server `{$url['host']}'.");
        }
        $content = trim($response['body']);
        if ('' === $content) {
            throw new Exception("Unable to save project resource, no content returned from `{$url['host']}{$url['path']}'.");
        }
        if ('#S#' != substr($content, 0, 3)) {
            throw new Exception("Error while saving resource: Message from {$url['host']}{$url['path']}: " . substr($content, 3));
        }
        return true;
    }

Usage Example

Пример #1
0
 public function on_project_save_resource($pars = array())
 {
     try {
         self::setResult(AmyRemoteProject::save_resource($pars['url'], $pars['ticket'], $pars['path'], $pars['content']));
     } catch (Exception $e) {
         $err_msg = $e->getMessage();
         self::raiseError("Project resource at `{$pars['path']}' could not been saved due an error: `{$err_msg}'.");
     }
 }