/** * Delete a download. * * @param AUTO_LINK The ID of the download to delete * @param boolean Whether to leave the actual file behind */ function delete_download($id, $leave = false) { $myrows = $GLOBALS['SITE_DB']->query_select('download_downloads', array('name', 'description', 'comments'), array('id' => $id), '', 1); if (!array_key_exists(0, $myrows)) { warn_exit(do_lang_tempcode('MISSING_RESOURCE')); } $myrow = $myrows[0]; log_it('DELETE_DOWNLOAD', strval($id), get_translated_text($myrow['name'])); delete_lang($myrow['name']); delete_lang($myrow['description']); delete_lang($myrow['comments']); require_code('seo2'); seo_meta_erase_storage('downloads_download', strval($id)); if (!$leave) { require_code('files2'); delete_upload('uploads/downloads', 'download_downloads', 'url', 'id', $id); } // Delete from database $GLOBALS['SITE_DB']->query_delete('download_downloads', array('id' => $id), '', 1); $GLOBALS['SITE_DB']->query_delete('download_logging', array('id' => $id)); $GLOBALS['SITE_DB']->query_delete('rating', array('rating_for_type' => 'downloads', 'rating_for_id' => $id)); $GLOBALS['SITE_DB']->query_delete('trackbacks', array('trackback_for_type' => 'downloads', 'trackback_for_id' => $id)); $GLOBALS['SITE_DB']->query_update('download_downloads', array('out_mode_id' => NULL), array('out_mode_id' => $id), '', 1); if (addon_installed('galleries')) { // Delete gallery $name = 'download_' . strval($id); require_code('galleries2'); $test = $GLOBALS['SITE_DB']->query_value_null_ok('galleries', 'parent_id', array('name' => 'download_' . strval($id))); if (!is_null($test)) { delete_gallery($name); } } decache('main_recent_downloads'); decache('main_top_downloads'); decache('main_download_category'); decache('main_download_tease'); }
/** * Standard aed_module delete actualiser. * * @param ID_TEXT The entry being deleted */ function delete_actualisation($id) { delete_gallery($id); }