/** * Recursivly deletes all albums and child albums * * @param int album_id album id to delete * @return int true for success or false for failure * */ function MG_deleteChildAlbums($album_id) { global $MG_albums, $_CONF, $_MG_CONF, $_TABLES, $_USER; $sql = "SELECT * FROM {$_TABLES['mg_albums']} WHERE album_parent=" . $album_id; $aResult = DB_query($sql); $rowCount = DB_numRows($aResult); for ($z = 0; $z < $rowCount; $z++) { $row = DB_fetchArray($aResult); MG_deleteChildAlbums($row['album_id']); } $sql = "SELECT ma.media_id, m.media_filename, m.media_mime_ext\r\n FROM " . $_TABLES['mg_media_albums'] . " as ma LEFT JOIN " . $_TABLES['mg_media'] . " as m ON ma.media_id=m.media_id\r\n WHERE ma.album_id = " . $album_id; $result = DB_query($sql); $nRows = DB_numRows($result); $mediarow = array(); for ($i = 0; $i < $nRows; $i++) { $row = DB_fetchArray($result); $mediarow[] = $row; } if (count($mediarow) != 0) { for ($i = 0; $i < count($mediarow); $i++) { $sql = "SELECT COUNT(media_id) AS count FROM " . $_TABLES['mg_media_albums'] . " WHERE media_id = '" . $mediarow[$i]['media_id'] . "'"; $result = DB_query($sql); $row = DB_fetchArray($result); if ($row['count'] <= 1) { foreach ($_MG_CONF['validExtensions'] as $ext) { @unlink($_MG_CONF['path_mediaobjects'] . 'tn/' . $mediarow[$i]['media_filename'][0] . '/' . $mediarow[$i]['media_filename'] . $ext); @unlink($_MG_CONF['path_mediaobjects'] . 'disp/' . $mediarow[$i]['media_filename'][0] . '/' . $mediarow[$i]['media_filename'] . $ext); } @unlink($_MG_CONF['path_mediaobjects'] . 'orig/' . $mediarow[$i]['media_filename'][0] . '/' . $mediarow[$i]['media_filename'] . '.' . $mediarow[$i]['media_mime_ext']); $sql = "DELETE FROM " . $_TABLES['mg_media'] . " WHERE media_id = '" . $mediarow[$i]['media_id'] . "'"; DB_query($sql); DB_delete($_TABLES['comments'], 'sid', $mediarow[$i]['media_id']); DB_delete($_TABLES['mg_playback_options'], 'media_id', $mediarow[$i]['media_id']); PLG_itemDeleted($mediarow[$i]['media_id'], 'mediagallery'); } } } $sql = "DELETE FROM " . $_TABLES['mg_media_albums'] . " WHERE album_id = " . $album_id; DB_query($sql); $sql = "DELETE FROM " . $_TABLES['mg_albums'] . " WHERE album_id = " . $album_id; DB_query($sql); $feedname = sprintf($_MG_CONF['rss_feed_name'] . "%06d", $album_id); $feedpath = MG_getFeedPath(); @unlink($feedpath . '/' . $feedname . '.rss'); }
function MG_purgeMemberAlbums() { global $_CONF, $_MG_CONF, $_TABLES, $LANG_MG01; $numItems = !empty($_POST['album']) ? count($_POST['album']) : 0; if ($numItems > 0) { for ($i = 0; $i < $numItems; $i++) { $album_id = COM_applyFilter($_POST['album'][$i], true); // grab owner ID $sql = "SELECT owner_id FROM {$_TABLES['mg_albums']} WHERE album_id=" . intval($album_id); $result = DB_query($sql); while (list($owner_id) = DB_fetchArray($result)) { DB_change($_TABLES['mg_userprefs'], 'member_gallery', 0, 'uid', $owner_id); } MG_deleteChildAlbums($album_id); } require_once $_CONF['path'] . 'plugins/mediagallery/include/rssfeed.php'; MG_buildFullRSS(); } echo COM_refresh($_MG_CONF['admin_url'] . 'index.php?msg=8'); exit; }
/** * Recursivly deletes all albums and child albums * * @param int album_id album id to delete * @return int true for success or false for failure * */ function MG_deleteChildAlbums($album_id) { global $_MG_CONF, $_TABLES; $sql = "SELECT album_id " . "FROM {$_TABLES['mg_albums']} " . "WHERE album_parent=" . intval($album_id); $result = DB_query($sql); while ($row = DB_fetchArray($result)) { MG_deleteChildAlbums($row['album_id']); } $sql = "SELECT media_id " . "FROM {$_TABLES['mg_media_albums']} " . "WHERE album_id = " . intval($album_id); $result = DB_query($sql); while ($row = DB_fetchArray($result)) { MG_deleteMedia($row['media_id']); } DB_delete($_TABLES['mg_media_albums'], 'album_id', intval($album_id)); DB_delete($_TABLES['mg_albums'], 'album_id', intval($album_id)); $feedname = sprintf($_MG_CONF['rss_feed_name'] . "%06d", $album_id); $feedpath = MG_getFeedPath(); @unlink($feedpath . '/' . $feedname . '.rss'); }
function MG_purgeMemberAlbums() { global $MG_albums, $_CONF, $_MG_CONF, $_TABLES, $_USER, $LANG_MG00, $LANG_MG01, $_POST; $numItems = count($_POST['album']); for ($i = 0; $i < $numItems; $i++) { // grab owner ID $result = DB_query("SELECT owner_id FROM {$_TABLES['mg_albums']} WHERE album_id=" . (int) COM_applyFilter($_POST['album'][$i], true)); $numRows = DB_numRows($result); if ($numRows > 0) { list($owner_id) = DB_fetchArray($result); DB_query("UPDATE {$_TABLES['mg_userprefs']} SET member_gallery=0 WHERE uid=" . $owner_id, 1); } MG_deleteChildAlbums((int) COM_applyFilter($_POST['album'][$i], true)); } MG_initAlbums(); require_once $_CONF['path'] . 'plugins/mediagallery/include/rssfeed.php'; MG_buildFullRSS(); echo COM_refresh($_MG_CONF['admin_url'] . 'index.php?msg=8'); exit; }