Swiftriver\Core\Modules\DataContext\MySql_V2\DataContext::DeleteContent PHP Method

DeleteContent() public static method

Given an array of content items, this method removes them from the data store.
public static DeleteContent ( Content[] $content )
$content Swiftriver\Core\ObjectModel\Content[]
    public static function DeleteContent($content)
    {
        $logger = \Swiftriver\Core\Setup::GetLogger();
        $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [Method Invoked]", \PEAR_LOG_DEBUG);
        if (!\is_array($content) || \count($content) < 1) {
            $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [No content provided]", \PEAR_LOG_DEBUG);
            $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [Method Finished]", \PEAR_LOG_DEBUG);
            return;
        }
        $deleteContentSql = "CALL SC_DeleteContent( :id )";
        try {
            $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [START: COnnecting to the db via PDO]", \PEAR_LOG_DEBUG);
            $db = self::PDOConnection();
            $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [END: COnnecting to the db via PDO]", \PEAR_LOG_DEBUG);
            $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [START: Preparing PDO statement]", \PEAR_LOG_DEBUG);
            $deleteContentStatement = $db->prepare($deleteContentSql);
            $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [END: Preparing PDO statement]", \PEAR_LOG_DEBUG);
            $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [START: Looping through content]", \PEAR_LOG_DEBUG);
            foreach ($content as $item) {
                $result = $deleteContentStatement->execute(array("id" => $item->id));
                if ($result === false) {
                    $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [An Exception was thrown by the PDO framwork]", \PEAR_LOG_ERR);
                    $errorInfo = $deleteContentStatement->errorInfo();
                    $errorMessage = $errorInfo[2];
                    $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [{$errorMessage}]", \PEAR_LOG_ERR);
                }
            }
            $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [END: Looping through content]", \PEAR_LOG_DEBUG);
        } catch (\PDOException $e) {
            $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [An Exception was thrown:]", \PEAR_LOG_ERR);
            $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [{$e}]", \PEAR_LOG_ERR);
        }
        $logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::DeleteContent [Method Finished]", \PEAR_LOG_DEBUG);
        $db = null;
    }