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:24.62 GB of 70.42 GB (34.97%)
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/ guitar.1/ plugins/ content/ joomla/ - drwxr-xr-x

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

// No direct access
defined('_JEXEC') or die;

/**
 * Example Content Plugin
 *
 * @package        Joomla.Plugin
 * @subpackage    Content.joomla
 * @since        1.6
 */
class plgContentJoomla extends JPlugin
{
    
/**
     * Example after save content method
     * Article is passed by reference, but after the save, so no changes will be saved.
     * Method is called right after the content is saved
     *
     * @param    string        The context of the content passed to the plugin (added in 1.6)
     * @param    object        A JTableContent object
     * @param    bool        If the content is just about to be created
     * @since    1.6
     */
    
public function onContentAfterSave($context, &$article$isNew)
    {
        
// Check we are handling the frontend edit form.
        
if ($context != 'com_content.form') {
            return 
true;
        }

        
// Check if this function is enabled.
        
if (!$this->params->def('email_new_fe'1)) {
            return 
true;
        }

        
// Check this is a new article.
        
if (!$isNew) {
            return 
true;
        }

        
$user JFactory::getUser();

        
// Messaging for new items
        
JModel::addIncludePath(JPATH_ADMINISTRATOR.'/components/com_messages/models''MessagesModel');
        
JTable::addIncludePath(JPATH_ADMINISTRATOR.'/components/com_messages/tables');

        
$db JFactory::getDbo();
        
$db->setQuery('SELECT id FROM #__users WHERE sendEmail = 1');
        
$users = (array) $db->loadColumn();

        
$default_language JComponentHelper::getParams('com_languages')->get('administrator');
        
$debug JFactory::getConfig()->get('debug_lang');

        foreach (
$users as $user_id)
        {
            if (
$user_id != $user->id) {
                
// Load language for messaging
                
$receiver JUser::getInstance($user_id);
                
$lang JLanguage::getInstance($receiver->getParam('admin_language'$default_language), $debug);
                
$lang->load('com_content');
                
$message = array(
                    
'user_id_to'    => $user_id,
                    
'subject'        => $lang->_('COM_CONTENT_NEW_ARTICLE'),
                    
'message'        => sprintf($lang->_('COM_CONTENT_ON_NEW_CONTENT'), $user->get('name'), $article->title)
                );
                
$model_message JModel::getInstance('Message''MessagesModel');
                
$model_message->save($message);
            }
        }

        return 
true;
    }

    
/**
     * Don't allow categories to be deleted if they contain items or subcategories with items
     *
     * @param    string    The context for the content passed to the plugin.
     * @param    object    The data relating to the content that was deleted.
     * @return    boolean
     * @since    1.6
     */
    
public function onContentBeforeDelete($context$data)
    {
        
// Skip plugin if we are deleting something other than categories
        
if ($context != 'com_categories.category') {
            return 
true;
        }

        
// Check if this function is enabled.
        
if (!$this->params->def('check_categories'1)) {
            return 
true;
        }

        
$extension JRequest::getString('extension');

        
// Default to true if not a core extension
        
$result true;

        
$tableInfo = array (
            
'com_banners' => array('table_name' => '#__banners'),
            
'com_contact' => array('table_name' => '#__contact_details'),
            
'com_content' => array('table_name' => '#__content'),
            
'com_newsfeeds' => array('table_name' => '#__newsfeeds'),
            
'com_weblinks' => array('table_name' => '#__weblinks')
        );

        
// Now check to see if this is a known core extension
        
if (isset($tableInfo[$extension]))
        {
            
// Get table name for known core extensions
            
$table $tableInfo[$extension]['table_name'];
            
// See if this category has any content items
            
$count $this->_countItemsInCategory($table$data->get('id'));
            
// Return false if db error
            
if ($count === false)
            {
                
$result false;
            }
            else
            {
                
// Show error if items are found in the category
                
if ($count ) {
                    
$msg JText::sprintf('COM_CATEGORIES_DELETE_NOT_ALLOWED'$data->get('title')) .
                    
JText::plural('COM_CATEGORIES_N_ITEMS_ASSIGNED'$count);
                    
JError::raiseWarning(403$msg);
                    
$result false;
                }
                
// Check for items in any child categories (if it is a leaf, there are no child categories)
                
if (!$data->isLeaf()) {
                    
$count $this->_countItemsInChildren($table$data->get('id'), $data);
                    if (
$count === false)
                    {
                        
$result false;
                    }
                    elseif (
$count 0)
                    {
                        
$msg JText::sprintf('COM_CATEGORIES_DELETE_NOT_ALLOWED'$data->get('title')) .
                        
JText::plural('COM_CATEGORIES_HAS_SUBCATEGORY_ITEMS'$count);
                        
JError::raiseWarning(403$msg);
                        
$result false;
                    }
                }
            }

            return 
$result;
        }
    }

    
/**
     * Get count of items in a category
     *
     * @param    string    table name of component table (column is catid)
     * @param    int        id of the category to check
     * @return    mixed    count of items found or false if db error
     * @since    1.6
     */
    
private function _countItemsInCategory($table$catid)
    {
        
$db JFactory::getDbo();
        
$query $db->getQuery(true);
        
// Count the items in this category
        
$query->select('COUNT(id)');
        
$query->from($table);
        
$query->where('catid = ' $catid);
        
$db->setQuery($query);
        
$count $db->loadResult();

        
// Check for DB error.
        
if ($error $db->getErrorMsg())
        {
            
JError::raiseWarning(500$error);
            return 
false;
        }
        else {
            return 
$count;
        }
    }

    
/**
     * Get count of items in a category's child categories
     *
     * @param    string    table name of component table (column is catid)
     * @param    int        id of the category to check
     * @return    mixed    count of items found or false if db error
     * @since    1.6
     */
    
private function _countItemsInChildren($table$catid$data)
    {
        
$db JFactory::getDbo();
        
// Create subquery for list of child categories
        
$childCategoryTree $data->getTree();
        
// First element in tree is the current category, so we can skip that one
        
unset($childCategoryTree[0]);
        
$childCategoryIds = array();
        foreach (
$childCategoryTree as $node) {
            
$childCategoryIds[] = $node->id;
        }

        
// Make sure we only do the query if we have some categories to look in
        
if (count($childCategoryIds))
        {
            
// Count the items in this category
            
$query $db->getQuery(true);
            
$query->select('COUNT(id)');
            
$query->from($table);
            
$query->where('catid IN (' implode(','$childCategoryIds) . ')');
            
$db->setQuery($query);
            
$count $db->loadResult();

            
// Check for DB error.
            
if ($error $db->getErrorMsg())
            {
                
JError::raiseWarning(500$error);
                return 
false;
            }
            else
            {
                return 
$count;
            }
        }
        else
        
// If we didn't have any categories to check, return 0
        
{
            return 
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.2534 seconds