Plog 1.0.1 > Class / Action / Admin / Admindeletegalleryitemsaction.class.php

Questions? Need Help? Want to share? » PHP Forum
Script Name:
Plog 1.0.1

Download:
plog-1.0.1.zip

Category:
Blog

Archive Content:

Plog 1.0.1

Plog 1.0.1 > Class

Plog 1.0.1 > Class > Action

Plog 1.0.1 > Class > Action > Admin

Plog 1.0.1 > Class > Action

Plog 1.0.1 > Class > Bayesian

Plog 1.0.1 > Class > Config

Plog 1.0.1 > Class > Controller

Plog 1.0.1 > Class > Dao

Plog 1.0.1 > Class > Dao > Customfields

Plog 1.0.1 > Class > Dao

Plog 1.0.1 > Class > Dao > Status

Plog 1.0.1 > Class > Dao

Plog 1.0.1 > Class > Data

Plog 1.0.1 > Class > Data > Date

Plog 1.0.1 > Class > Data

Plog 1.0.1 > Class > Data > Forms

Plog 1.0.1 > Class > Data

Plog 1.0.1 > Class > Data > Pager

Plog 1.0.1 > Class > Data

Plog 1.0.1 > Class > Data > Validator

Plog 1.0.1 > Class > Data > Validator > Rules

Plog 1.0.1 > Class > Data > Validator

Plog 1.0.1 > Class > Database

Plog 1.0.1 > Class > Database > Adodb

Plog 1.0.1 > Class > Database > Adodb > Datadict

Plog 1.0.1 > Class > Database > Adodb > Docs

Plog 1.0.1 > Class > Database > Adodb > Drivers

Plog 1.0.1 > Class > Database > Adodb > Lang

Plog 1.0.1 > Class > Database > Adodb

Plog 1.0.1 > Class > Database > Adodb > Perf

Plog 1.0.1 > Class > Database > Adodb

Plog 1.0.1 > Class > Database

Plog 1.0.1 > Class

Plog 1.0.1 > Class > File

Plog 1.0.1 > Class > File > Finder

Plog 1.0.1 > Class > File > Unpacker

Plog 1.0.1 > Class > Gallery

Plog 1.0.1 > Class > Gallery > Dao

Plog 1.0.1 > Class > Gallery > Data

Plog 1.0.1 > Class > Gallery

Plog 1.0.1 > Class > Gallery > Getid3

Plog 1.0.1 > Class > Gallery > Helperapps

Plog 1.0.1 > Class > Gallery > Resizers

Plog 1.0.1 > Class > Gallery > Template

Plog 1.0.1 > Class > Locale

Plog 1.0.1 > Class > Logger

Plog 1.0.1 > Class > Logger > Appender

Plog 1.0.1 > Class > Logger > Config

Plog 1.0.1 > Class > Logger > Layout

Plog 1.0.1 > Class > Logger > Logger

Plog 1.0.1 > Class > Logger

Plog 1.0.1 > Class > Mail

Plog 1.0.1 > Class > Mail > Phpmailer

Plog 1.0.1 > Class > Mail > Phpmailer > Language

Plog 1.0.1 > Class > Mail > Phpmailer

Plog 1.0.1 > Class > Misc

Plog 1.0.1 > Class > Net

Plog 1.0.1 > Class > Net > Http

Plog 1.0.1 > Class > Net > Http > Phpsniff

Plog 1.0.1 > Class > Net > Http > Session

Plog 1.0.1 > Class > Net > Http

Plog 1.0.1 > Class > Net

Plog 1.0.1 > Class > Net > Xmlrpc

Plog 1.0.1 > Class > Net

Plog 1.0.1 > Class > Object

Plog 1.0.1 > Class > Plugin

Plog 1.0.1 > Class > Security

Plog 1.0.1 > Class > Summary

Plog 1.0.1 > Class > Summary > Action

Plog 1.0.1 > Class > Summary > Dao

Plog 1.0.1 > Class > Summary > Data

Plog 1.0.1 > Class > Summary > Data > Validator

Plog 1.0.1 > Class > Summary > Mail

