public static function SaveChannels($channels)
{
$logger = \Swiftriver\Core\Setup::GetLogger();
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [Method Invoked]", \PEAR_LOG_DEBUG);
if (!\is_array($channels) || count($channels) < 1) {
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [No channels supplied]", \PEAR_LOG_DEBUG);
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [Method finished]", \PEAR_LOG_DEBUG);
return;
}
$sql = "CALL SC_SaveChannel ( :id, :type, :subType, :active, :inProcess, :nextRun, :json)";
try {
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [START: Connecting to db via PDO]", \PEAR_LOG_DEBUG);
$db = self::PDOConnection();
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [END: Connecting to db via PDO]", \PEAR_LOG_DEBUG);
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [START: Preparing PDO statment]", \PEAR_LOG_DEBUG);
$statement = $db->prepare($sql);
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [END: Preparing PDO statment]", \PEAR_LOG_DEBUG);
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [START: Looping through channels]", \PEAR_LOG_DEBUG);
foreach ($channels as $channel) {
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [START: Executing PDO statement for channel]", \PEAR_LOG_DEBUG);
$parameters = array("id" => $channel->id, "type" => $channel->type, "subType" => $channel->subType, "active" => $channel->active, "inProcess" => $channel->inprocess, "nextRun" => $channel->nextrun, "json" => \json_encode($channel));
$result = $statement->execute($parameters);
if ($result === false) {
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [An Exception was thrown by the PDO framwork]", \PEAR_LOG_ERR);
$errorInfo = $statement->errorInfo();
$errorMessage = $errorInfo[2];
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [{$errorMessage}]", \PEAR_LOG_ERR);
}
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [END: Executing PDO statement for channel]", \PEAR_LOG_DEBUG);
}
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [END: Looping through channels]", \PEAR_LOG_DEBUG);
$db = null;
} catch (\PDOException $e) {
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [An exception was thrown]", \PEAR_LOG_ERR);
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [{$e}]", \PEAR_LOG_ERR);
}
$logger->log("Core::Modules::DataContext::MySQL_V2::DataContext::SaveChannels [Method Finished]", \PEAR_LOG_DEBUG);
}