ShellBanner
System:Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686
Software:Apache. PHP/5.3.6-13ubuntu3.10
ID:uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
Safe Mode:OFF
Open_Basedir:OFF
Freespace:20.3 GB of 70.42 GB (28.82%)
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

/ http/ yalagina/ libraries/ joomla/ database/ table/ - drwxr-xr-x

Directory:
Viewing file:     menu.php (5.7 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * @package     Joomla.Platform
 * @subpackage  Database
 *
 * @copyright   Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE
 */

defined('JPATH_PLATFORM') or die;

jimport('joomla.database.tablenested');

/**
 * Menu table
 *
 * @package     Joomla.Platform
 * @subpackage  Table
 * @since       11.1
 */
class JTableMenu extends JTableNested
{
    
/**
     * Constructor
     *
     * @param   JDatabase  &$db  A database connector object
     *
     * @since   11.1
     */
    
public function __construct(&$db)
    {
        
parent::__construct('#__menu''id'$db);

        
// Set the default access level.
        
$this->access = (int) JFactory::getConfig()->get('access');
    }

    
/**
     * Overloaded bind function
     *
     * @param   array  $array   Named array
     * @param   mixed  $ignore  An optional array or space separated list of properties to ignore while binding.
     *
     * @return  mixed  Null if operation was satisfactory, otherwise returns an error
     *
     * @see     JTable::bind
     * @since   11.1
     */
    
public function bind($array$ignore '')
    {
        
// Verify that the default home menu is not unset
        
if ($this->home == '1' && $this->language == '*' && ($array['home'] == '0'))
        {
            
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_CANNOT_UNSET_DEFAULT_DEFAULT'));
            return 
false;
        }
        
//Verify that the default home menu set to "all" languages" is not unset
        
if ($this->home == '1' && $this->language == '*' && ($array['language'] != '*'))
        {
            
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_CANNOT_UNSET_DEFAULT'));
            return 
false;
        }

        
// Verify that the default home menu is not unpublished
        
if ($this->home == '1' && $this->language == '*' && $array['published'] != '1')
        {
            
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_UNPUBLISH_DEFAULT_HOME'));
            return 
false;
        }

        if (isset(
$array['params']) && is_array($array['params']))
        {
            
$registry = new JRegistry;
            
$registry->loadArray($array['params']);
            
$array['params'] = (string) $registry;
        }

        return 
parent::bind($array$ignore);
    }

    
/**
     * Overloaded check function
     *
     * @return  boolean  True on success
     *
     * @see     JTable::check
     * @since   11.1
     */
    
public function check()
    {
        
// If the alias field is empty, set it to the title.
        
$this->alias trim($this->alias);
        if ((empty(
$this->alias)) && ($this->type != 'alias' && $this->type != 'url'))
        {
            
$this->alias $this->title;
        }

        
// Make the alias URL safe.
        
$this->alias JApplication::stringURLSafe($this->alias);
        if (
trim(str_replace('-'''$this->alias)) == '')
        {
            
$this->alias JFactory::getDate()->format('Y-m-d-H-i-s');
        }

        
// Cast the home property to an int for checking.
        
$this->home = (int) $this->home;

        
// Verify that a first level menu item alias is not 'component'.
        
if ($this->parent_id == && $this->alias == 'component')
        {
            
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_ROOT_ALIAS_COMPONENT'));
            return 
false;
        }

        
// Verify that a first level menu item alias is not the name of a folder.
        
jimport('joomla.filesystem.folders');
        if (
$this->parent_id == && in_array($this->aliasJFolder::folders(JPATH_ROOT)))
        {
            
$this->setError(JText::sprintf('JLIB_DATABASE_ERROR_MENU_ROOT_ALIAS_FOLDER'$this->alias$this->alias));
            return 
false;
        }

        
// Verify that the home item a component.
        
if ($this->home && $this->type != 'component')
        {
            
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_HOME_NOT_COMPONENT'));
            return 
false;
        }

        return 
true;
    }

    
/**
     * Overloaded store function
     *
     * @param   boolean  $updateNulls  True to update fields even if they are null.
     *
     * @return  mixed  False on failure, positive integer on success.
     *
     * @see     JTable::store
     * @since   11.1
     */
    
public function store($updateNulls false)
    {
        
$db JFactory::getDBO();
        
// Verify that the alias is unique
        
$table JTable::getInstance('Menu''JTable');
        if (
$table->load(array('alias' => $this->alias'parent_id' => $this->parent_id'client_id' => $this->client_id'language' => $this->language))
            && (
$table->id != $this->id || $this->id == 0))
        {
            if (
$this->menutype == $table->menutype)
            {
                
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_UNIQUE_ALIAS'));
            }
            else
            {
                
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_UNIQUE_ALIAS_ROOT'));
            }
            return 
false;
        }
        
// Verify that the home page for this language is unique
        
if ($this->home == '1')
        {
            
$table JTable::getInstance('Menu''JTable');
            if (
$table->load(array('home' => '1''language' => $this->language)))
            {
                if (
$table->checked_out && $table->checked_out != $this->checked_out)
                {
                    
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_DEFAULT_CHECKIN_USER_MISMATCH'));
                    return 
false;
                }
                
$table->home 0;
                
$table->checked_out 0;
                
$table->checked_out_time $db->getNullDate();
                
$table->store();
            }
            
// Verify that the home page for this menu is unique.
            
if ($table->load(array('home' => '1''menutype' => $this->menutype)) && ($table->id != $this->id || $this->id == 0))
            {
                
$this->setError(JText::_('JLIB_DATABASE_ERROR_MENU_HOME_NOT_UNIQUE_IN_MENU'));
                return 
false;
            }
        }
        if (!
parent::store($updateNulls))
        {
            return 
false;
        }
        
// Get the new path in case the node was moved
        
$pathNodes $this->getPath();
        
$segments = array();
        foreach (
$pathNodes as $node)
        {
            
// Don't include root in path
            
if ($node->alias != 'root')
            {
                
$segments[] = $node->alias;
            }
        }
        
$newPath trim(implode('/'$segments), ' /\\');
        
// Use new path for partial rebuild of table
        // Rebuild will return positive integer on success, false on failure
        
return ($this->rebuild($this->{$this->_tbl_key}, $this->lft$this->level$newPath) > 0);
    }
}
Command:
Quick Commands:
Upload:
[OK] Max size: 100MB
PHP Filesystem: <@ Ú
Search File:
regexp
Create File:
Overwrite [OK]
View File:
Mass Defacement:
[+] Main Directory: [+] Defacement Url:
LmfaoX Shell - Private Build [BETA] - v0.1 -; Generated: 0.3057 seconds