Plog 1.0.1 > Class > Summary > View

Plog 1.0.1 > Class > Template

Plog 1.0.1 > Class > Template > Menu

Plog 1.0.1 > Class > Template > Smarty

Plog 1.0.1 > Class > Template > Smarty > Core

Plog 1.0.1 > Class > Template > Smarty

Plog 1.0.1 > Class > Template > Smarty > Plugins

Plog 1.0.1 > Class > Template > Smarty

Plog 1.0.1 > Class > Template

Plog 1.0.1 > Class > Template > Templatesets

Plog 1.0.1 > Class > Template

Plog 1.0.1 > Class > View

Plog 1.0.1 > Class > View > Admin

Plog 1.0.1 > Class > View

Plog 1.0.1 > Class > Xml

Plog 1.0.1 > Class > Xml > Parser

Plog 1.0.1 > Class > Xml

Plog 1.0.1 > Class > Xml > Rssparser

Plog 1.0.1 > Class > Xml > Rssparser > Magpierss

Plog 1.0.1 > Class > Xml > Rssparser > Magpierss > Extlib

Plog 1.0.1 > Class > Xml > Rssparser > Magpierss

Plog 1.0.1 > Class > Xml > Rssparser

Plog 1.0.1 > Class > Xml > Tree

Plog 1.0.1 > Class > Xml

Plog 1.0.1

Plog 1.0.1 > Config

Plog 1.0.1

Plog 1.0.1 > Gallery

Plog 1.0.1

Plog 1.0.1 > Imgs

Plog 1.0.1 > Imgs > .xvpics

Plog 1.0.1 > Imgs > Admin

Plog 1.0.1 > Imgs

Plog 1.0.1

Plog 1.0.1 > Install

Plog 1.0.1 > Js

Plog 1.0.1 > Js > Calendar

Plog 1.0.1 > Js > Editor

Plog 1.0.1 > Js > Htmlarea

Plog 1.0.1 > Js > Htmlarea > Docs

Plog 1.0.1 > Js > Htmlarea

Plog 1.0.1 > Js > Htmlarea > Images

Plog 1.0.1 > Js > Htmlarea > Lang

Plog 1.0.1 > Js > Htmlarea > Plugins

Plog 1.0.1 > Js > Htmlarea > Plugins > CharacterMap

Plog 1.0.1 > Js > Htmlarea > Plugins > CharacterMap > Img

Plog 1.0.1 > Js > Htmlarea > Plugins > CharacterMap > Lang

Plog 1.0.1 > Js > Htmlarea > Plugins > CharacterMap > Popups

Plog 1.0.1 > Js > Htmlarea > Plugins > ContextMenu

Plog 1.0.1 > Js > Htmlarea > Plugins > ContextMenu > Lang

Plog 1.0.1 > Js > Htmlarea > Plugins > ContextMenu

Plog 1.0.1 > Js > Htmlarea > Plugins > CSS

Plog 1.0.1 > Js > Htmlarea > Plugins > CSS > Lang

Plog 1.0.1 > Js > Htmlarea > Plugins > DynamicCSS

Plog 1.0.1 > Js > Htmlarea > Plugins > DynamicCSS > Lang

Plog 1.0.1 > Js > Htmlarea > Plugins > EnterParagraphs

Plog 1.0.1 > Js > Htmlarea > Plugins > EnterParagraphs > Lang

Plog 1.0.1 > Js > Htmlarea > Plugins > FullPage

Plog 1.0.1 > Js > Htmlarea > Plugins > FullPage > Img

Plog 1.0.1 > Js > Htmlarea > Plugins > FullPage > Lang

Plog 1.0.1 > Js > Htmlarea > Plugins > FullPage > Popups

Plog 1.0.1 > Js > Htmlarea > Plugins > FullPage

Plog 1.0.1 > Js > Htmlarea > Plugins > InsertSmiley

Plog 1.0.1 > Js > Htmlarea > Plugins > InsertSmiley > Emoticons

Plog 1.0.1 > Js > Htmlarea > Plugins > InsertSmiley > Img

