Source for file DBMS_FIELD_DBATTRSELLIST.phpclass

Documentation is available at DBMS_FIELD_DBATTRSELLIST.phpclass

  1. <?php
  2. /**
  3.   * Class file DBMS_FIELD_DBATTRSELLIST.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 LVUS <http://www.lvus.at>
  11.   * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
  12.   *
  13.   ***/
  14.  
  15. if (empty($GLOBALS['OCSP']['DBMSFLD_PATH'])) $GLOBALS['OCSP']['DBMSFLD_PATH']=dirname(__FILE__)."/";
  16. require_once $GLOBALS['OCSP']['DBMSFLD_PATH']."DBMS_FIELD_SELECTLIST.phpclass";
  17.  
  18.  
  19. /**
  20.   * Class DBMS_FIELD_DBATTRSELLIST
  21.   *
  22.   * @project    Open CSP-Management
  23.   * @package    dbms_field
  24.   * @category   any
  25.   *
  26.   * @author     Peter Krebs <p.krebs@lvus.at>
  27.   * @copyright  &copy; 2002-2005 by LVUS <http://www.lvus.at>
  28.   * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
  29.   *
  30.   ***/
  31.     var $className       = "SelectDbAttribList";
  32.     var $attribTbl       = "";
  33.     var $attribLabelFld  = "";
  34.     var $attribValueFld  = "";
  35.     var $getParams       = "";
  36.     var $query           = "";
  37.     var $allowNullSelect = FALSE;
  38.  
  39.     /**
  40.       * source file of the class
  41.       *
  42.       * @var string $classSrcFile 
  43.       * @since pk-05-01-20
  44.       ***/
  45.     var $classSrcFile=__FILE__;
  46.  
  47.     function editTblForm($showSize=FALSE{
  48.         global $USRDB;
  49.  
  50.         parent::editTblForm($showSize);
  51.        
  52.         echo "<tr><td class=\"fldName\">Tabelle:<td>";
  53.         echo "<td class=\"fldValue\">";
  54.         echo "<select name=\"ATTRIBTBL\">\n";
  55.         $tblLst=$USRDB->getDBTblList();
  56.         reset($tblLst);
  57.         while(list($key,$val)=each($tblLst)) {
  58.             echo "\t<option value=\"$val\"";
  59.             if ($val==$this->attribTblecho " selected";
  60.             echo ">$val\n";
  61.         }
  62.         echo "</select>";
  63.         echo "</td></tr>";
  64.  
  65.         echo "<tr><td class=\"fldName\">Attribut Label Field:<td>";
  66.         echo "<td class=\"fldValue\">";
  67.         echo "<input name=\"ATTRIBLABELFLD\" value=\"".$this->attribLabelFld."\" size=\"32\">";
  68.         echo "</td></tr>";
  69.  
  70.         echo "<tr><td class=\"fldName\">Attribut Label Field:<td>";
  71.         echo "<td class=\"fldValue\">";
  72.         echo "<input name=\"ATTRIBVALUEFLD\" value=\"".$this->attribValueFld."\" size=\"32\">";
  73.         echo "</td></tr>";
  74.  
  75.         echo "<tr><td class=\"fldName\">Get-Where-Params:<br>(; als Trennung)<td>";
  76.         echo "<td class=\"fldValue\">";
  77.         echo "<input name=\"GETPARAMS\" value=\"".$this->getParams."\" size=\"32\">";
  78.         echo "</td></tr>";      
  79.         
  80.         echo "<tr><td class=\"fldName\">NULL Werte:<td>";
  81.         echo "<td class=\"fldValue\">";
  82.         echo "<input name=\"allowNullSelect\" type=\"checkbox\" ".($this->allowNullSelect ? "checked" "")." value=\"1\"> NULL Werte zulassen";
  83.         echo "</td><tr>\n";
  84.           
  85.         echo "<tr><td class=\"fldName\">NULL Label:<td>";
  86.         echo "<td class=\"fldValue\">";
  87.         echo "<input name=\"NULLLABEL\" value=\"".$this->nullLabel."\" size=\"40\">";
  88.         echo "</td></tr>";           
  89.     }
  90.  
  91.     function save({
  92.         $this->attribTbl=$_POST['ATTRIBTBL'];
  93.         $this->attribLabelFld=$_POST['ATTRIBLABELFLD'];
  94.         $this->attribValueFld=$_POST['ATTRIBVALUEFLD'];
  95.         $this->getParams=$_POST['GETPARAMS'];                
  96.         $this->allowNullSelect = (intval($_POST['allowNullSelect']TRUE FALSE );
  97.         $this->nullLabel    =$_POST['NULLLABEL'];
  98.         $this->query="SELECT ".$this->attribValueFld.",".$this->attribLabelFld." FROM ".$this->attribTbl;
  99.  
  100.         return parent::save();                
  101.     }
  102.  
  103.     // ###################################
  104.  
  105.     function writeLabelCol($debug=FALSE{
  106.         global $USRDB;
  107.  
  108.         echo "<td class=\"fldName\">";
  109.         $this->toolTip=str_replace("\r","",$this->toolTip);
  110.         if (!empty($this->toolTip)) echo "<a href=\"javascript:{alert('".str_replace("\n"," ",addslashes($this->toolTip))."');}\" class=\"fldName\">";
  111.  
  112.         if (!is_object($USRDB)) {
  113.             $objcmd "\$DBOBJ = new DB_".$GLOBALS['PROJECT']['DBTYPE'].";";
  114.             eval ($objcmd);
  115.             $DBOBJ->publicConnect($GLOBALS['PROJECT']['DBCONF']);
  116.             $dbVal=$DBOBJ->quickQuery($this->query.$where,1);
  117.             $DBOBJ->disconnect();
  118.         else {
  119.             $dbVal=$USRDB->quickQuery($this->query.$where,1);              
  120.         }
  121.         
  122.         if ($dbValecho $dbVal;
  123.         else echo $this->label;
  124.         
  125.         if (!empty($this->toolTip)) echo "</a>";
  126.         if ($debugecho "(".$this->sortOrder.")";
  127.         echo "</td>";
  128.     }
  129.  
  130.  
  131.     function setMyValues($arrName="DBVAL",$debug=FALSE{
  132.         global $USRDB,${$arrName};
  133.  
  134.         if (!is_object($USRDB)) {
  135.             $objcmd "\$DBOBJ = new DB_".$GLOBALS['PROJECT']['DBTYPE'].";";
  136.             eval ($objcmd);
  137.             $DBOBJ->publicConnect($GLOBALS['PROJECT']['DBCONF']);
  138.             $dbVals=$DBOBJ->quickQuery($this->query.$where,0);
  139.             $DBOBJ->disconnect();
  140.         else {
  141.             $dbVals=$USRDB->quickQuery($this->query.$where,0);
  142.         }
  143.  
  144.  
  145.         $whereFlds=explode(";",$this->getParams);
  146.         if (is_array($whereFlds)) {
  147.             reset($whereFlds);
  148.             $where=" WHERE 1 ";
  149.             while(list($key,$val)=each($whereFlds)) {
  150.                 $where.=" AND $val='".$_GET[$val]."'";
  151.             }
  152.         }
  153.         if (!is_object($USRDB)) {
  154.             $objcmd "\$DBOBJ = new DB_".$GLOBALS['PROJECT']['DBTYPE'].";";
  155.             eval ($objcmd);
  156.             $DBOBJ->publicConnect($GLOBALS['PROJECT']['DBCONF']);
  157.             $dbVals=$DBOBJ->quickQuery($this->query.$where,0);
  158.             $DBOBJ->disconnect();
  159.         else {
  160.             $dbVals=$USRDB->quickQuery($this->query.$where,0);
  161.         }
  162.  
  163.         if ($GLOBALS['DEBUGMODE']echo $this->query.$where."<br><pre>".$dbVals."</pre><br>";
  164.  
  165.         $valArr=$this->getArrayFromString($dbVals);
  166.  
  167.         if ($GLOBALS['DEBUGMODE']echo "<pre>"print_r($valArr)echo "</pre>"}
  168.  
  169.         if (!is_array($valArr)) $valArr=array("NULL"=>"keine Datensätzegefunden");
  170.  
  171.         if ($this->allowNullSelect{
  172.             $this->myValues=array_merge(array('-'=>$this->nullLabel),$valArr);
  173.         else {
  174.             $this->myValues=$valArr;
  175.         }
  176.  
  177.         if ($GLOBALS['DEBUGMODE']echo "<pre>"print_r($this->myValues)echo "</pre>"}
  178.     }
  179.  
  180.     function writeField($mode,$aValue="",$arrName="DBVAL"{
  181.         $this->setMyValues($arrName,$debug);
  182.         return parent::writeField($mode,$aValue,$arrName);
  183.     }
  184.  
  185.     function getScreenValue($aValue,$arrName="DBVAL",$debug=FALSE{
  186.         $this->setMyValues($arrName,$debug);
  187.         return parent::getScreenValue($aVlaue,$arrName,$debug);
  188.     }
  189.  
  190. // end class DBMS_FIELD_DBSELECTLIST
  191. ?>

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