!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/home/jerryg/public_html/gallery2/modules/core/   drwxr-xr-x
Free 318.34 GB of 458.09 GB (69.49%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     module.inc (16.02 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
 * Gallery - a web based photo album viewer and editor
 * Copyright (C) 2000-2007 Bharat Mediratta
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or (at
 * your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA  02110-1301, USA.
 */

/**
 * The implementation of the core-module
 * @package GalleryCore
 * @author Bharat Mediratta <bharat@menalto.com>
 * @version $Revision: 16141 $
 */
class CoreModule extends GalleryModule {

    function 
CoreModule() {
    global 
$gallery;

    
$this->setId('core');
    
$this->setName($gallery->i18n('Core'));
    
$this->setGalleryVersion('2.2.1');

    
/* Don't forget to update CoreModuleExtras::upgrade and _prepareConfigUpgrade too! */
    
$this->setVersion('1.2.0.1');

    
$this->setDescription($gallery->i18n('Gallery 2 Core Module'));
    
$this->setGroup('gallery'$gallery->i18n('Gallery'));
    
$this->setCallbacks('registerEventListeners'
        
'|getItemLinks|getSystemLinks'
        
'|getSiteAdminViews|getUserAdminViews|getItemAdminViews');
    
$this->setRequiredCoreApi(array(718));
    
$this->setRequiredModuleApi(array(34));
    }

    
/**
     * @see GalleryModule::registerEventListeners
     */
    
function registerEventListeners() {
    
GalleryCoreApi::requireOnce('modules/core/classes/helpers/GalleryItemHelper_medium.class');
    
$handler = new GalleryItemHelper_medium();
    
GalleryCoreApi::registerEventListener('Gallery::ViewableTreeChange'$handler);
    
GalleryCoreApi::registerEventListener('Gallery::RemovePermission'$handler);
    
GalleryCoreApi::registerEventListener('GalleryEntity::save'$handler);
    
GalleryCoreApi::registerEventListener('GalleryEntity::delete'$handler);
    
GalleryCoreApi::requireOnce('modules/core/classes/helpers/GalleryUserHelper_medium.class');
    
$handler2 = new GalleryUserHelper_medium();
    
GalleryCoreApi::registerEventListener('Gallery::FailedLogin'$handler2true);
    
GalleryCoreApi::registerEventListener('Gallery::Login'$handler2true);
    }

    
/**
     * @see GalleryModule::getItemLinks
     */
    
function getItemLinks($items$wantsDetailedLinks$permissions$userId) {
    global 
$gallery;

    list (
$ret$rootId) = GalleryCoreApi::getPluginParameter('module''core''id.rootAlbum');
    if (
$ret) {
        return array(
$retnull);
    }

    
/* Fetch child counts */
    
$itemIds = array();
    foreach (
$items as $item) {
        
$itemIds[] = $item->getId();
    }

    
/*
     * We're not doing this as the acting user id, but that's OK because we're not displaying
     * the result; we're only using it as a gating factor for whether or not we show a link, and
     * that'll also be gated by the permissions we receive which *will* be for the acting user.
     */
    
list ($ret$childCounts) = GalleryCoreApi::fetchChildCounts($itemIds);
    if (
$ret) {
        return array(
$retnull);
    }

    
/* Fetch thumbnail ids */
    
list ($ret$thumbTable) = GalleryCoreApi::fetchThumbnailsByItemIds($itemIds);
    if (
$ret) {
        return array(
$retnull);
    }

    
$links = array();
    foreach (
$items as $item) {
        
$itemId $item->getId();
        
$isRoot = ($itemId == $rootId);
        
$isAlbum $item->getCanContainChildren();

        
/* Permissions for its parent */
        
list ($ret$parentPermissions) =
        
GalleryCoreApi::getPermissions($item->getParentId(), $userId);
        if (
$ret) {
        return array(
$retnull);
        }

        if (isset(
$wantsDetailedLinks[$itemId]) && $isAlbum &&
            isset(
$permissions[$itemId]['core.addDataItem'])) {
        
$links[$itemId][] =
            array(
'text' => $this->_translate('Add Items'),
              
'params' => array('view' => 'core.ItemAdmin',
                        
'subView' => 'core.ItemAdd',
                        
'itemId' => $itemId,
                        
'return' => 1));
        }

        
$itemTypeNames array_merge($item->itemTypeName(), $item->itemTypeName(false));
        if (isset(
$permissions[$itemId]['core.edit'])) {
        
/* Specific translations: _('Edit Album') _('Edit Photo') _('Edit Movie') */
        
$links[$itemId][] =
            array(
'text' => $this->_translate(
                  array(
'text' => 'Edit %s''arg1' => $itemTypeNames[0]),
                  
$itemTypeNames[2]),
              
'params' => array('view' => 'core.ItemAdmin',
                        
'subView' => 'core.ItemEdit',
                        
'itemId' => $itemId,
                        
'return' => 1));
        }

        if (isset(
$wantsDetailedLinks[$itemId]) && $isAlbum
            
&& isset($permissions[$itemId]['core.addAlbumItem'])) {
        
$links[$itemId][] =
            array(
'text' => $this->_translate('Add Album'),
              
'params' => array('view' => 'core.ItemAdmin',
                        
'subView' => 'core.ItemAddAlbum',
                        
'itemId' => $itemId,
                        
'return' => 1));
        }

        if (isset(
$permissions[$itemId]['core.edit'])) {
        
$links[$itemId][] =
            array(
'text' => isset($permissions[$itemId]['core.changePermissions'])
                ? 
$this->_translate('Edit Permissions')
                : 
$this->_translate('View Permissions'),
              
'params' => array('view' => 'core.ItemAdmin',
                        
'subView' => 'core.ItemPermissions',
                        
'itemId' => $itemId,
                        
'return' => 1));
        }

        if (!
$isRoot && isset($permissions[$itemId]['core.delete'])) {
        
/* Specific translations: _('Delete Album') _('Delete Photo') _('Delete Movie') */
        
$links[$itemId][] =
            array(
'text' => $this->_translate(
                  array(
'text' => 'Delete %s''arg1' => $itemTypeNames[0]),
                  
$itemTypeNames[2]),
              
'params' => array('view' => 'core.ItemAdmin',
                        
'subView' => 'core.ItemDelete',
                        
'itemId' => $item->getParentId(),
                        
'selectedId' => $itemId,
                        
'return' => 1));
        }

        if (!
$isRoot && isset($permissions[$itemId]['core.delete'])) {
        
/* Specific translations: _('Move Album') _('Move Photo') _('Move Movie') */
        
$links[$itemId][] =
            array(
'text' => $this->_translate(
                  array(
'text' => 'Move %s''arg1' => $itemTypeNames[0]),
                  
$itemTypeNames[2]),
              
'params' => array('view' => 'core.ItemAdmin',
                        
'subView' => 'core.ItemMove',
                        
'itemId' => $item->getParentId(),
                        
'selectedId' => $itemId,
                        
'return' => 1));
        }

        if (isset(
$wantsDetailedLinks[$itemId]) && $isAlbum
            
&& isset($permissions[$itemId]['core.edit']) && !empty($childCounts[$itemId])
            && 
$childCounts[$itemId] > 0) {
        
$link = array('text' => $this->_translate('Edit Captions'),
                  
'params' => array('view' => 'core.ItemAdmin',
                        
'subView' => 'core.ItemEditCaptions',
                        
'itemId' => $itemId,
                        
'return' => 1));
        list (
$thisItemId$thisPage) =
            
GalleryUtilities::getRequestVariables('itemId''page');
        if (!empty(
$thisItemId) && !empty($thisPage) && $thisItemId == $item->getId()) {
            
$link['params']['albumPage'] = $thisPage;
        }
        
$links[$itemId][] = $link;
        }

        if (!
$isRoot && isset($thumbTable[$itemId]) && isset($parentPermissions['core.edit'])) {
        
$links[$itemId][] =
            array(
'text' => $this->_translate('Make Highlight'),
              
'params' => array('view' => 'core.ItemAdmin',
                        
'subView' => 'core.ItemMakeHighlight',
                        
'itemId' => $itemId,
                        
'return' => 1));
        }

        if (
$isAlbum && isset($permissions[$itemId]['core.edit'])
            && !empty(
$childCounts[$itemId]) && $childCounts[$itemId] > 1) {
        
$links[$itemId][] =
            array(
'text' => $this->_translate('Reorder Items'),
              
'params' => array('view' => 'core.ItemAdmin',
                        
'subView' => 'core.ItemReorder',
                        
'itemId' => $itemId,
                        
'return' => 1));
        }
    }

    return array(
null$links);
    }

    
/**
     * @see GalleryModule::getSystemLinks
     */
    
function getSystemLinks() {
    global 
$gallery;

    list (
$ret$param) = GalleryCoreApi::fetchAllPluginParameters('module''core');
    if (
$ret) {
        return array(
$retnull);
    }

    
$links = array();
    list (
$ret$isAdmin) = GalleryCoreApi::isUserInSiteAdminGroup();
    if (
$ret) {
        return array(
$retnull);
    }

    if (
$isAdmin) {
        
$links['SiteAdmin'] = array('text' => $this->translate('Site Admin'),
                    
'params' => array('view' => 'core.SiteAdmin',
                              
'return' => 1));
    }

    if (
$gallery->getConfig('login')) {
        list (
$ret$isAnonymous) = GalleryCoreApi::isAnonymousUser();
        if (
$ret) {
        return array(
$retnull);
        }
        if (
$isAnonymous) {
        
$links['Login'] = array('text' => $this->translate('Login'),
                    
'params' => array('view' => 'core.UserAdmin',
                              
'subView' => 'core.UserLogin',
                              
'return' => 1));
        } else {
                
$user $gallery->getActiveUser();
                
$links['YourAccount'] = array('text' => $this->translate('Your Account'),
                                              
'params' => array('view' => 'core.UserAdmin',
                                                                
'subView' => 'core.UserPreferences',
                                                                
'return' => 1));
        
$links['Logout'] = array('text' => $this->translate('Logout'),
                     
'params' => array('controller' => 'core.Logout',
                               
'return' => 1));
        }
    }

    return array(
null$links);
    }

    
/**
     * @see GalleryModule::getSiteAdminViews
     */
    
function getSiteAdminViews() {
    
$data = array(array('name' => $this->translate('General'),
                
'view' => 'core.AdminCore'),
              array(
'name' => $this->translate('Plugins'),
                
'view' => 'core.AdminPlugins'),
              array(
'name' => $this->translate('Users'),
                
'view' => 'core.AdminUsers'),
              array(
'name' => $this->translate('Groups'),
                
'view' => 'core.AdminGroups'),
              array(
'name' => $this->translate('Maintenance'),
                
'view' => 'core.AdminMaintenance'),
              array(
'name' => $this->translate('Themes'),
                
'view' => 'core.AdminThemes'),
              array(
'name' => $this->translate('Performance'),
                
'view' => 'core.AdminPerformance'),
              );

    list (
$ret$list) = GalleryCoreApi::getRedundantToolkitPriorities();
    if (
$ret) {
        return array(
$retnull);
    }
    if (!empty(
$list)) {
        
$data[] = array('name' => $this->translate('Toolkit Priority'),
                
'view' => 'core.AdminToolkitPriority',
                
'group' => 'toolkits',
                
'groupLabel' => $this->translate('Graphics Toolkits'));
    }

    return array(
null$data);
    }

    
/**
     * @see GalleryModule::getUserAdminViews
     */
    
function getUserAdminViews($user) {
    global 
$gallery;
    
$views = array();

    if (
$gallery->getConfig('login')) {
        list (
$ret$isAnonymous) = GalleryCoreApi::isAnonymousUser($user->getId());
        if (
$ret) {
        return array(
$retnull);
        }

        if (!
$isAnonymous) {
                if (!
$user->isLocked()) {
                    
$views[] = array('name' => $this->translate('Account Settings'),
                                     
'view' => 'core.UserPreferences');
                    
$views[] = array('name' => $this->translate('Change Password'),
                                     
'view' => 'core.UserChangePassword');
                }
        } else {
        
$views[] = array('name' => $this->translate('Login'),
                 
'view' => 'core.UserLogin');
        }
    }

    return array(
null$views);
    }

    
/**
     * @see GalleryModule::getItemAdminViews
     */
    
function getItemAdminViews($item) {
    global 
$gallery;

    
$views = array();
    list (
$ret$permissions) = GalleryCoreApi::getPermissions($item->getId());
    if (
$ret) {
        return array(
$retnull);
    }

    
$childCount 0;
    
$isAlbum $item->getCanContainChildren();
    if (
$isAlbum) {
        list (
$ret$childCounts) = GalleryCoreApi::fetchChildCounts(array($item->getId()));
        if (
$ret) {
        return array(
$retnull);
        }
        
$childCount = empty($childCounts[$item->getId()]) ? $childCounts[$item->getId()];
    }

    
/* Fetch thumbnail ids */
    
list ($ret$thumbTable) =
        
GalleryCoreApi::fetchThumbnailsByItemIds(array($item->getId()));
    if (
$ret) {
        return array(
$retnull);
    }
    
$hasThumb = !empty($thumbTable[$item->getId()]);

    
$parentId $item->getParentId();
    list (
$ret$parentPermissions) = GalleryCoreApi::getPermissions($parentId);
    if (
$ret) {
        return array(
$retnull);
    }

    list (
$ret$rootId) = GalleryCoreApi::getPluginParameter('module''core''id.rootAlbum');
    if (
$ret) {
        return array(
$retnull);
    }

    
$itemTypeNames array_merge($item->itemTypeName(), $item->itemTypeName(false));
    if (isset(
$permissions['core.edit'])) {
        if (
$isAlbum && $childCount 1) {
        
$views[] = array('name' => $this->_translate('Reorder Items'),
                 
'view' => 'core.ItemReorder');
        }
        if (
$isAlbum && $childCount 0) {
        
$views[] = array('name' => $this->_translate('Edit Captions'),
                 
'view' => 'core.ItemEditCaptions');
        }

        
/* Edit view for all item types */
        
$views[] = array('name' => $this->_translate(
                  array(
'text' => 'Edit %s''arg1' => $itemTypeNames[0]),
                  
$itemTypeNames[2]),
                 
'view' => 'core.ItemEdit');
        
$views[] = array('name' => isset($permissions['core.changePermissions'])
                 ? 
$this->_translate('Edit Permissions')
                 : 
$this->_translate('View Permissions'),
                 
'view' => 'core.ItemPermissions');
    }

    if (!empty(
$parentId) && $hasThumb && isset($parentPermissions['core.edit'])) {
        
$views[] = array('name' => $this->_translate('Make Highlight'),
                 
'view' => 'core.ItemMakeHighlight');
    }

    if (isset(
$permissions['core.delete'])) {
        if (
$item->getId() != $rootId) {
        
$views[] = array('name' => $this->_translate(
                     array(
'text' => 'Delete %s''arg1' => $itemTypeNames[0]),
                     
$itemTypeNames[2]),
                 
'view' => 'core.ItemDeleteSingle');

        
$views[] = array('name' => $this->_translate(
                     array(
'text' => 'Move %s''arg1' => $itemTypeNames[0]),
                     
$itemTypeNames[2]),
                 
'view' => 'core.ItemMoveSingle');
        }
    }

    if (isset(
$permissions['core.addDataItem']) && $isAlbum) {
        
$views[] = array('name' => $this->_translate('Add Items'),
                 
'view' => 'core.ItemAdd');
    }

    if (isset(
$permissions['core.addAlbumItem']) && $isAlbum) {
        
$views[] = array('name' => $this->_translate('Add Album'),
                 
'view' => 'core.ItemAddAlbum');
    }

    return array(
null$views);
    }

    
/**
     * We pushed all this code into its own file since we need it very rarely so it doesn't make
     * sense to load it every single time.
     *
     * @see GalleryModule::install
     */
    
function upgrade($currentVersion$statusMonitor) {
    
GalleryCoreApi::requireOnce('modules/core/CoreModuleExtras.inc');
    
$ret CoreModuleExtras::upgrade($this$currentVersion$statusMonitor);
    if (
$ret) {
        return 
$ret;
    }
    return 
null;
    }

    
/**
     * Set the current version of Gallery.
     */
    
function setGalleryVersion($version) {
    
$this->_galleryVersion $version;
    }

    
/**
     * Get the current version of Gallery.
     */
    
function getGalleryVersion() {
    return 
$this->_galleryVersion;
    }

    
/**
     * Get the version of the core module and of Gallery itself.  We store this on disk to avoid
     * having to load up the database (which can be problematic if we're doing an upgrade and don't
     * want to count a specific database schema.
     *
     * @return array 'core' => core module version, 'gallery' => gallery version
     * @static
     */
    
function getInstalledVersions() {
    global 
$gallery;
    static 
$versions;

    if (!isset(
$versions)) {
        
$platform =& $gallery->getPlatform();
        
$versionFile $gallery->getConfig('data.gallery.base') . 'versions.dat';

        
$moduleVersion null;
        
$galleryVersion null;
        if (
$platform->file_exists($versionFile)) {
        
$versionArray $platform->file($versionFile);
        if (
count($versionArray) >= 2) {
            
$versions['core'] = rtrim($versionArray[0]);
            
$versions['gallery'] = rtrim($versionArray[1]);
        }
        }
    }

    return 
$versions;
    }

    
/**
     * @see GalleryModule::performFactoryRegistrations
     */
    
function performFactoryRegistrations() {
    
GalleryCoreApi::requireOnce('modules/core/CoreModuleExtras.inc');
    
$ret CoreModuleExtras::performFactoryRegistrations($this);
    if (
$ret) {
        return 
$ret;
    }
    return 
null;
    }
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0067 ]--