Plog 1.0.1 > Js > Htmlarea > Plugins > InsertSmiley

Plog 1.0.1 > Js > Htmlarea > Plugins > InsertSmiley > Lang

Plog 1.0.1 > Js > Htmlarea > Plugins > InsertSmiley > Popups

Plog 1.0.1 > Js > Htmlarea > Plugins > ListType

Plog 1.0.1 > Js > Htmlarea > Plugins > ListType > Lang

Plog 1.0.1 > Js > Htmlarea > Plugins > ListType

Plog 1.0.1 > Js > Htmlarea > Plugins

Plog 1.0.1 > Js > Htmlarea > Plugins > TableOperations

Plog 1.0.1 > Js > Htmlarea > Plugins > TableOperations > Img

Plog 1.0.1 > Js > Htmlarea > Plugins > TableOperations > Lang

Plog 1.0.1 > Js > Htmlarea > Plugins > TableOperations

Plog 1.0.1 > Js > Htmlarea

Plog 1.0.1 > Js > Htmlarea > Popups

Plog 1.0.1 > Js > Htmlarea

Plog 1.0.1 > Js > Ie7

Plog 1.0.1 > Js > Ie7 > Src

Plog 1.0.1 > Js

Plog 1.0.1 > Js > Ui

Plog 1.0.1

Plog 1.0.1 > Locale

Plog 1.0.1 > Locale > Unsupport

Plog 1.0.1 > Plugins

Plog 1.0.1

Plog 1.0.1 > Styles

Plog 1.0.1

Plog 1.0.1 > Templates

Plog 1.0.1 > Templates > Admin

Plog 1.0.1 > Templates > Admin > Xml

Plog 1.0.1 > Templates > Blueish

Plog 1.0.1 > Templates > Grey

Plog 1.0.1 > Templates > Misc

Plog 1.0.1 > Templates > Rss

Plog 1.0.1 > Templates > Standard

Plog 1.0.1 > Templates > Standard > Imgs

Plog 1.0.1 > Templates > Standard

Plog 1.0.1 > Templates > Summary

Plog 1.0.1 > Templates > Summary > Rss

Plog 1.0.1 > Templates > Summary

Plog 1.0.1 > Templates > Wizard

Plog 1.0.1 > Tmp

Plog 1.0.1

Admindeletegalleryitemsaction.class.php:


<?php

    
include_once( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
    include_once( 
PLOG_CLASS_PATH."class/gallery/dao/galleryresource.class.php" );
    include_once( 
PLOG_CLASS_PATH."class/gallery/dao/galleryalbums.class.php" );
    include_once( 
PLOG_CLASS_PATH."class/template/cachecontrol.class.php" );
    include_once( 
PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" );
    include_once( 
PLOG_CLASS_PATH."class/view/admin/adminresourceslistview.class.php" );

    
/**
     * \ingroup Action
     * @private
     *
     * Deletes resources and albums from the blog
     */
    
class AdminDeleteGalleryItemsAction extends AdminAction
    
{

        var 
$_resourceIds;
        var 
$_albumIds;
        
        var 
$_successMessage;
        var 
$_errorMessage;
        var 
$_totalOk;

        
/**
         * Constructor. If nothing else,  it also has to call the constructor of the parent
         * class,  BlogAction with the same parameters
         */
        
function AdminDeleteGalleryItemsAction$actionInfo,  $request )
        {
            
$this->AdminAction$actionInfo,  $request );

            
$this->_totalOk 0;
            
$this->_successMessage "";
            
$this->_errorMessage "";
            
            
// data validation
            
$this->registerFieldValidator"resourceIds",  new ArrayValidator(),  true );
            
$this->registerFieldValidator"albumIds",  new ArrayValidator(),  true );
            
$view = new AdminResourcesListView$this->_blogInfo );
            
$view->setErrorMessage$this->_locale->tr("error_no_resources_selected"));
            
$this->setValidationErrorView$view );
        }
        
        function 
perform()
        {
            
// create the view
            
$this->_view = new AdminResourcesListView$this->_blogInfo );

            
// fetch the parameters
            
