public function post() { $originalProps = $this->props; if (property_exists($this, 'folderProperty') && !is_null($this->folderProperty) && !is_null($this->folderId)) { $this->props[$this->folderProperty] = $this->folderId; } else { if (property_exists($this, 'folderProperty') && !is_null($this->authStub->packageName)) { if (is_null($this->authStub->packageFolders)) { $getPackageFolder = new ET_Folder(); $getPackageFolder->authStub = $this->authStub; $getPackageFolder->props = array("ID", "ContentType"); $getPackageFolder->filter = array("Property" => "Name", "SimpleOperator" => "equals", "Value" => $this->authStub->packageName); $resultPackageFolder = $getPackageFolder->get(); if ($resultPackageFolder->status) { $this->authStub->packageFolders = array(); foreach ($resultPackageFolder->results as $result) { $this->authStub->packageFolders[$result->ContentType] = $result->ID; } } else { throw new Exception('Unable to retrieve folders from account due to: ' . $resultPackageFolder->message); } } if (!array_key_exists($this->folderMediaType, $this->authStub->packageFolders)) { if (is_null($this->authStub->parentFolders)) { $parentFolders = new ET_Folder(); $parentFolders->authStub = $this->authStub; $parentFolders->props = array("ID", "ContentType"); $parentFolders->filter = array("Property" => "ParentFolder.ID", "SimpleOperator" => "equals", "Value" => "0"); $resultParentFolders = $parentFolders->get(); if ($resultParentFolders->status) { $this->authStub->parentFolders = array(); foreach ($resultParentFolders->results as $result) { $this->authStub->parentFolders[$result->ContentType] = $result->ID; } } else { throw new Exception('Unable to retrieve folders from account due to: ' . $resultParentFolders->message); } } $newFolder = new ET_Folder(); $newFolder->authStub = $this->authStub; $newFolder->props = array("Name" => $this->authStub->packageName, "Description" => $this->authStub->packageName, "ContentType" => $this->folderMediaType, "IsEditable" => "true", "ParentFolder" => array("ID" => $this->authStub->parentFolders[$this->folderMediaType])); $folderResult = $newFolder->post(); if ($folderResult->status) { $this->authStub->packageFolders[$this->folderMediaType] = $folderResult->results[0]->NewID; } else { throw new Exception('Unable to create folder for Post due to: ' . $folderResult->message); } } $this->props[$this->folderProperty] = $this->authStub->packageFolders[$this->folderMediaType]; } } $response = new ET_Post($this->authStub, $this->obj, $this->props); $this->props = $originalProps; return $response; }
// Delete Folder print "Delete Folder \n"; $deleteFolder = new ET_Folder(); $deleteFolder->authStub = $myclient; $deleteFolder->props = array("CustomerKey" => $NameOfTestFolder); $deleteResponse = $deleteFolder->delete(); print_r('Delete Status: ' . ($deleteResponse->status ? 'true' : 'false') . "\n"); print 'Code: ' . $deleteResponse->code . "\n"; print 'Message: ' . $deleteResponse->message . "\n"; print 'Results Length: ' . count($deleteResponse->results) . "\n"; print 'Results: ' . "\n"; print_r($deleteResponse->results); print "\n---------------\n"; // Retrieve Folder to confirm deletion print "Retrieve Folder to confirm deletion \n"; $getFolder = new ET_Folder(); $getFolder->authStub = $myclient; $getFolder->filter = array('Property' => 'CustomerKey', 'SimpleOperator' => 'equals', 'Value' => $NameOfTestFolder); $getFolder->props = array("ID"); $getResponse = $getFolder->get(); print_r('Get Status: ' . ($getResponse->status ? 'true' : 'false') . "\n"); print 'Code: ' . $getResponse->code . "\n"; print 'Message: ' . $getResponse->message . "\n"; print_r('More Results: ' . ($getResponse->moreResults ? 'true' : 'false') . "\n"); print 'Results Length: ' . count($getResponse->results) . "\n"; print 'Results: ' . "\n"; print_r($getResponse->results); print "\n---------------\n"; } catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; }