/** * @param UploadArticle $uploadArticle * @param bool $reload * @return bool|Article * @throws ApiException */ public function uploadArticle(UploadArticle $uploadArticle, $reload = false) { if (!file_exists($uploadArticle->getFile())) { throw new ApiException(sprintf("Unable to locate file: %s", $uploadArticle->getFile())); } $multipart = [['name' => 'key', 'contents' => $this->apiKey], ['name' => 'collectionId', 'contents' => $uploadArticle->getCollectionId()], ['name' => 'file', 'contents' => fopen($uploadArticle->getFile(), 'r')], ['name' => 'categoryId', 'contents' => $uploadArticle->getCategoryId()], ['name' => 'slug', 'contents' => $uploadArticle->getSlug()], ['name' => 'type', 'contents' => $uploadArticle->getType()], ['name' => 'reload', 'contents' => $reload]]; $response = $this->doPostMultipart("articles/upload", $multipart); $articleData = (array) $response; return $reload ? new Article(reset($articleData)) : true; }