$this->_resourceIds $this->_request->getValue"resourceIds" );
            
$this->_albumIds $this->_request->getValue"albumIds" );

            
// make sure that we're dealing with arrays!
            
if( !is_array$this->_resourceIds)) $this->_resourceIds = Array();
            if( !
is_array$this->_albumIds)) $this->_albumIds = Array();

            
// remove the items,  if any
            
$this->_deleteAlbums();    
            
$this->_deleteResources();

            
// put error and success messages (if any) into the view
            
if( $this->_successMessage != "" $this->_view->setSuccessMessage$this->_successMessage );
            if( 
$this->_errorMessage != "" $this->_view->setErrorMessage$this->_errorMessage );
            
$this->setCommonData();
            
            
// clear the cache
            
CacheControl::resetBlogCache$this->_blogInfo->getId(),  false );

            
// better to return true if everything fine
            
return true;        
        }

        
/**
         * deletes resources from the list
         */
        
function _deleteResources()
        {
            
// load the resource
            
$resources = new GalleryResources();

            
// loop through the array of resource ids and
            // remove them all
                
foreach( $this->_resourceIds as $resourceId => $value ) {
                    
// fetch the resource first,  to get some info about it
                    
$resource $resources->getResource$resourceId,  $this->_blogInfo->getId());
                    
                    if( !
$resource ) {
                        
$this->_errorMessage .= $this->_locale->pr("error_deleting_resource2",  $resourceId )."<br/>";
                    }
                    else {
                        
$this->notifyEventEVENT_PRE_RESOURCE_DELETE,  Array( "resource" => &$resource ));
                        
                        
// and now remove it
                        
$res $resources->deleteResource$resourceId,  $this->_blogInfo->getId());
                        if( 
$res ) {
                            
$this->_totalOk++;
                            if( 
$this->_totalOk )
                                
$this->_successMessage $this->_locale->pr("items_deleted_ok",  $this->_totalOk );
                            else
                                
$this->_successMessage .= $this->_locale->pr("item_deleted_ok",  $resource->getFileName());
                            
$this->notifyEventEVENT_PRE_RESOURCE_DELETE,  Array( "resource" => &$resource ));
                        }
                        else 
                            
$this->_errorMessage .= $this->_locale->pr("error_deleting_resource",  $resource->getFileName())."<br/>";
                    }
                }

        return 
true;
         }

        
/**
         * deletes resources from the list
         */
        
function _deleteAlbums()
        {
            
$albums = new GalleryAlbums();

            
// loop through the array of resource ids and
            // remove them all
                
foreach( $this->_albumIds as $albumId => $value ) {
                    
// fetch the resource first,  to get some info about it
                    
$album $albums->getAlbum$albumId,  $this->_blogInfo->getId());
                    
                    if( !
$album ) {
                        
$this->_errorMessage .= $this->_locale->pr"error_deleting_album2",  $albumId )."<br/>";
                    }
                    else {
                        if( 
$album->getNumChildren() > || $album->getNumResources() > ) {
                            
$this->_errorMessage .= $this->_locale->pr("error_album_has_children",  $album->getName());
                        }
                        else {
                            
$this->notifyEventEVENT_PRE_ALBUM_DELETE,  Array( "album" => &$album ));
                        
                            
// and now remove it
                            
$res $albums->deleteAlbum$albumId,  $this->_blogInfo->getId());
                            if( 
$res ) {
                                
$this->_totalOk++;
                                if( 
$this->_totalOk )
                                    
$this->_successMessage $this->_locale->pr("items_deleted_ok",  $this->_totalOk );
                                else
                                    
$this->_successMessage $this->_locale->pr("item_deleted_ok",  $album->getName());
                            
                                
$this->notifyEventEVENT_POST_ALBUM_DELETE,  Array( "album" => &$album ));
                            }
                            else 
                                
$this->_errorMessage .= $this->_locale->pr("error_deleting_album",  $album->getName())."<br/>";
                        }
                    }
                }

        return 
true;
         }
    }
?>



Other Blog Scripts:

WebMaster Resources Home

©RingsWorld.com