Source for file MED_IMAGE.phpclass

Documentation is available at MED_IMAGE.phpclass

  1. <?php
  2. /**
  3.   * Class file MED_IMAGE.phpclass
  4.   *
  5.   * @project    Open CSP-Management
  6.   * @package    media
  7.   *
  8.   * @author     Peter Krebs (pk) <p.krebs@lvus.at>
  9.   * @copyright  (c) 2002-2003 by Peter Krebs and Landesverlag Unternehmensservice
  10.   * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
  11.   *
  12.   * @since pk-03-12-18
  13.   *
  14.   ***/
  15.  
  16. require_once __OCSP_PHPINCPATH__."default_config/media.conf.phpinc";
  17. require_once $GLOBALS['MED']['PHPINCPATH']."MED_FILE.phpclass";
  18.  
  19.  
  20. /**
  21.   * Class MED_IMAGE
  22.   *
  23.   * Handels medias which consists only of one single file
  24.   *
  25.   * @project    Open CSP-Management
  26.   * @package    cms
  27.   *
  28.   * @author     Peter Krebs (pk) <p.krebs@lvus.at>
  29.   * @copyright  (c) 2002-2003 by Peter Krebs and Landesverlag Unternehmensservice
  30.   * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
  31.   *
  32.   * @since pk-03-12-18
  33.   *
  34.   ***/
  35. class MED_IMAGE extends MED_FILE {
  36.     /**
  37.       * array of object variables to store to the db field MEF_OBJVARS
  38.       * @var myObjVars 
  39.       ***/
  40.     var $myObjVars=array("gdInfo","showSize","listSize","serverresize");
  41.  
  42.     /**
  43.       * return array of getimagesize
  44.       * @var $gdInfo 
  45.       ***/
  46.     var $gdInfo = array();
  47.  
  48.     /**
  49.       * @var array $showSize 
  50.       ***/
  51.     var $showSize = array('WIDTH'=>-1,'HEIGHT'=>-1);
  52.     /**
  53.       * @var array $listSize 
  54.       ***/
  55.     var $listSize = array('WIDTH'=>-1,'HEIGHT'=>20);
  56.  
  57.     /**
  58.       * @var boolean $serverresize 
  59.       ***/
  60.     var $serverresize=1;
  61.  
  62.  
  63.     /**
  64.       * @staticvar stirng $myClassSrcFile 
  65.       * @since pk-05-09-13
  66.       ***/
  67.     var $myClassSrcFile=__FILE__;
  68.  
  69.     
  70.     // ###################################################################
  71.     // data manipulation
  72.     // ###################################################################
  73.  
  74.     /**
  75.       * @returns int
  76.       * @since pk-04-08-10
  77.       ***/
  78.     function getListWidth({
  79.         return ($this->listSize['WIDTH'$this->listSize['WIDTH'$GLOBALS['MED']['IMGDEFAULTS']['LISTWIDTH']);
  80.     }
  81.  
  82.     /**
  83.       * @returns int
  84.       * @since pk-04-08-10
  85.       ***/
  86.     function getListHeight({
  87.         return ($this->listSize['HEIGHT'$this->listSize['HEIGHT'$GLOBALS['MED']['IMGDEFAULTS']['LISTHEIGHT']);
  88.     }
  89.  
  90.     /**
  91.       * returns a field => value array for dbms
  92.       *
  93.       * use this in cms and dbms elements to get
  94.       * $DBVAL array
  95.       *
  96.       * overwrite this and add some special values
  97.       * for objects if needed
  98.       *
  99.       * @see dbms
  100.       *
  101.       * @param bool $setFIELDS    if true $ret['_DBMS_FIELDS'] is filled
  102.       * @param bool $debug        show debug info?
  103.       *
  104.       * @return array 
  105.       *
  106.       ***/
  107.     function getDBVAL($setFIELDS=FALSE,$debug=FALSE{
  108.         if ($debugecho "<p><b>MED_IMAGE::getDBVAL($setFIELDS,$debug)</b> (".get_class($this).")</p><blockquote>";
  109.         if (!$this->populateTS$this->dbPopulate($debug);
  110.  
  111.         $ret=parent::getDBVAL($setFIELDS,$debug);
  112.         if (empty($this->showSize['WIDTH']&& ($this->showSize['WIDTH'!== 0&& (file_exists($this->MEF_FILE))) {
  113.             $size=getimagesize($this->MEF_FILE);
  114.             $ret['SHOWWIDTH']   =$size[0];
  115.             $ret['SHOWHEIGHT']  =$size[1];
  116.         else {
  117.             $ret['SHOWWIDTH']   =$this->showSize['WIDTH'];
  118.             $ret['SHOWHEIGHT']  =$this->showSize['HEIGHT'];
  119.         }
  120.         $ret['LISTWIDTH']       =$this->listSize['WIDTH'];
  121.         $ret['LISTHEIGHT']      =$this->listSize['HEIGHT'];
  122.         $ret['SERVERRESIZE']    =$this->serverresize;
  123.  
  124.         $ret['_DBMS_FIELDS'].=",SHOWWIDTH,SHOWHEIGHT,LISTWIDTH,LISTHEIGHT,SERVERRESIZE";
  125.  
  126.         if ($debugecho "<pre>".print_r($ret,TRUE)."</pre></blockquote>";
  127.         return $ret;
  128.     }
  129.  
  130.  
  131.     /**
  132.       * sets post array with form checks
  133.       *
  134.       * @param  DBMS_FORM $frmObj      a formObj as ref
  135.       * @param  array     $dbVal       array with data
  136.       * @param  bool      $debug 
  137.       *
  138.       * @return bool 
  139.       *
  140.       * @version pk-03-12-13
  141.       *
  142.       ***/
  143.     function setFORMPOST(&$frmObj,$dbval,$debug=FALSE{
  144.         if ($debugecho "<hr><p><b>MED_IMAGE::setFORMPOST($frmObj,$dbval,$debug)</b> (".get_class($this).")</p>";
  145.         if (parent::setFORMPOST($frmObj,$dbval,$debug)) {
  146.             $this->showSize['WIDTH']    =intval($dbval['SHOWWIDTH']);
  147.             $this->showSize['HEIGHT']   =intval($dbval['SHOWHEIGHT']);
  148.             $this->listSize['WIDTH']    =intval($dbval['LISTWIDTH']);
  149.             $this->listSize['HEIGHT']   =intval($dbval['LISTHEIGHT']);
  150.             $this->serverresize         =($dbval['SERVERRESIZE'TRUE FALSE);
  151.             return TRUE;
  152.         }
  153.     }
  154.  
  155.     /**
  156.       * returns a database form
  157.       *
  158.       * @param int    $mode       dbms form show mode
  159.       * @param string $frmName    dbms form name
  160.       *
  161.       * @return DBMS_FORM 
  162.       *
  163.       ***/
  164.     function &dbGetForm($mode,$frmName "")  {
  165.         if ($frmObj=parent::dbGetForm($mode,$frmName)) {
  166.             if (!$frmObj->fieldExists("SHOWSIZE","MEDOBJVAL")) {
  167.                 $fldLabel=&$frmObj->addNoDbClassField("DBMS_FIELD_FLDGROUP","SHOWSIZE_LABEL","Anzeige Gr��e","MEDOBJVAL");
  168.                 $fld=&$frmObj->addNoDbField("SHOWWIDTH"," Breite: ",DBMS_FLDTYPE_INT,"MEDOBJVAL");
  169.                 $fld->size=4;
  170.                 $fld->unit="px";
  171.                 $fldLabel->addField($fld);
  172.                 $fld=&$frmObj->addNoDbField("SHOWHEIGHT","H�he: ",DBMS_FLDTYPE_INT,"MEDOBJVAL");
  173.                 $fld->size=4;
  174.                 $fld->unit="px";
  175.                 $fldLabel->addField($fld);
  176.                 $fldLabel->addSubLabels=TRUE;
  177.                 $fldLabel->grpfldSep="&nbsp;x&nbsp;";
  178.  
  179.                 $fldLabel=&$frmObj->addNoDbClassField("DBMS_FIELD_FLDGROUP","LISTSIZE_LABEL","Listen Gr��e","MEDOBJVAL");
  180.                 $fld=&$frmObj->addNoDbField("LISTWIDTH"," Breite: ",DBMS_FLDTYPE_INT,"MEDOBJVAL");
  181.                 $fld->size=4;
  182.                 $fld->unit="px";
  183.                 $fldLabel->addField($fld);
  184.                 $fld=&$frmObj->addNoDbField("LISTHEIGHT","H�he: ",DBMS_FLDTYPE_INT,"MEDOBJVAL");
  185.                 $fld->size=4;
  186.                 $fld->unit="px";
  187.                 $fldLabel->addField($fld);
  188.                 $fldLabel->addSubLabels=TRUE;
  189.                 $fldLabel->grpfldSep="&nbsp;x&nbsp;";
  190.  
  191.  
  192.                 $fld=&$frmObj->addNoDbClassField("DBMS_FIELD_CHECKBOX","SERVERRESIZE","automatische Gr��e: ","MEDOBJVAL");
  193.  
  194.             }
  195.             return $frmObj;
  196.         else {
  197.             return FALSE;
  198.         }
  199.     }
  200.  
  201.     // ###################################################################
  202.     //  FILE METHODS
  203.     // ###################################################################
  204.  
  205.     /**
  206.       * sets file with attribs
  207.       *
  208.       * @param string $aName 
  209.       * @param bool $isTmp 
  210.       * @param bool $debug 
  211.       *
  212.       ***/
  213.     function setFile($aName,$isTmp=FALSE,$debug=FALSE{    
  214.         if ($debugecho "<p><b>MED_IMAGE::setFile($aName,$isTmp,$debug)</b> (".get_class($this).")</p>";
  215.         if (parent::setFile($aName,$isTmp,$debug)) {
  216.             return TRUE;
  217.         else {
  218.             return FALSE;
  219.         }
  220.     }
  221.  
  222.     /**
  223.       * gets the html list tag representing the file
  224.       *
  225.       * @param array $argArr 
  226.       * @param boolean $debug 
  227.       *
  228.       * @returns string
  229.       *
  230.       * @since pk-04-08-10
  231.       *
  232.       ***/
  233.     function getHTMLListTag($argArr=NULL,$debug=FALSE{
  234.         if ($debugecho "<p><b>MED_FILE::getHTMLListTag(<blockquote><pre>".print_r($argArr,TRUE)."</pre></blockquote>...)</b> (".get_class($this).")</p>";
  235.  
  236.         $ret ="<img ";
  237.         if (intval($argArr['WIDTH'])) {
  238.             $ret.="src=\"".$GLOBALS['MED']['CMS_WEBROOT']."getImage.php?MEF_ID=".$this->getId();
  239.             $ret.="&W=".$argArr['WIDTH']."&H=".$argArr['HEIGHT']."\"";
  240.         else if ($this->listSize['WIDTH'&& $this->listSize['HEIGHT']{
  241.             $ret.="src=\"".$GLOBALS['MED']['CMS_WEBROOT']."getListImage.php?MEF_ID=".$this->getId()."\"";
  242.             $ret.=" width=\"".$this->listSize['WIDTH']."\" height=\"".$this->listSize['HEIGHT']."\"";
  243.         else {
  244.             $ret.="src=\"".$GLOBALS['MED']['CMS_WEBROOT']."getfile.php?MEF_ID=".$this->getId()."\"";
  245.         }
  246.         $ret .= ">";
  247.         return $ret;
  248.     }
  249.  
  250.     // ###################################################################
  251.     // MIME-TYPE METHODS
  252.     // ###################################################################
  253.  
  254.     function getimagesizeArr({
  255.         return @getimagesize($this->MEF_FILE);
  256.     }
  257.  
  258. }

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