Source for file DBMS_FIELD_MENUSELECT.phpclass

Documentation is available at DBMS_FIELD_MENUSELECT.phpclass

  1. <?php
  2. /**
  3.   * Class file DBMS_FIELD_MENUSELECT.phpclass
  4.   *
  5.   * @project    Open CSP-Management
  6.   * @project    Open CSP-Management
  7.   * @package    dbms_field
  8.   * @category   int
  9.   *
  10.   * @author     Peter Krebs <pitlinz@users.sourceforge.net>
  11.   * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
  12.   * @version $Id: DBMS_FIELD_MENUSELECT.phpclass,v 1.5 2008/06/14 09:50:39 pitlinz Exp $
  13.   */
  14.  
  15. pcf_require_class('DBMS_FIELD_TREESELECT',dirname(__FILE__)."/DBMS_FIELD_TREESELECT.phpclass");
  16.  
  17. /**
  18.   * Class DBMS_FIELD_MENUSELECT
  19.   *
  20.   * @project    Open CSP-Management
  21.   * @package    dbms_field
  22.   * @category   int
  23.   *
  24.   * @author     Peter Krebs <pitlinz@users.sourceforge.net>
  25.   * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
  26.   * @version $Id: DBMS_FIELD_MENUSELECT.phpclass,v 1.5 2008/06/14 09:50:39 pitlinz Exp $
  27.   */
  28.     var $className          = "MENUSELECT";
  29.     var $nullLabel          = "keine Zuordnung";
  30.     var $projId             = -1;
  31.     var $langId             = -1;
  32.  
  33.     /**
  34.       * source file of the class
  35.       *
  36.       * @var string $classSrcFile 
  37.       * @since pk-05-01-20
  38.       ***/
  39.     var $classSrcFile=__FILE__;
  40.  
  41.  
  42.     /**
  43.       * returns an array of field to bie shown in the edit form
  44.       * by using editTbl_echoForm
  45.       *
  46.       * the array is in the form:
  47.       *
  48.       * <code>
  49.       * [_sectionName_]
  50.       *      [TITLE] -> string
  51.       *      [_rowName_]
  52.       *         [FLDLAB]  (complete html code with <td></td>)
  53.       *         [FLDVAL] (complete html code with <td></td>)
  54.       * </code>
  55.       *
  56.       * @param boolean $debug 
  57.       *
  58.       * @returns array
  59.       *
  60.       * @since pk-06-07-04
  61.       *
  62.       ***/
  63.     function editTbl_getFieldEditArr($debug=FALSE{
  64.         if ($debugechoDebugMethod(__FILE__,get_class($this),"DBMS_FIELD_TREESELECT::editTbl_getFieldEditArr","",0);
  65.         $a_ret=parent::editTbl_getFieldEditArr($debug);
  66.  
  67.         $a_ret['COMMON']['FLD_SHOWNULLOPT']=array(
  68.             'FLDLAB'=>"Wurzel (Null) Anzeigen",
  69.             'FLDVAL'=>"<input name=\"showNullOption\" type=\"checkbox\" value=\"1\" ".($this->showNullOption ? "checked=\"checked\"" "")." /> anzeigen
  70.                        <input type=\"hidden\" name=\"nullToZero\" value=\"1\" />"
  71.         );
  72.         $a_ret['DBLOOKUP']['FLD_LUTBL']=array(
  73.                 'FLDLAB' => "Wert:",
  74.                 'FLDVAL' => "T_CMS_MENU.MEN_ID"
  75.             );
  76.         unset($a_ret['DBLOOKUP']['FLD_VALFLD']);
  77.         unset($a_ret['DBLOOKUP']['TREEROOTKEY']);
  78.         unset($a_ret['DBLOOKUP']['PARENTFIELD']);
  79.  
  80.  
  81.         $a_ret['DBLOOKUP']['PROJECT']['FLDLAB']="Projekt:";
  82.         $a_ret['DBLOOKUP']['PROJECT']['FLDVAL']='
  83.                     <select name="projId" size="1">
  84.                         <option value="-1" '.(($this->projId == -1"selected" "").'>HTTP_GET/DBVAL</option>
  85.                         <option value="0"  '.(($this->projId == 0)  "selected" "").'>default</option>'."\n";
  86.         $query="SELECT * FROM T_CMS_PROJECT ORDER BY PROJ_ID";
  87.         if ($cursor=$GLOBALS['USRDB']->query($query)) {
  88.             while($row=$cursor->fetchArray()) {
  89.                 $a_ret['DBLOOKUP']['PROJECT']['FLDVAL'].="<option value='".$row['PROJ_ID']."' ";
  90.                 if ($row['PROJ_ID'== $this->projId{
  91.                     $a_ret['DBLOOKUP']['PROJECT']['FLDVAL'].="selected";
  92.                 }
  93.                 $a_ret['DBLOOKUP']['PROJECT']['FLDVAL'].=">".$row['PROJ_NAME']."</option>\n";
  94.             }
  95.         }
  96.         $a_ret['DBLOOKUP']['PROJECT']['FLDVAL'].="</select>\n";
  97.  
  98.         $a_ret['DBLOOKUP']['LANGUAGE']['FLDLAB']="Sprache:";
  99.         $a_ret['DBLOOKUP']['LANGUAGE']['FLDVAL']='
  100.                     <select name="langId" size="1">
  101.                         <option value="-2" '.(($this->langId == -2"selected" "").'>kein Filter</option>
  102.                         <option value="-1" '.(($this->langId == -1"selected" "").'>HTTP_GET/DBVAL</option>
  103.                         <option value="0"  '.(($this->langId == 0)  "selected" "").'>default</option>'."\n";
  104.         $query="SELECT * FROM T_SYS_LANGUAGE ORDER BY LANG_NAME";
  105.         if ($cursor=$GLOBALS['USRDB']->query($query)) {
  106.             while($row=$cursor->fetchArray()) {
  107.                 $a_ret['DBLOOKUP']['LANGUAGE']['FLDVAL'].="<option value='".$row['LANG_ID']."' ";
  108.                 if ($row['LANG_ID'== $this->langId{
  109.                     $a_ret['DBLOOKUP']['LANGUAGE']['FLDVAL'].="selected";
  110.                 }
  111.                 $a_ret['DBLOOKUP']['LANGUAGE']['FLDVAL'].=">".$row['LANG_NAME']."</option>\n";
  112.             }
  113.         }
  114.         $a_ret['DBLOOKUP']['LANGUAGE']['FLDVAL'].="</select>\n";
  115.         return $a_ret;
  116.     }
  117.  
  118.     function save({
  119.         $ret parent::save();
  120.  
  121.         $this->lookupTable          ="T_CMS_MENU";
  122.         $this->lookupField          ="MEN_ID";
  123.         $this->parentField          ="MEN_PARENT";
  124.         $this->projId               =intval($_POST['projId']);
  125.         $this->langId               =intval($_POST['langId']);
  126.  
  127.         $this->sortField            ="MEN_SORTORDER";
  128.  
  129.         $this->nullLabel            ="Menu Wurzel";
  130.         $this->nullToZero           =true;
  131.  
  132.         return $ret;
  133.     }
  134.  
  135.     // ###########################################
  136.  
  137.     /**
  138.       * returns the database query
  139.       *
  140.       * @param boolean $debug 
  141.       *
  142.       * @global ${$this->myDataArrName} 
  143.       *
  144.       * @return string 
  145.       *
  146.       * @requires pcf_templates.phpinc
  147.       *
  148.       * @since pk-07-09-03
  149.       * @version pk-07-09-26 bugfix PROJ_ID
  150.       *
  151.       * @todo DBMS_FIELD_DBLOOKUPSELECTLIST::getMyValueQuery() remove inline SQL
  152.       */
  153.     function getMyValueQuery($debug=FALSE)
  154.     {
  155.         if ($debugechoDebugMethod(__FILE__,get_class($this),"DBMS_FIELD_MENUSELECT::getMyValueQuery()");
  156.  
  157.         global ${$this->myDataArrName};
  158.  
  159.         $str_query ="SELECT ".$this->lookupField" AS KEYFIELD";
  160.         $str_query.=",".$this->lookupShowField" AS SHOWFIELD";
  161.         $str_query.=",".$this->parentField" AS PARENTFIELD";
  162.         $str_query.=",(MEN_SHOW AND MEN_SHOWFROM < NOW() AND MEN_SHOWTILL >= NOW()) AS ISTOSHOW";
  163.         $str_query.=" FROM ".$this->lookupTable;
  164.  
  165.         if (!empty($this->lookupWhere)) // <pk-05-08-10>
  166.             require_once __OCSP_PHPINCPATH__."common"._OCSP_DIRSEP_."pcf_templates.phpinc";
  167.             $str_query.=" WHERE (".pcf_tmpl_parse($this->lookupWhere,${$this->myDataArrName}).")";
  168.             $str_whereAnd=" AND ";
  169.         else {
  170.             $str_whereAnd=" WHERE ";
  171.         }
  172.  
  173.         if (intval($this->projId > -1))
  174.         {
  175.             $str_query.=$str_whereAnd."PROJ_ID=".intval($this->projId);
  176.         else {
  177.             $str_query.=$str_whereAnd." (";
  178.             if (isset(${$this->myDataArrName}['PROJ_ID'])) {
  179.                 $str_query.="PROJ_ID=".intval(${$this->myDataArrName}['PROJ_ID'])." OR ";
  180.             }
  181.             if (isset($_GET['PROJ_ID'])) {
  182.                 $str_query.="PROJ_ID=".intval($_GET['PROJ_ID'])." OR ";
  183.             }
  184.             if (isset($_POST['PROJ_ID']))
  185.             {
  186.                 $str_query.="PROJ_ID=".intval($_POST['PROJ_ID'])." OR ";
  187.             }
  188.             $str_query=substr($str_query,0,-4).")";
  189.         }
  190.  
  191.         if (empty($this->lookupSort)) {
  192.             $str_query.=" ORDER BY PROJ_ID,MEN_PARENT,MEN_SORTORDER";
  193.         else {
  194.             $str_query.=" ORDER BY PROJ_ID,MEN_PARENT,MEN_SORTORDER,".$this->lookupSort;
  195.         }
  196.         if ($debugechoDebugLine(__FILE__,__LINE__,"<strong>myValueQuery:</strong><br /> $str_query");
  197.         return $str_query;
  198.      }
  199. }
  200. ?>

Documentation generated on Thu, 08 Jan 2009 17:42:26 +0100 by phpDocumentor 1.4.0a2