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:19.96 GB of 70.42 GB (28.34%)
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:     content.php (9.94 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.tableasset');
jimport('joomla.database.table');

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

    
/**
     * Method to compute the default name of the asset.
     * The default name is in the form table_name.id
     * where id is the value of the primary key of the table.
     *
     * @return  string
     *
     * @since   11.1
     */
    
protected function _getAssetName()
    {
        
$k $this->_tbl_key;
        return 
'com_content.article.' . (int) $this->$k;
    }

    
/**
     * Method to return the title to use for the asset table.
     *
     * @return  string
     *
     * @since   11.1
     */
    
protected function _getAssetTitle()
    {
        return 
$this->title;
    }

    
/**
     * Method to get the parent asset id for the record
     *
     * @param   JTable   $table  A JTable object (optional) for the asset parent
     * @param   integer  $id     The id (optional) of the content.
     *
     * @return  integer
     *
     * @since   11.1
     */
    
protected function _getAssetParentId($table null$id null)
    {
        
// Initialise variables.
        
$assetId null;

        
// This is a article under a category.
        
if ($this->catid)
        {
            
// Build the query to get the asset id for the parent category.
            
$query $this->_db->getQuery(true);
            
$query->select($this->_db->quoteName('asset_id'));
            
$query->from($this->_db->quoteName('#__categories'));
            
$query->where($this->_db->quoteName('id') . ' = ' . (int) $this->catid);

            
// Get the asset id from the database.
            
$this->_db->setQuery($query);
            if (
$result $this->_db->loadResult())
            {
                
$assetId = (int) $result;
            }
        }

        
// Return the asset id.
        
if ($assetId)
        {
            return 
$assetId;
        }
        else
        {
            return 
parent::_getAssetParentId($table$id);
        }
    }

    
/**
     * 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 string
     *
     * @see     JTable::bind
     * @since   11.1
     */
    
public function bind($array$ignore '')
    {
        
// Search for the {readmore} tag and split the text up accordingly.
        
if (isset($array['articletext']))
        {
            
$pattern '#<hr\s+id=("|\')system-readmore("|\')\s*\/*>#i';
            
$tagPos preg_match($pattern$array['articletext']);

            if (
$tagPos == 0)
            {
                
$this->introtext $array['articletext'];
                
$this->fulltext '';
            }
            else
            {
                list (
$this->introtext$this->fulltext) = preg_split($pattern$array['articletext'], 2);
            }
        }

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

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

        
// Bind the rules.
        
if (isset($array['rules']) && is_array($array['rules']))
        {
            
$rules = new JAccessRules($array['rules']);
            
$this->setRules($rules);
        }

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

    
/**
     * Overloaded check function
     *
     * @return  boolean  True on success, false on failure
     *
     * @see     JTable::check
     * @since   11.1
     */
    
public function check()
    {
        if (
trim($this->title) == '')
        {
            
$this->setError(JText::_('COM_CONTENT_WARNING_PROVIDE_VALID_NAME'));
            return 
false;
        }

        if (
trim($this->alias) == '')
        {
            
$this->alias $this->title;
        }

        
$this->alias JApplication::stringURLSafe($this->alias);

        if (
trim(str_replace('-'''$this->alias)) == '')
        {
            
$this->alias JFactory::getDate()->format('Y-m-d-H-i-s');
        }

        if (
trim(str_replace('&nbsp;'''$this->fulltext)) == '')
        {
            
$this->fulltext '';
        }

        if (
trim($this->introtext) == '' && trim($this->fulltext) == '')
        {
            
$this->setError(JText::_('JGLOBAL_ARTICLE_MUST_HAVE_TEXT'));
            return 
false;
        }

        
// Check the publish down date is not earlier than publish up.
        
if ($this->publish_down $this->_db->getNullDate() && $this->publish_down $this->publish_up)
        {
            
$this->setError(JText::_('JGLOBAL_START_PUBLISH_AFTER_FINISH'));
            return 
false;
        }

        
// Clean up keywords -- eliminate extra spaces between phrases
        // and cr (\r) and lf (\n) characters from string
        
if (!empty($this->metakey))
        {
            
// Only process if not empty
            
$bad_characters = array("\n""\r""\"""<"">"); // array of characters to remove
            
$after_clean JString::str_ireplace($bad_characters""$this->metakey); // remove bad characters
            
$keys explode(','$after_clean); // create array using commas as delimiter
            
$clean_keys = array();

            foreach (
$keys as $key)
            {
                if (
trim($key))
                {
                    
// Ignore blank keywords
                    
$clean_keys[] = trim($key);
                }
            }
            
$this->metakey implode(", "$clean_keys); // put array back together delimited by ", "
        
}

        return 
true;
    }

    
/**
     * Overrides JTable::store to set modified data and user id.
     *
     * @param   boolean  $updateNulls  True to update fields even if they are null.
     *
     * @return  boolean  True on success.
     *
     * @since   11.1
     */
    
public function store($updateNulls false)
    {
        
$date JFactory::getDate();
        
$user JFactory::getUser();

        if (
$this->id)
        {
            
// Existing item
            
$this->modified $date->toSql();
            
$this->modified_by $user->get('id');
        }
        else
        {
            
// New article. An article created and created_by field can be set by the user,
            // so we don't touch either of these if they are set.
            
if (!intval($this->created))
            {
                
$this->created $date->toSql();
            }

            if (empty(
$this->created_by))
            {
                
$this->created_by $user->get('id');
            }
        }
        
// Verify that the alias is unique
        
$table JTable::getInstance('Content''JTable');
        if (
$table->load(array('alias' => $this->alias'catid' => $this->catid)) && ($table->id != $this->id || $this->id == 0))
        {
            
$this->setError(JText::_('JLIB_DATABASE_ERROR_ARTICLE_UNIQUE_ALIAS'));
            return 
false;
        }
        return 
parent::store($updateNulls);
    }

    
/**
     * Method to set the publishing state for a row or list of rows in the database
     * table. The method respects checked out rows by other users and will attempt
     * to checkin rows that it can after adjustments are made.
     *
     * @param   mixed    $pks     An optional array of primary key values to update.  If not set the instance property value is used.
     * @param   integer  $state   The publishing state. eg. [0 = unpublished, 1 = published]
     * @param   integer  $userId  The user id of the user performing the operation.
     *
     * @return  boolean  True on success.
     *
     * @since   11.1
     */
    
public function publish($pks null$state 1$userId 0)
    {
        
// Initialise variables.
        
$k $this->_tbl_key;

        
// Sanitize input.
        
JArrayHelper::toInteger($pks);
        
$userId = (int) $userId;
        
$state = (int) $state;

        
// If there are no primary keys set check to see if the instance key is set.
        
if (empty($pks))
        {
            if (
$this->$k)
            {
                
$pks = array($this->$k);
            }
            
// Nothing to set publishing state on, return false.
            
else
            {
                
$this->setError(JText::_('JLIB_DATABASE_ERROR_NO_ROWS_SELECTED'));
                return 
false;
            }
        }

        
// Build the WHERE clause for the primary keys.
        
$where $k '=' implode(' OR ' $k '='$pks);

        
// Determine if there is checkin support for the table.
        
if (!property_exists($this'checked_out') || !property_exists($this'checked_out_time'))
        {
            
$checkin '';
        }
        else
        {
            
$checkin ' AND (checked_out = 0 OR checked_out = ' . (int) $userId ')';
        }

        
// Get the JDatabaseQuery object
        
$query $this->_db->getQuery(true);

        
// Update the publishing state for rows with the given primary keys.
        
$query->update($this->_db->quoteName($this->_tbl));
        
$query->set($this->_db->quoteName('state') . ' = ' . (int) $state);
        
$query->where('(' $where ')' $checkin);
        
$this->_db->setQuery($query);
        
$this->_db->query();

        
// Check for a database error.
        
if ($this->_db->getErrorNum())
        {
            
$this->setError($this->_db->getErrorMsg());
            return 
false;
        }

        
// If checkin is supported and all rows were adjusted, check them in.
        
if ($checkin && (count($pks) == $this->_db->getAffectedRows()))
        {
            
// Checkin the rows.
            
foreach ($pks as $pk)
            {
                
$this->checkin($pk);
            }
        }

        
// If the JTable instance value is in the list of primary keys that were set, set the instance.
        
if (in_array($this->$k$pks))
        {
            
$this->state $state;
        }

        
$this->setError('');

        return 
true;
    }

    
/**
     * Converts record to XML
     *
     * @param   boolean  $mapKeysToText  Map foreign keys to text values
     *
     * @return  string  Record in XML format
     *
     * @since   11.1
     * @deprecated  12.1
     * @codeCoverageIgnore
     */
    
public function toXML($mapKeysToText false)
    {
        
// Deprecation warning.
        
JLog::add('JTableContent::toXML() is deprecated.'JLog::WARNING'deprecated');

        if (
$mapKeysToText)
        {
            
// Get the JDatabaseQuery object
            
$query $this->_db->getQuery(true);

            
$query->select($this->_db->quoteName('name'));
            
$query->from($this->_db->quoteName('#__categories'));
            
$query->where($this->_db->quoteName('id') . ' = ' . (int) $this->catid);
            
$this->_db->setQuery($query);
            
$this->catid $this->_db->loadResult();

            
$query->clear();
            
$query->select($this->_db->quoteName('name'));
            
$query->from($this->_db->quoteName('#__users'));
            
$query->where($this->_db->quoteName('id') . ' = ' . (int) $this->created_by);
            
$this->_db->setQuery($query);
            
$this->created_by $this->_db->loadResult();
        }

        return 
parent::toXML($mapKeysToText);
    }
}
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.3034 seconds