PublishPreview.class.php (3695B)
1 <?php 2 3 namespace cms\publish; 4 5 use cms\model\Alias; 6 use cms\model\BaseObject; 7 use cms\model\Link; 8 use cms\model\Url; 9 use util\exception\GeneratorException; 10 11 /** 12 * Created by PhpStorm. 13 * User: dankert 14 * Date: 10.08.18 15 * Time: 23:47 16 */ 17 18 class PublishPreview extends Publish 19 { 20 /** 21 * @param $from \cms\model\BaseObject 22 * @param $to \cms\model\BaseObject 23 */ 24 public function linkToObject( BaseObject $from, BaseObject $to ) 25 { 26 27 $param = array( 28 'oid' => '__OID__'.$to->objectid.'__', 29 REQ_PARAM_MODEL_ID => $from->modelid , 30 REQ_PARAM_LANGUAGE_ID => $from->languageid ); 31 32 if ( $from->icons ) 33 $param['withIcons'] = '1'; 34 35 36 // Interne Verlinkungen in der Seitenvorschau 37 switch( $to->typeid ) 38 { 39 case BaseObject::TYPEID_FILE: 40 case BaseObject::TYPEID_IMAGE: 41 case BaseObject::TYPEID_TEXT: 42 $inhalt = \util\Html::url('file','show',$to->objectid,$param); 43 break; 44 case BaseObject::TYPEID_PAGE: 45 $inhalt = \util\Html::url('page','show',$to->objectid,$param); 46 break; 47 48 case BaseObject::TYPEID_LINK: 49 $link = new Link( $to->objectid ); 50 $link->load(); 51 52 $linkedObject = new BaseObject( $link->linkedObjectId ); 53 $linkedObject->objectLoad(); 54 55 switch( $linkedObject->typeid ) 56 { 57 case BaseObject::TYPEID_FILE: 58 $inhalt = \util\Html::url('file','show',$link->linkedObjectId,$param); 59 break; 60 61 case BaseObject::TYPEID_PAGE: 62 $inhalt = \util\Html::url('page','show',$link->linkedObjectId,$param); 63 break; 64 case BaseObject::TYPEID_URL: 65 $inhalt = \util\Html::url('url','show',$link->linkedObjectId,$param); 66 break; 67 default: 68 $inhalt = 'Unknown link type: '.$linkedObject->typeid; 69 } 70 break; 71 72 case BaseObject::TYPEID_ALIAS: 73 $alias = new Alias( $to->objectid ); 74 $alias->load(); 75 $alias->linkedObjectId; 76 77 $linkedObject = new BaseObject( $alias->linkedObjectId ); 78 $linkedObject->objectLoad(); 79 80 switch( $linkedObject->typeid ) 81 { 82 case BaseObject::TYPEID_FILE: 83 $inhalt = \util\Html::url('file','show',$alias->linkedObjectId,$param); 84 break; 85 86 case BaseObject::TYPEID_PAGE: 87 $inhalt = \util\Html::url('page','show',$alias->linkedObjectId,$param); 88 break; 89 default: 90 $inhalt = 'Unknown link type: '.$linkedObject->typeid; 91 } 92 break; 93 94 case BaseObject::TYPEID_URL: 95 $url = new Url( $to->objectid ); 96 $url->load(); 97 $inhalt = $url->url; 98 99 break; 100 default: 101 throw new GeneratorException('Unknown type '.$to->typeid.' in target '.$to->__toString() ); 102 103 } 104 105 return $inhalt; 106 107 } 108 109 public function isPublic() 110 { 111 return false; 112 } 113 114 public function copy($tmp_filename,$dest_filename,$lastChangeDate=null) 115 { 116 // nothing to do. 117 } 118 119 public function clean() 120 { 121 // nothing to do. 122 } 123 124 public function close() 125 { 126 // nothing to do. 127 } 128 public function isSimplePreview() 129 { 130 return false; 131 } 132 }