/**
* Delete the Issue, and optionally all sections and articles contained within it.
* @param boolean $p_deleteSections
* @param boolean $p_deleteArticles
* @return int
* Return the number of articles deleted.
*/
public function delete($p_deleteSections = true, $p_deleteArticles = true)
{
global $g_ado_db;
// Delete all scheduled publishing events
IssuePublish::OnIssueDelete($this->m_data['IdPublication'], $this->m_data['Number'], $this->m_data['IdLanguage']);
$articlesDeleted = 0;
if ($p_deleteSections) {
$sections = Section::GetSections($this->m_data['IdPublication'], $this->m_data['Number'], $this->m_data['IdLanguage']);
foreach ($sections as $section) {
$articlesDeleted += $section->delete($p_deleteArticles);
}
}
$tmpData = $this->m_data;
$success = parent::delete();
if ($success) {
$outputSettingIssues = $this->getOutputSettingIssueService()->findByIssue($tmpData['id']);
foreach ($outputSettingIssues as $outputSet) {
$this->getOutputSettingIssueService()->delete($outputSet);
}
}
return $articlesDeleted;
}