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 }