Overview

Packages

  • None
  • PHPShopArray
  • PHPShopClass
    • Helper
  • PHPShopCore
  • PHPShopElements
  • PHPShopGUI
  • PHPShopInc
  • PHPShopObj
  • PHPShopParser
  • PHPShopTest

Classes

  • fase4_rdf
  • PHPShopAdminRule
  • PHPShopArray
  • PHPShopBannerElement
  • PHPShopBase
  • PHPShopBaseXml
  • PHPShopCatalogElement
  • PHPShopCategory
  • PHPShopCategoryArray
  • PHPShopCloudElement
  • PHPShopCore
  • PHPShopCoretest
  • PHPShopCssParser
  • PHPShopDate
  • PHPShopDebug
  • PHPShopDoc
  • PHPShopElements
  • PHPShopFile
  • PHPShopForma
  • PHPShopFrontInterface
  • PHPShopGbook
  • PHPShopGbookElement
  • PHPShopGUI
  • PHPShopIndex
  • PHPShopInterface
  • PHPShopLang
  • PHPShopLinks
  • PHPShopMail
  • PHPShopMailFile
  • PHPShopMap
  • PHPShopModules
  • PHPShopNav
  • PHPShopNews
  • PHPShopNewsElement
  • PHPShopObj
  • PHPShopOpros
  • PHPShopOprosElement
  • PHPShopOrm
  • PHPShopPage
  • PHPShopPageCategory
  • PHPShopPageCategoryArray
  • PHPShopPages
  • PHPShopParser
  • PHPShopPhoto
  • PHPShopPhotoCategory
  • PHPShopPhotoCategoryArray
  • PHPShopPhotoElement
  • PHPShopReadCsv
  • PHPShopReadCsvNative
  • PHPShopReadCsvPro
  • PHPShopRestore
  • PHPShopRssParser
  • PHPShopSearch
  • PHPShopSecurity
  • PHPShopSkinElement
  • PHPShopSkinmarket
  • PHPShopSliderElement
  • PHPShopString
  • PHPShopSystem
  • PHPShopText
  • PHPShopTextElement
  • PHPShopUpdate
  • XMLparser

Functions

  • __
  • allowedFunctions
  • array2iconv
  • CheckCanGzip
  • debug
  • evalstr
  • GzDocOut
  • Open
  • output_handler
  • parseDatabase
  • Parser
  • ParseTemplate
  • ParseTemplateReturn
  • PHPShopAutoLoadClass
  • phpshopparserevalstr
  • preExtractCallBack
  • readDatabase
  • stripslashes_deep
  • SysValueReturn
  • timer
  • tmpGetFile
  • utf8_win1251
  • writeLangFile
  • xml2array
  • Overview
  • Package
  • Class
  1:   2:   3:   4:   5:   6:   7:   8:   9:  10:  11:  12:  13:  14:  15:  16:  17:  18:  19:  20:  21:  22:  23:  24:  25:  26:  27:  28:  29:  30:  31:  32:  33:  34:  35:  36:  37:  38:  39:  40:  41:  42:  43:  44:  45:  46:  47:  48:  49:  50:  51:  52:  53:  54:  55:  56:  57:  58:  59:  60:  61:  62:  63:  64:  65:  66:  67:  68:  69:  70:  71:  72:  73:  74:  75:  76:  77:  78:  79:  80:  81:  82:  83:  84:  85:  86:  87:  88:  89:  90:  91:  92:  93:  94:  95:  96:  97:  98:  99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 
<?php

/**

 * <code>
 * // example:
 * class PHPShopCategoryArray extends PHPShopArray{
 *   function __construct(){
 *   $this->objBase=$GLOBALS['SysValue']['base']['table_name'];
 *   parent::__construct("id","name","PID");
 *   }
  }
 * </code>
 * @author PHPShop Software
 * @version 1.1
 * @package PHPShopClass
 */
class PHPShopArray {

    /**

     */
    var $objBase;

    /**

     * @var array 
     */
    var $objSQL = false;

    /**

     * @var int 
     */
    var $limit = 1000;

    /**

     */
    var $debug = false;
    var $cache = true;

    /**

     */
    var $objType = 1;

    /**

     */
    var $checkKey = false;

    /**

     * @var array
     */
    var $order = array();

    function __construct() {
        $this->objArg = func_get_args();
        $this->objArgNum = func_num_args();
        $this->setArray();
    }

    /**


     */
    function setArray() {
        if (!$this->checkKey and $this->objArgNum > 0) {
            foreach ($this->objArg as $v) {
                $select[] = $v;
            }
        }
        else
            $select[] = "*";


        $PHPShopOrm = new PHPShopOrm($this->objBase);
        $PHPShopOrm->debug = $this->debug;
        $PHPShopOrm->cache = $this->cache;
        $data = $PHPShopOrm->select($select, $this->objSQL, $this->order, array('limit' => $this->limit));

        if (is_array($data))
            foreach ($data as $objRow) {
                switch ($this->objType) {
                    case(1):
                        foreach ($this->objArg as $val)
                            $_array[$val] = $objRow[$val];
                        $array[$objRow[$this->objArg[0]]] = $_array;
                        break;

                    case(2):
                        $array[$objRow[$this->objArg[0]]] = $objRow[$this->objArg[1]];
                        break;

                    case(3):
                        foreach ($this->objArg as $val)
                            $array[$val] = $objRow[$val];
                        break;
                }
            }
        $this->objArray = $array;
    }

    /**

     * @return array
     */
    function getArray() {
        return $this->objArray;
    }

    /**



     */
    function setParam($param, $value) {
        if (strstr($param, '.')) {
            $param = explode(".", $param);
            $this->objArray[$param[0]][$param[1]] = $value;
        }
        else
            $this->objArray[$param] = $value;
    }

    /**


     * @return string
     */
    function getParam($param) {
        if (strstr($param, '.')) {
            $param = explode(".", $param);
            if (isset($this->objArray[$param[0]][$param[1]]))
                return $this->objArray[$param[0]][$param[1]];
        }
        else
            return $this->objArray[$param];
    }

    /**

     * <code>
     * // example:
     * $PHPShopDeliveryArray = new PHPShopDeliveryArray();
     * $PHPShopDeliveryArray -> getKey('PID.name',true);
     * </code>


     * @return array
     */
    function getKey($param, $type = false) {
        $param = explode(".", $param);
        $array = $this->objArray;
        if (is_array($array))
            foreach ($array as $val)
                foreach ($val as $key => $v)
                    if ($key == $param[1]) {
                        if (empty($type)) {
                            $newArray[$val[$param[0]]] = $v;
                        } else {
                            if (empty($newArray[$val[$param[0]]]))
                                $newArray[$val[$param[0]]][] = $v;
                            else
                                $newArray[$val[$param[0]]][] = $v;
                        }
                    }
        return $newArray;
    }

    /**

     * @return int
     */
    function getNum() {
        return count($this->objArray);
    }

    function __call($name, $arguments) {
        if ($name == __CLASS__) {
            self::__construct();
        }
    }

}

?>
API documentation generated by ApiGen