Source for file DBMS_FIELD_DBRADIOSELECT.phpclass

Documentation is available at DBMS_FIELD_DBRADIOSELECT.phpclass

  1. <?php
  2. /**
  3.   * Class file DBMS_FIELD_DBRADIOSELECT.phpclass
  4.   *
  5.   * @project    Open CSP-Management
  6.   * @package    dbms_field
  7.   * @category   any
  8.   *
  9.   * @author     Peter Krebs <p.krebs@lvus.at>
  10.   * @copyright  &copy; 2002-2005 by Peter Krebs and Landesverlag Unternehmensservice
  11.   * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
  12.   *
  13.   ***/
  14.  
  15. if (empty($GLOBALS['OCSP']['PHPFORMPATH'])) $GLOBALS['OCSP']['PHPFORMPATH']=dirname(__FILE__)."/";
  16.  
  17. if (!class_exists("DBMS_FIELD_RADIOSELECT")) {
  18.     require_once dirname(__FILE__)."/DBMS_FIELD_RADIOSELECT.phpclass";
  19. }
  20.  
  21. /**
  22.   * Class DBMS_FIELD_DBRADIOSELECT
  23.   *
  24.   * @project    Open CSP-Management
  25.   * @package    dbms_field
  26.   * @category   any
  27.   *
  28.   * @author     Peter Krebs <p.krebs@lvus.at>
  29.   * @copyright  &copy; 2002-2005 by Peter Krebs and Landesverlag Unternehmensservice
  30.   * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
  31.   *
  32.   ***/
  33.  
  34.     // ###########################################################
  35.     // OBJECT (CONST) VAR DECLARATION
  36.     // ###########################################################
  37.  
  38.      var $className       = "RadioDBSelect";
  39.      /**
  40.        * a sql query to get data array
  41.        * @var string $query 
  42.        ***/
  43.      var $query           = "";
  44.      /**
  45.        * allow not selecting an entry
  46.        * if $this->allowNullSelect = TRUE and $this->allowNull is false 0 is returned
  47.        * @param bool $allowNullSelect 
  48.        ***/
  49.      var $allowNullSelect = FALSE;
  50.  
  51.     /**
  52.       * source file of the class
  53.       *
  54.       * @var string $classSrcFile 
  55.       * @since pk-05-02-19
  56.       ***/
  57.     var $classSrcFile=__FILE__;
  58.  
  59.     // ###########################################################
  60.     // OBJECT SETTINGS METHODS
  61.     // ###########################################################
  62.  
  63.     /**
  64.       * returns an array of field to bie shown in the edit form
  65.       * by using editTbl_echoForm
  66.       *
  67.       * the array is in the form:
  68.       *
  69.       * <code>
  70.       * [_sectionName_]
  71.       *      [TITLE] -> string
  72.       *      [_rowName_]
  73.       *         [FLDLAB]  (complete html code with <td></td>)
  74.       *         [FLDVAL] (complete html code with <td></td>)
  75.       * </code>
  76.       *
  77.       * @param boolean $debug 
  78.       *
  79.       * @returns array
  80.       *
  81.       * @since pk-06-04-26
  82.       *
  83.       ***/
  84.     function editTbl_getFieldEditArr($debug=FALSE{
  85.         if ($debugechoDebugMethod(__FILE__,get_class($this),"DBMS_FIELD_DBRADIOSELECT::editTbl_getFieldEditArr","",0);
  86.         $a_ret=parent::editTbl_getFieldEditArr($debug);
  87.  
  88.         $a_ret['SELECT']['FLD_LSTVALS']=NULL;
  89.         $a_ret['SELECT']['FLD_LSTQUERY']=array(
  90.             'FLDLAB'=>"Query (SELECT KEY,VALUE ..)",
  91.             'FLDVAL'=>"<textarea name=\"SELECTQUERY\" cols=\"40\" rows=\"5\" wrap=\"off\">".htmlspecialchars($this->query)."</textarea>"
  92.         );
  93.  
  94.         return $a_ret;
  95.     }
  96.  
  97.  
  98.     /* *
  99.       * echos the filed definition form
  100.       *
  101.       * @param boolean $showSize
  102.       * @param boolean $showNull
  103.       * @param boolean $showValueList
  104.       *
  105.       * @version pk-05-11-25 bugfix
  106.       *
  107.       *
  108.      function editTblForm($showSize=FALSE,$showNull=TRUE,$showValueList=FALSE) {
  109.         parent::editTblForm($showSize,$showNull,$showValueList);
  110.  
  111.         if ($this->className == "RadioDBSelect") {
  112.             echo "<tr><td class=\"fldName\">Query (SELECT KEY,VALUE ..):</td>";
  113.             echo "<td class=\"fldValue\">";
  114.             echo "<textarea name=\"SELECTQUERY\" cols=\"40\" rows=\"5\" wrap=\"off\">";
  115.             echo htmlspecialchars($this->query); // <pk-05-11-25 /> htmlspecialchars added
  116.             echo "</textarea></td><tr>\n";
  117.         }
  118.  
  119.         echo "<tr><td class=\"fldName\">NULL Werte:</td>";
  120.         echo "<td class=\"fldValue\">";
  121.         echo "<input name=\"allowNullSelect\" type=\"checkbox\" ".($this->allowNullSelect ? "checked" : "")." value=\"1\"> NULL Werte zulassen";
  122.         echo "</td><tr>\n";
  123.  
  124.         echo "<tr><td class=\"fldName\">NULL Label:</td>";
  125.         echo "<td class=\"fldValue\">";
  126.         echo "<input name=\"nullLabel\" value=\"".$this->nullLabel."\" size=\"40\">";
  127.         echo "</td></tr>";
  128.     }
  129. */
  130.     /**
  131.       * save the filed definition form
  132.       **/
  133.  
  134.     function save({
  135.         $ret=parent::save();
  136.         $this->query            =$GLOBALS[$this->getGlobalDBObjIdx()]->checkQuery($_POST['SELECTQUERY'],PQT_SELECT);
  137.         $this->allowNullSelect  =(intval($_POST['allowNullSelect']TRUE FALSE );
  138.         $this->nullLabel        =$_POST['nullLabel'];
  139.         $this->myValues         =NULL;  // make sure that is has no entries from historical class changes
  140.         return $ret;
  141.     }
  142.  
  143.     // ###########################################################
  144.     // OBJECT DATA METHODS
  145.     // ###########################################################
  146.  
  147.     /**
  148.       * sets populates $this->myValues array from the database
  149.       *
  150.       * @param string $arrName 
  151.       * @param bool $debug 
  152.       *
  153.       * @version pk-03-12-18
  154.       *
  155.       ***/
  156.     function setMyValues($arrName="DBVAL",$debug=FALSE{
  157.         if ($debugecho "<p><b>DBMS_FIELD_DBRADIOSELECT::setMyValues($arrName)</b> (".get_class($this).")</p><blockquote>\n";
  158.         global ${$arrName};
  159.  
  160.         if ($debugecho "<p>Query: ".htmlspecialchars($this->query)."</p>";
  161.         if (!is_object($GLOBALS[$this->getGlobalDBObjIdx()])) {
  162.            $objcmd "\$DBOBJ = new DB_".$GLOBALS['PROJECT']['DBTYPE'].";";
  163.            eval ($objcmd);
  164.            $DBOBJ->publicConnect($GLOBALS['PROJECT']['DBCONF']);
  165.            $dbVals=$DBOBJ->queryArray($this->query,0,1);
  166.            $DBOBJ->disconnect();
  167.         else {
  168.             $dbVals=$GLOBALS['USRDB']->queryArray($this->query,0,1);
  169.         }
  170.  
  171.         if (!is_array($dbVals)) $dbVals=array("NULL"=>"keine Datensätzegefunden");
  172.  
  173.         if ($this->allowNullSelect{
  174.             $this->myValues=array_merge(array(0=>$this->nullLabel),$dbVals);
  175.         else {
  176.             $this->myValues=$dbVals;
  177.         }
  178.  
  179.         if ($debugecho "ROWS: <pre>".htmlspecialchars(print_r($this->myValues,TRUE))."</pre>";
  180.  
  181.     }
  182.  
  183.     // ###########################################################
  184.     // OBJECT HTML FORM METHODS
  185.     // ###########################################################
  186.  
  187.  
  188.     // ###########################################################
  189.     // SEARCH FORM METHODS
  190.     // ###########################################################
  191.  
  192.  
  193.     // ###########################################################
  194.     // OBJECT HTML FORM METHODS
  195.     // ###########################################################
  196.  
  197.  
  198.     // ###########################################################
  199.     // OBJECT VALUE CHECK METHODS
  200.     // ###########################################################
  201.  
  202.  
  203. // end class DBMS_FIELD_DBRADIOSELECT
  204. ?>

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