Source for file suggest.class.php

  1. <?php
  2.  
  3.  
  4. /**
  5.  * $Id: $
  6.  *
  7.  * @package Mediadaily.ru
  8.  * @author Vendelev Artiom
  9.  */
  10.  
  11. class suggest {
  12.     protected $obj = null;
  13.  
  14.     public function __construct($obj{
  15.         $this->obj = $obj;
  16.     }
  17.     public function Get($id$class$params=null{
  18.         return $this->obj->$class->GetOneSuggest($id$params);
  19.     }
  20.     public function Show($params{
  21.         $input $params['params']['input'];
  22.         if (!empty ($input['id'])) {
  23.             $data $this->get($input['id']$input['component']$params);
  24.         else {
  25.             $data array (
  26.                 'id' => '',
  27.                 'name' => ''
  28.             );
  29.         }
  30.  
  31.         if (!empty ($params['params']['template'])) {
  32.             $data['template'$params['params']['template'];
  33.         else {
  34.             $data['template''suggest_view';
  35.         }
  36.  
  37.         $this->obj->tpl->Assign($data);
  38.         $this->obj->tpl->Display('suggest/' $data['template''.tpl');
  39.     }
  40.  
  41.     public function Ajax($params{
  42.         $js_code '';
  43.         $arr $this->PrepareParams($params);
  44.         if ($arr{
  45.             $js_code 'createSuggest(null, ' $arr['json'');';
  46.         }
  47.         return $js_code;
  48.     }
  49.  
  50.     public function Edit($params{
  51.         $arr $this->PrepareParams($params);
  52.         if ($arr{
  53.             $this->obj->tpl->Assign($arr);
  54.             $this->obj->tpl->Display('suggest/' $arr['template''.tpl');
  55.         }
  56.     }
  57.  
  58.     protected function PrepareParams($params{
  59.         if (empty ($params['params']['output']))
  60.             $params['params']['output'array ();
  61.         if (empty ($params['params']['input']))
  62.             $params['params']['input'array ();
  63.  
  64.         $input $params['params']['input'];
  65.         
  66.         if (!empty ($input['component'])) {
  67.  
  68.             $json array (
  69.                 'output' => $params['params']['output']
  70.             );
  71.             if (empty ($input['method']))
  72.                 $input['method''GetSuggest';
  73.             if (!isset ($input['extend']))
  74.                 $input['extend''';
  75.  
  76.             if (!empty ($params['params']['default_name'])) {
  77.                 $json['default_name'$params['params']['default_name'];
  78.             else
  79.                 $json['default_name''';
  80.  
  81.             if (!empty ($params['params']['default_name2'])) {
  82.                 $json['default_name2'$params['params']['default_name2'];
  83.             else
  84.                 $json['default_name2''';
  85.  
  86.             if (!empty ($params['params']['template'])) {
  87.                 $json['template'$params['params']['template'];
  88.             else
  89.                 $json['template''suggest';
  90.  
  91.             if (!empty ($params['params']['fvalidate'])) {
  92.                 $json['fvalidate'$params['params']['fvalidate'];
  93.             else
  94.                 $json['fvalidate''';
  95.  
  96.             if (!empty ($input['id'])) {
  97.                 $data $this->get($input['id']$input['component']$params);
  98.             elseif (!empty ($input['name'])) {
  99.                 $data array (
  100.                     'id' => '',
  101.                     'name' => $input['name']
  102.                 );
  103.             else {
  104.                 $data array (
  105.                     'id' => '',
  106.                     'name' => ''
  107.                 );
  108.             }
  109.             $json['input'array_merge($input$data);
  110.             if (!empty ($params['params']['data'])) {
  111.                 $p_data $params['params']['data'];
  112.                 $json['data'$this->obj->$p_data['component']->$p_data['method']($p_data);
  113.                 if (!empty ($params['params']['data2']&& !empty ($data['parent_id'])) {
  114.                     $p_data $params['params']['data2'];
  115.                     $json['data2'$this->obj->$p_data['component']->$p_data['method']($data['parent_id']);
  116.                 }
  117.  
  118.             }
  119.             
  120.             if (!empty ($params['params']['callback'])) {
  121.                 $json['callback'$params['params']['callback'];
  122.             }
  123.  
  124.             if (!empty ($params['params']['container'])) {
  125.                 $json['container'$params['params']['container'];
  126.             }
  127.  
  128.             if (!empty ($params['params']['output']['id'])) {
  129.                 $prefix $params['params']['output']['id'];
  130.             else
  131.                 $prefix mktime();
  132.  
  133.                            
  134.             return array (
  135.                 'data' => $json,
  136.                 'json' => $this->php2js($json),
  137.                 'prefix' => $prefix,
  138.                 'template' => $json['template'],
  139.                 'default_name' => $json['default_name']
  140.             );
  141.         else
  142.             return null;
  143.     }
  144.  
  145.     public function php2js($a{
  146.         //print_r($a);
  147.         if (is_null($a))
  148.             return 'null';
  149.  
  150.         if ($a === false)
  151.             return 'false';
  152.  
  153.         if ($a === true)
  154.             return 'true';
  155.  
  156.         if (is_scalar($a)) {
  157.             $a addslashes($a);
  158.             $a str_replace("\n"'\n'$a);
  159.             $a str_replace("\r"'\r'$a);
  160.             $a preg_replace('{(</)(script)}i'"$1'+'$2"$a);
  161.  
  162.             return "'$a'";
  163.         }
  164.  
  165.         $isList true;
  166.         for ($i 0reset($a)$i count($a)$i++next($a)) {
  167.             if (key($a!== $i{
  168.                 $isList false;
  169.  
  170.                 break;
  171.             }
  172.         }
  173.  
  174.         $result array ();
  175.         if ($isList{
  176.             foreach ($a as $v)
  177.                 $result[$this->php2js($v);
  178.             return '[' join(','$result']';
  179.         else {
  180.             foreach ($a as $k => $v)
  181.                 $result[$this->php2js($k':' $this->php2js($v);
  182.             return '{' join(','$result'}';
  183.         }
  184.     }
  185. }
  186. ?>

Documentation generated on Thu, 03 Mar 2011 20:14:30 +0300 by phpDocumentor 1.4.3