openrat-cms

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

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 }