openrat-cms

OpenRat Content Management System
git clone http://git.code.weiherhei.de/openrat-cms.git
Log | Files | Refs | README

Image.class.php (2364B)


      1 <?php
      2 
      3 namespace template_engine\components;
      4 
      5 use cms\base\Startup;
      6 use template_engine\components\html\Component;
      7 use template_engine\element\CMSElement;
      8 
      9 class ImageComponent extends Component
     10 {
     11 	public $class;
     12 	public $menu;
     13 	public $action;
     14 	public $method;
     15 	public $config;
     16 	public $file;
     17 	public $url;
     18 	public $icon;
     19 	public $type;
     20 	public $elementtype;
     21 	public $fileext;
     22 	public $tree;
     23 	public $notice;
     24 	public $size;
     25 	public $title;
     26 	public $symbol;
     27 
     28 	public function createElement()
     29 	{
     30         $styleClasses = [];
     31         $tagName = 'img';
     32         $file = '';
     33 
     34 		if	( $this->symbol )
     35 		{
     36 		    $tagName = 'i';
     37 			$styleClasses = ['image-icon','image-icon--'.$this->symbol];
     38 		}
     39 		elseif	( $this->menu )
     40 		{
     41 		    $tagName = 'i';
     42 			$styleClasses = ['image-icon','image-icon--menu-'.$this->menu];
     43 		}
     44 		elseif	( $this->elementtype )
     45 		{
     46             $tagName = 'i';
     47 			$styleClasses = ['image-icon','image-icon--action-el_'.$this->elementtype];
     48 		}
     49 		elseif	( $this->action )
     50 		{
     51             $tagName = 'i';
     52 			$styleClasses = ['image-icon','image-icon--action-'.$this->action];
     53 		}
     54 		elseif	( $this->method )
     55 		{
     56             $tagName = 'i';
     57 			$styleClasses = ['image-icon','image-icon--method-'.$this->method];
     58 		}
     59 		elseif	( $this->type )
     60 		{
     61 			$file = Startup::THEMES_DIR.'default/images/icon_'.$this->type.Startup::IMG_ICON_EXT;
     62 		}
     63 		elseif	( $this->icon )
     64 		{
     65 			$file = Startup::THEMES_DIR.'default/images/icon/'.$this->icon.Startup::IMG_ICON_EXT;
     66 		}
     67 		elseif	( $this->notice )
     68 		{
     69 			$file = Startup::THEMES_DIR.'default/images/notice_'.$this->notice.Startup::IMG_ICON_EXT;
     70 		}
     71 		elseif	( $this->tree )
     72 		{
     73 			$file = Startup::THEMES_DIR.'default/images/tree_'.$this->tree.Startup::IMG_EXT;
     74 		}
     75 		elseif	( $this->url )
     76 		{
     77 			$file = $this->url;
     78 		}
     79 		elseif	( $this->fileext )
     80 		{
     81 			$file = Startup::THEMES_DIR.'default/images/icon/'.$this->fileext;
     82 		}
     83 		elseif	( $this->file )
     84 		{
     85 			$file = Startup::THEMES_DIR.'default/images/icon/'.$this->file.Startup::IMG_ICON_EXT;
     86 		}
     87 
     88 		if	( $this->class )
     89         {
     90             $styleClasses = array_merge($styleClasses, Component::splitByComma( $this->class ));
     91         }
     92 
     93 
     94 		$image = new CMSElement($tagName );
     95 
     96 	    $image->addStyleClass($styleClasses);
     97 
     98 		if($this->title)
     99 			$image->addAttribute('title',$this->title);
    100 
    101 		if   ( $file)
    102 			$image->addAttribute('src',$file);
    103 
    104 		return $image;
    105 	}
    106 }