Annotation of /mambo/branches/4.6/administrator/components/com_trash/admin.trash.php
Parent Directory
|
Revision Log
Revision 186 - (view) (download)
| 1 : | root | 1 | <?php |
| 2 : | /** | ||
| 3 : | * @version $Id: admin.trash.php,v 1.1 2005/07/22 01:53:32 eddieajau Exp $ | ||
| 4 : | * @package Mambo | ||
| 5 : | * @subpackage Trash | ||
| 6 : | * @copyright (C) 2000 - 2005 Miro International Pty Ltd | ||
| 7 : | * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL | ||
| 8 : | * Mambo is Free Software | ||
| 9 : | */ | ||
| 10 : | |||
| 11 : | /** ensure this file is being included by a parent file */ | ||
| 12 : | defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); | ||
| 13 : | |||
| 14 : | // ensure user has access to this function | ||
| 15 : | if (!($acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_trash' ))) { | ||
| 16 : | mosRedirect( 'index2.php', _NOT_AUTH ); | ||
| 17 : | } | ||
| 18 : | |||
| 19 : | require_once( $mainframe->getPath( 'admin_html' ) ); | ||
| 20 : | require_once( $mainframe->getPath( 'class', 'com_frontpage' ) ); | ||
| 21 : | mambo | 117 | require_once($mosConfig_absolute_path.'/components/com_content/content.class.php'); |
| 22 : | root | 1 | |
| 23 : | $task = mosGetParam( $_REQUEST, 'task', array(0) ); | ||
| 24 : | $cid = mosGetParam( $_POST, 'cid', array(0) ); | ||
| 25 : | $mid = mosGetParam( $_POST, 'mid', array(0) ); | ||
| 26 : | if ( !is_array( $cid ) ) { | ||
| 27 : | $cid = array(0); | ||
| 28 : | } | ||
| 29 : | |||
| 30 : | switch ($task) { | ||
| 31 : | case "deleteconfirm": | ||
| 32 : | viewdeleteTrash( $cid, $mid, $option ); | ||
| 33 : | break; | ||
| 34 : | |||
| 35 : | case "delete": | ||
| 36 : | deleteTrash( $cid, $option ); | ||
| 37 : | break; | ||
| 38 : | |||
| 39 : | case "restoreconfirm": | ||
| 40 : | viewrestoreTrash( $cid, $mid, $option ); | ||
| 41 : | break; | ||
| 42 : | |||
| 43 : | case "restore": | ||
| 44 : | restoreTrash( $cid, $option ); | ||
| 45 : | break; | ||
| 46 : | |||
| 47 : | default: | ||
| 48 : | viewTrash( $option ); | ||
| 49 : | break; | ||
| 50 : | } | ||
| 51 : | |||
| 52 : | |||
| 53 : | /** | ||
| 54 : | * Compiles a list of trash items | ||
| 55 : | */ | ||
| 56 : | function viewTrash( $option ) { | ||
| 57 : | global $database, $mainframe, $mosConfig_list_limit; | ||
| 58 : | require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); | ||
| 59 : | |||
| 60 : | $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); | ||
| 61 : | $limitstart = $mainframe->getUserStateFromRequest( "view{". $option ."}limitstart", 'limitstart', 0 ); | ||
| 62 : | // get the total number of content | ||
| 63 : | $query = "SELECT count(*)" | ||
| 64 : | . "\n FROM #__content AS c" | ||
| 65 : | . "\n LEFT JOIN #__categories AS cc ON cc.id = c.catid" | ||
| 66 : | . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" | ||
| 67 : | . "\n WHERE c.state = '-2'" | ||
| 68 : | ; | ||
| 69 : | $database->setQuery( $query ); | ||
| 70 : | $total_content = $database->loadResult(); | ||
| 71 : | $pageNav_content = new mosPageNav( $total_content, $limitstart, $limit ); | ||
| 72 : | |||
| 73 : | // Query content items | ||
| 74 : | $query = "SELECT c.*, g.name AS groupname, cc.name AS catname, s.name AS sectname" | ||
| 75 : | . "\n FROM #__content AS c" | ||
| 76 : | . "\n LEFT JOIN #__categories AS cc ON cc.id = c.catid" | ||
| 77 : | . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" | ||
| 78 : | . "\n INNER JOIN #__groups AS g ON g.id = c.access" | ||
| 79 : | . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" | ||
| 80 : | . "\n WHERE c.state = '-2'" | ||
| 81 : | . "\n ORDER BY s.name, cc.name, c.title" | ||
| 82 : | . "\n LIMIT ". $pageNav_content->limitstart .", ".$pageNav_content->limit ."" | ||
| 83 : | ; | ||
| 84 : | $database->setQuery( $query ); | ||
| 85 : | $contents = $database->loadObjectList(); | ||
| 86 : | mambo | 117 | if (!$contents) $contents = array(); |
| 87 : | root | 1 | |
| 88 : | $query = "SELECT count(*)" | ||
| 89 : | . "\n FROM #__menu AS m" | ||
| 90 : | . "\n LEFT JOIN #__users AS u ON u.id = m.checked_out" | ||
| 91 : | . "\n WHERE m.published = -2" | ||
| 92 : | ; | ||
| 93 : | $database->setQuery( $query ); | ||
| 94 : | $total_menu = $database->loadResult(); | ||
| 95 : | //$total_menu = count( $total_menu ); | ||
| 96 : | $pageNav_menu = new mosPageNav( $total_menu, $limitstart, $limit ); | ||
| 97 : | |||
| 98 : | // Query menu items | ||
| 99 : | $query = "SELECT m.*" | ||
| 100 : | . "\n FROM #__menu AS m" | ||
| 101 : | . "\n LEFT JOIN #__users AS u ON u.id = m.checked_out" | ||
| 102 : | . "\n WHERE m.published = -2" | ||
| 103 : | . "\n ORDER BY m.menutype, m.ordering, m.ordering, m.name" | ||
| 104 : | . "\n LIMIT ". $pageNav_menu->limitstart .", ".$pageNav_menu->limit ."" | ||
| 105 : | ; | ||
| 106 : | $database->setQuery( $query ); | ||
| 107 : | $menus = $database->loadObjectList(); | ||
| 108 : | counterpoi | 186 | t if (!$menus) $menus = array(); |
| 109 : | root | 1 | |
| 110 : | mambo | 112 | foreach ( $contents as $i=>$content) { |
| 111 : | if ( ( $content->sectionid == 0 ) AND ( $content->catid == 0 ) ) { | ||
| 112 : | $contents[$i]->sectname = 'Typed Content'; | ||
| 113 : | } | ||
| 114 : | root | 1 | } |
| 115 : | HTML_trash::showList( $option, $contents, $menus, $pageNav_content, $pageNav_menu ); | ||
| 116 : | } | ||
| 117 : | |||
| 118 : | |||
| 119 : | /** | ||
| 120 : | * Compiles a list of the items you have selected to permanently delte | ||
| 121 : | */ | ||
| 122 : | function viewdeleteTrash( $cid, $mid, $option ) { | ||
| 123 : | global $database, $mainframe; | ||
| 124 : | |||
| 125 : | // seperate contentids | ||
| 126 : | $cids = implode( ',', $cid ); | ||
| 127 : | $mids = implode( ',', $mid ); | ||
| 128 : | |||
| 129 : | if ( $cids ) { | ||
| 130 : | // Content Items query | ||
| 131 : | $query = "SELECT a.title AS name" | ||
| 132 : | . "\n FROM #__content AS a" | ||
| 133 : | . "\n WHERE ( a.id IN (". $cids .") )" | ||
| 134 : | . "\n ORDER BY a.title" | ||
| 135 : | ; | ||
| 136 : | $database->setQuery( $query ); | ||
| 137 : | $items = $database->loadObjectList(); | ||
| 138 : | $id = $cid; | ||
| 139 : | $type = "content"; | ||
| 140 : | } else if ( $mids ) { | ||
| 141 : | // Content Items query | ||
| 142 : | $query = "SELECT a.name" | ||
| 143 : | . "\n FROM #__menu AS a" | ||
| 144 : | . "\n WHERE ( a.id IN (". $mids .") )" | ||
| 145 : | . "\n ORDER BY a.name" | ||
| 146 : | ; | ||
| 147 : | $database->setQuery( $query ); | ||
| 148 : | $items = $database->loadObjectList(); | ||
| 149 : | $id = $mid; | ||
| 150 : | $type = "menu"; | ||
| 151 : | } | ||
| 152 : | |||
| 153 : | HTML_trash::showDelete( $option, $id, $items, $type ); | ||
| 154 : | } | ||
| 155 : | |||
| 156 : | |||
| 157 : | /** | ||
| 158 : | * Permanently deletes the selected list of trash items | ||
| 159 : | */ | ||
| 160 : | function deleteTrash( $cid, $option ) { | ||
| 161 : | global $database, $mainframe; | ||
| 162 : | $type = mosGetParam( $_POST, 'type', array(0) ); | ||
| 163 : | |||
| 164 : | $total = count( $cid ); | ||
| 165 : | |||
| 166 : | if ( $type == "content" ) { | ||
| 167 : | $obj = new mosContent( $database ); | ||
| 168 : | $fp = new mosFrontPage( $database ); | ||
| 169 : | foreach ( $cid as $id ) { | ||
| 170 : | $id = intval( $id ); | ||
| 171 : | $obj->delete( $id ); | ||
| 172 : | $fp->delete( $id ); | ||
| 173 : | } | ||
| 174 : | } else if ( $type == "menu" ) { | ||
| 175 : | $obj = new mosMenu( $database ); | ||
| 176 : | foreach ( $cid as $id ) { | ||
| 177 : | $id = intval( $id ); | ||
| 178 : | $obj->delete( $id ); | ||
| 179 : | } | ||
| 180 : | } | ||
| 181 : | |||
| 182 : | csouza | 165 | $msg = sprintf(Tn_('%s Item successfully Deleted','%s Items successfully Deleted',$total), $total); |
| 183 : | root | 1 | mosRedirect( "index2.php?option=$option&mosmsg=". $msg ."" ); |
| 184 : | } | ||
| 185 : | |||
| 186 : | |||
| 187 : | /** | ||
| 188 : | * Compiles a list of the items you have selected to permanently delte | ||
| 189 : | */ | ||
| 190 : | function viewrestoreTrash( $cid, $mid, $option ) { | ||
| 191 : | global $database, $mainframe; | ||
| 192 : | |||
| 193 : | // seperate contentids | ||
| 194 : | $cids = implode( ',', $cid ); | ||
| 195 : | $mids = implode( ',', $mid ); | ||
| 196 : | |||
| 197 : | if ( $cids ) { | ||
| 198 : | // Content Items query | ||
| 199 : | $query = "SELECT a.title AS name" | ||
| 200 : | . "\n FROM #__content AS a" | ||
| 201 : | . "\n WHERE ( a.id IN (". $cids .") )" | ||
| 202 : | . "\n ORDER BY a.title" | ||
| 203 : | ; | ||
| 204 : | $database->setQuery( $query ); | ||
| 205 : | $items = $database->loadObjectList(); | ||
| 206 : | $id = $cid; | ||
| 207 : | $type = "content"; | ||
| 208 : | } else if ( $mids ) { | ||
| 209 : | // Content Items query | ||
| 210 : | $query = "SELECT a.name" | ||
| 211 : | . "\n FROM #__menu AS a" | ||
| 212 : | . "\n WHERE ( a.id IN (". $mids .") )" | ||
| 213 : | . "\n ORDER BY a.name" | ||
| 214 : | ; | ||
| 215 : | $database->setQuery( $query ); | ||
| 216 : | $items = $database->loadObjectList(); | ||
| 217 : | $id = $mid; | ||
| 218 : | $type = "menu"; | ||
| 219 : | } | ||
| 220 : | |||
| 221 : | HTML_trash::showRestore( $option, $id, $items, $type ); | ||
| 222 : | } | ||
| 223 : | |||
| 224 : | |||
| 225 : | /** | ||
| 226 : | * Restores items selected to normal - restores to an unpublished state | ||
| 227 : | */ | ||
| 228 : | function restoreTrash( $cid, $option ) { | ||
| 229 : | global $database; | ||
| 230 : | $type = mosGetParam( $_POST, 'type', array(0) ); | ||
| 231 : | |||
| 232 : | $total = count( $cid ); | ||
| 233 : | |||
| 234 : | // restores to an unpublished state | ||
| 235 : | $state = "0"; | ||
| 236 : | $ordering = '9999'; | ||
| 237 : | //seperate contentids | ||
| 238 : | $cids = implode( ',', $cid ); | ||
| 239 : | |||
| 240 : | if ( $type == "content" ) { | ||
| 241 : | $query = "UPDATE #__content SET state = '". $state ."', ordering = '". $ordering ."'" | ||
| 242 : | . "\n WHERE id IN ( ". $cids ." )" | ||
| 243 : | ; | ||
| 244 : | } else if ( $type == "menu" ) { | ||
| 245 : | $query = "UPDATE #__menu SET published = '". $state ."', ordering = '9999'" | ||
| 246 : | . "\n WHERE id IN ( ". $cids ." )" | ||
| 247 : | ; | ||
| 248 : | } | ||
| 249 : | |||
| 250 : | $database->setQuery( $query ); | ||
| 251 : | if ( !$database->query() ) { | ||
| 252 : | echo "<script> alert('".$database->getErrorMsg()."'); window.history.go(-1); </script>\n"; | ||
| 253 : | exit(); | ||
| 254 : | } | ||
| 255 : | |||
| 256 : | csouza | 165 | $msg = sprintf(Tn_('%s Item successfully Restored','%s Items successfully Restored',$total),$total); |
| 257 : | root | 1 | mosRedirect( "index2.php?option=$option&mosmsg=". $msg ."" ); |
| 258 : | } | ||
| 259 : | |||
| 260 : | |||
| 261 : | ?> |
| ViewVC Help | |
| Powered by ViewVC 1.0.0 |
Web Hosting provided by Network Redux.

