Dotclear


Ignore:
Timestamp:
03/08/18 17:58:39 (7 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

Code formatting (PSR-2)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • plugins/attachments/_public.php

    r3167 r3730  
    1010# 
    1111# -- END LICENSE BLOCK ----------------------------------------- 
    12 if (!defined('DC_RC_PATH')) { return; } 
     12if (!defined('DC_RC_PATH')) {return;} 
    1313 
    1414# Attachments 
    15 $core->tpl->addBlock('Attachments',array('attachmentTpl','Attachments')); 
    16 $core->tpl->addBlock('AttachmentsHeader',array('attachmentTpl','AttachmentsHeader')); 
    17 $core->tpl->addBlock('AttachmentsFooter',array('attachmentTpl','AttachmentsFooter')); 
    18 $core->tpl->addValue('AttachmentMimeType',array('attachmentTpl','AttachmentMimeType')); 
    19 $core->tpl->addValue('AttachmentType',array('attachmentTpl','AttachmentType')); 
    20 $core->tpl->addValue('AttachmentFileName',array('attachmentTpl','AttachmentFileName')); 
    21 $core->tpl->addValue('AttachmentSize',array('attachmentTpl','AttachmentSize')); 
    22 $core->tpl->addValue('AttachmentTitle',array('attachmentTpl','AttachmentTitle')); 
    23 $core->tpl->addValue('AttachmentThumbnailURL',array('attachmentTpl','AttachmentThumbnailURL')); 
    24 $core->tpl->addValue('AttachmentURL',array('attachmentTpl','AttachmentURL')); 
    25 $core->tpl->addValue('MediaURL',array('attachmentTpl','MediaURL')); 
    26 $core->tpl->addBlock('AttachmentIf',array('attachmentTpl','AttachmentIf')); 
    27  
    28 $core->tpl->addValue('EntryAttachmentCount',array('attachmentTpl','EntryAttachmentCount')); 
    29  
    30 $core->addBehavior('tplIfConditions',array('attachmentBehavior','tplIfConditions')); 
    31  
    32 class attachmentTpl { 
    33  
    34      /*dtd 
    35      <!ELEMENT tpl:Attachments - - -- Post Attachments loop --> 
    36      */ 
    37      public static function Attachments($attr,$content) 
    38      { 
    39           $res = 
    40           "<?php\n". 
    41           'if ($_ctx->posts !== null && $core->media) {'."\n". 
    42                '$_ctx->attachments = new ArrayObject($core->media->getPostMedia($_ctx->posts->post_id,null,"attachment"));'."\n". 
    43           "?>\n". 
    44  
    45           '<?php foreach ($_ctx->attachments as $attach_i => $attach_f) : '. 
    46           '$GLOBALS[\'attach_i\'] = $attach_i; $GLOBALS[\'attach_f\'] = $attach_f;'. 
    47           '$_ctx->file_url = $attach_f->file_url; ?>'. 
    48           $content. 
    49           '<?php endforeach; $_ctx->attachments = null; unset($attach_i,$attach_f,$_ctx->file_url); ?>'. 
    50  
    51           "<?php } ?>\n"; 
    52  
    53           return $res; 
    54      } 
    55  
    56      /*dtd 
    57      <!ELEMENT tpl:AttachmentsHeader - - -- First attachments result container --> 
    58      */ 
    59      public static function AttachmentsHeader($attr,$content) 
    60      { 
    61           return 
    62           "<?php if (\$attach_i == 0) : ?>". 
    63           $content. 
    64           "<?php endif; ?>"; 
    65      } 
    66  
    67      /*dtd 
    68      <!ELEMENT tpl:AttachmentsFooter - - -- Last attachments result container --> 
    69      */ 
    70      public static function AttachmentsFooter($attr,$content) 
    71      { 
    72           return 
    73           "<?php if (\$attach_i+1 == count(\$_ctx->attachments)) : ?>". 
    74           $content. 
    75           "<?php endif; ?>"; 
    76      } 
    77  
    78      /*dtd 
    79      <!ELEMENT tpl:AttachmentsIf - - -- Test on attachment fields --> 
    80      <!ATTLIST tpl:AttachmentIf 
    81      is_image  (0|1)     #IMPLIED  -- test if attachment is an image (value : 1) or not (value : 0) 
    82      has_thumb (0|1)     #IMPLIED  -- test if attachment has a square thumnail (value : 1) or not (value : 0) 
    83      is_mp3    (0|1)     #IMPLIED  -- test if attachment is a mp3 file (value : 1) or not (value : 0) 
    84      is_flv    (0|1)     #IMPLIED  -- test if attachment is a flv file (value : 1) or not (value : 0) 
    85      is_audio  (0|1)     #IMPLIED  -- test if attachment is an audio file (value : 1) or not (value : 0) 
    86      is_video  (0|1)     #IMPLIED  -- test if attachment is a video file (value : 1) or not (value : 0) 
    87      > 
    88      */ 
    89      public static function AttachmentIf($attr,$content) 
    90      { 
    91           $if = array(); 
    92  
    93           $operator = isset($attr['operator']) ? dcTemplate::getOperator($attr['operator']) : '&&'; 
    94  
    95           if (isset($attr['is_image'])) { 
    96                $sign = (boolean) $attr['is_image'] ? '' : '!'; 
    97                $if[] = $sign.'$attach_f->media_image'; 
    98           } 
    99  
    100           if (isset($attr['has_thumb'])) { 
    101                $sign = (boolean) $attr['has_thumb'] ? '' : '!'; 
    102                $if[] = $sign.'isset($attach_f->media_thumb[\'sq\'])'; 
    103           } 
    104  
    105           if (isset($attr['is_mp3'])) { 
    106                $sign = (boolean) $attr['is_mp3'] ? '==' : '!='; 
    107                $if[] = '$attach_f->type '.$sign.' "audio/mpeg3"'; 
    108           } 
    109  
    110           if (isset($attr['is_flv'])) { 
    111                $sign = (boolean) $attr['is_flv'] ? '==' : '!='; 
    112                $if[] = '$attach_f->type '.$sign.' "video/x-flv"'; 
    113           } 
    114  
    115           if (isset($attr['is_audio'])) { 
    116                $sign = (boolean) $attr['is_audio'] ? '==' : '!='; 
    117                $if[] = '$attach_f->type_prefix '.$sign.' "audio"'; 
    118           } 
    119  
    120           if (isset($attr['is_video'])) { 
    121                $sign = (boolean) $attr['is_video'] ? '==' : '!='; 
    122                $if[] = '$attach_f->type_prefix '.$sign.' "video"'; 
    123           } 
    124  
    125           if (count($if) != 0) { 
    126                return '<?php if('.implode(' '.$operator.' ', (array) $if).') : ?>'.$content.'<?php endif; ?>'; 
    127           } else { 
    128                return $content; 
    129           } 
    130      } 
    131  
    132      /*dtd 
    133      <!ELEMENT tpl:AttachmentMimeType - O -- Attachment MIME Type --> 
    134      */ 
    135      public static function AttachmentMimeType($attr) 
    136      { 
    137           $f = $GLOBALS['core']->tpl->getFilters($attr); 
    138           return '<?php echo '.sprintf($f,'$attach_f->type').'; ?>'; 
    139      } 
    140  
    141      /*dtd 
    142      <!ELEMENT tpl:AttachmentType - O -- Attachment type --> 
    143      */ 
    144      public static function AttachmentType($attr) 
    145      { 
    146           $f = $GLOBALS['core']->tpl->getFilters($attr); 
    147           return '<?php echo '.sprintf($f,'$attach_f->media_type').'; ?>'; 
    148      } 
    149  
    150      /*dtd 
    151      <!ELEMENT tpl:AttachmentFileName - O -- Attachment file name --> 
    152      */ 
    153      public static function AttachmentFileName($attr) 
    154      { 
    155           $f = $GLOBALS['core']->tpl->getFilters($attr); 
    156           return '<?php echo '.sprintf($f,'$attach_f->basename').'; ?>'; 
    157      } 
    158  
    159      /*dtd 
    160      <!ELEMENT tpl:AttachmentSize - O -- Attachment size --> 
    161      <!ATTLIST tpl:AttachmentSize 
    162      full CDATA     #IMPLIED  -- if set, size is rounded to a human-readable value (in KB, MB, GB, TB) 
    163      > 
    164      */ 
    165      public static function AttachmentSize($attr) 
    166      { 
    167           $f = $GLOBALS['core']->tpl->getFilters($attr); 
    168           if (!empty($attr['full'])) { 
    169                return '<?php echo '.sprintf($f,'$attach_f->size').'; ?>'; 
    170           } 
    171           return '<?php echo '.sprintf($f,'files::size($attach_f->size)').'; ?>'; 
    172      } 
    173  
    174      /*dtd 
    175      <!ELEMENT tpl:AttachmentTitle - O -- Attachment title --> 
    176      */ 
    177      public static function AttachmentTitle($attr) 
    178      { 
    179           $f = $GLOBALS['core']->tpl->getFilters($attr); 
    180           return '<?php echo '.sprintf($f,'$attach_f->media_title').'; ?>'; 
    181      } 
    182  
    183      /*dtd 
    184      <!ELEMENT tpl:AttachmentThumbnailURL - O -- Attachment square thumbnail URL --> 
    185      */ 
    186      public static function AttachmentThumbnailURL($attr) 
    187      { 
    188           $f = $GLOBALS['core']->tpl->getFilters($attr); 
    189           return 
    190           '<?php '. 
    191           'if (isset($attach_f->media_thumb[\'sq\'])) {'. 
    192                'echo '.sprintf($f,'$attach_f->media_thumb[\'sq\']').';'. 
    193           '}'. 
    194           '?>'; 
    195      } 
    196  
    197      /*dtd 
    198      <!ELEMENT tpl:AttachmentURL - O -- Attachment URL --> 
    199      */ 
    200      public static function AttachmentURL($attr) 
    201      { 
    202           $f = $GLOBALS['core']->tpl->getFilters($attr); 
    203           return '<?php echo '.sprintf($f,'$attach_f->file_url').'; ?>'; 
    204      } 
    205  
    206      public static function MediaURL($attr) 
    207      { 
    208           $f = $GLOBALS['core']->tpl->getFilters($attr); 
    209           return '<?php echo '.sprintf($f,'$_ctx->file_url').'; ?>'; 
    210      } 
    211  
    212      /*dtd 
    213      <!ELEMENT tpl:EntryAttachmentCount - O -- Number of attachments for entry --> 
    214      <!ATTLIST tpl:EntryAttachmentCount 
    215      none CDATA     #IMPLIED  -- text to display for "no attachments" (default: no attachments) 
    216      one  CDATA     #IMPLIED  -- text to display for "one attachment" (default: one attachment) 
    217      more CDATA     #IMPLIED  -- text to display for "more attachment" (default: %s attachment, %s is replaced by the number of attachments) 
    218      > 
    219      */ 
    220      public static function EntryAttachmentCount($attr) 
    221      { 
    222           global $core; 
    223           return $core->tpl->displayCounter( 
    224                '$_ctx->posts->countMedia(\'attachment\')', 
    225                array( 
    226                     'none' => 'no attachments', 
    227                     'one'  => 'one attachment', 
    228                     'more' => '%d attachments' 
    229                ), 
    230                $attr, 
    231                false 
    232           ); 
    233      } 
     15$core->tpl->addBlock('Attachments', array('attachmentTpl', 'Attachments')); 
     16$core->tpl->addBlock('AttachmentsHeader', array('attachmentTpl', 'AttachmentsHeader')); 
     17$core->tpl->addBlock('AttachmentsFooter', array('attachmentTpl', 'AttachmentsFooter')); 
     18$core->tpl->addValue('AttachmentMimeType', array('attachmentTpl', 'AttachmentMimeType')); 
     19$core->tpl->addValue('AttachmentType', array('attachmentTpl', 'AttachmentType')); 
     20$core->tpl->addValue('AttachmentFileName', array('attachmentTpl', 'AttachmentFileName')); 
     21$core->tpl->addValue('AttachmentSize', array('attachmentTpl', 'AttachmentSize')); 
     22$core->tpl->addValue('AttachmentTitle', array('attachmentTpl', 'AttachmentTitle')); 
     23$core->tpl->addValue('AttachmentThumbnailURL', array('attachmentTpl', 'AttachmentThumbnailURL')); 
     24$core->tpl->addValue('AttachmentURL', array('attachmentTpl', 'AttachmentURL')); 
     25$core->tpl->addValue('MediaURL', array('attachmentTpl', 'MediaURL')); 
     26$core->tpl->addBlock('AttachmentIf', array('attachmentTpl', 'AttachmentIf')); 
     27 
     28$core->tpl->addValue('EntryAttachmentCount', array('attachmentTpl', 'EntryAttachmentCount')); 
     29 
     30$core->addBehavior('tplIfConditions', array('attachmentBehavior', 'tplIfConditions')); 
     31 
     32class attachmentTpl 
     33{ 
     34 
     35    /*dtd 
     36    <!ELEMENT tpl:Attachments - - -- Post Attachments loop --> 
     37     */ 
     38    public static function Attachments($attr, $content) 
     39    { 
     40        $res = 
     41            "<?php\n" . 
     42            'if ($_ctx->posts !== null && $core->media) {' . "\n" . 
     43            '$_ctx->attachments = new ArrayObject($core->media->getPostMedia($_ctx->posts->post_id,null,"attachment"));' . "\n" . 
     44            "?>\n" . 
     45 
     46            '<?php foreach ($_ctx->attachments as $attach_i => $attach_f) : ' . 
     47            '$GLOBALS[\'attach_i\'] = $attach_i; $GLOBALS[\'attach_f\'] = $attach_f;' . 
     48            '$_ctx->file_url = $attach_f->file_url; ?>' . 
     49            $content . 
     50            '<?php endforeach; $_ctx->attachments = null; unset($attach_i,$attach_f,$_ctx->file_url); ?>' . 
     51 
     52            "<?php } ?>\n"; 
     53 
     54        return $res; 
     55    } 
     56 
     57    /*dtd 
     58    <!ELEMENT tpl:AttachmentsHeader - - -- First attachments result container --> 
     59     */ 
     60    public static function AttachmentsHeader($attr, $content) 
     61    { 
     62        return 
     63            "<?php if (\$attach_i == 0) : ?>" . 
     64            $content . 
     65            "<?php endif; ?>"; 
     66    } 
     67 
     68    /*dtd 
     69    <!ELEMENT tpl:AttachmentsFooter - - -- Last attachments result container --> 
     70     */ 
     71    public static function AttachmentsFooter($attr, $content) 
     72    { 
     73        return 
     74            "<?php if (\$attach_i+1 == count(\$_ctx->attachments)) : ?>" . 
     75            $content . 
     76            "<?php endif; ?>"; 
     77    } 
     78 
     79    /*dtd 
     80    <!ELEMENT tpl:AttachmentsIf - - -- Test on attachment fields --> 
     81    <!ATTLIST tpl:AttachmentIf 
     82    is_image    (0|1)    #IMPLIED    -- test if attachment is an image (value : 1) or not (value : 0) 
     83    has_thumb    (0|1)    #IMPLIED    -- test if attachment has a square thumnail (value : 1) or not (value : 0) 
     84    is_mp3    (0|1)    #IMPLIED    -- test if attachment is a mp3 file (value : 1) or not (value : 0) 
     85    is_flv    (0|1)    #IMPLIED    -- test if attachment is a flv file (value : 1) or not (value : 0) 
     86    is_audio    (0|1)    #IMPLIED    -- test if attachment is an audio file (value : 1) or not (value : 0) 
     87    is_video    (0|1)    #IMPLIED    -- test if attachment is a video file (value : 1) or not (value : 0) 
     88    > 
     89     */ 
     90    public static function AttachmentIf($attr, $content) 
     91    { 
     92        $if = array(); 
     93 
     94        $operator = isset($attr['operator']) ? dcTemplate::getOperator($attr['operator']) : '&&'; 
     95 
     96        if (isset($attr['is_image'])) { 
     97            $sign = (boolean) $attr['is_image'] ? '' : '!'; 
     98            $if[] = $sign . '$attach_f->media_image'; 
     99        } 
     100 
     101        if (isset($attr['has_thumb'])) { 
     102            $sign = (boolean) $attr['has_thumb'] ? '' : '!'; 
     103            $if[] = $sign . 'isset($attach_f->media_thumb[\'sq\'])'; 
     104        } 
     105 
     106        if (isset($attr['is_mp3'])) { 
     107            $sign = (boolean) $attr['is_mp3'] ? '==' : '!='; 
     108            $if[] = '$attach_f->type ' . $sign . ' "audio/mpeg3"'; 
     109        } 
     110 
     111        if (isset($attr['is_flv'])) { 
     112            $sign = (boolean) $attr['is_flv'] ? '==' : '!='; 
     113            $if[] = '$attach_f->type ' . $sign . ' "video/x-flv"'; 
     114        } 
     115 
     116        if (isset($attr['is_audio'])) { 
     117            $sign = (boolean) $attr['is_audio'] ? '==' : '!='; 
     118            $if[] = '$attach_f->type_prefix ' . $sign . ' "audio"'; 
     119        } 
     120 
     121        if (isset($attr['is_video'])) { 
     122            $sign = (boolean) $attr['is_video'] ? '==' : '!='; 
     123            $if[] = '$attach_f->type_prefix ' . $sign . ' "video"'; 
     124        } 
     125 
     126        if (count($if) != 0) { 
     127            return '<?php if(' . implode(' ' . $operator . ' ', (array) $if) . ') : ?>' . $content . '<?php endif; ?>'; 
     128        } else { 
     129            return $content; 
     130        } 
     131    } 
     132 
     133    /*dtd 
     134    <!ELEMENT tpl:AttachmentMimeType - O -- Attachment MIME Type --> 
     135     */ 
     136    public static function AttachmentMimeType($attr) 
     137    { 
     138        $f = $GLOBALS['core']->tpl->getFilters($attr); 
     139        return '<?php echo ' . sprintf($f, '$attach_f->type') . '; ?>'; 
     140    } 
     141 
     142    /*dtd 
     143    <!ELEMENT tpl:AttachmentType - O -- Attachment type --> 
     144     */ 
     145    public static function AttachmentType($attr) 
     146    { 
     147        $f = $GLOBALS['core']->tpl->getFilters($attr); 
     148        return '<?php echo ' . sprintf($f, '$attach_f->media_type') . '; ?>'; 
     149    } 
     150 
     151    /*dtd 
     152    <!ELEMENT tpl:AttachmentFileName - O -- Attachment file name --> 
     153     */ 
     154    public static function AttachmentFileName($attr) 
     155    { 
     156        $f = $GLOBALS['core']->tpl->getFilters($attr); 
     157        return '<?php echo ' . sprintf($f, '$attach_f->basename') . '; ?>'; 
     158    } 
     159 
     160    /*dtd 
     161    <!ELEMENT tpl:AttachmentSize - O -- Attachment size --> 
     162    <!ATTLIST tpl:AttachmentSize 
     163    full    CDATA    #IMPLIED    -- if set, size is rounded to a human-readable value (in KB, MB, GB, TB) 
     164    > 
     165     */ 
     166    public static function AttachmentSize($attr) 
     167    { 
     168        $f = $GLOBALS['core']->tpl->getFilters($attr); 
     169        if (!empty($attr['full'])) { 
     170            return '<?php echo ' . sprintf($f, '$attach_f->size') . '; ?>'; 
     171        } 
     172        return '<?php echo ' . sprintf($f, 'files::size($attach_f->size)') . '; ?>'; 
     173    } 
     174 
     175    /*dtd 
     176    <!ELEMENT tpl:AttachmentTitle - O -- Attachment title --> 
     177     */ 
     178    public static function AttachmentTitle($attr) 
     179    { 
     180        $f = $GLOBALS['core']->tpl->getFilters($attr); 
     181        return '<?php echo ' . sprintf($f, '$attach_f->media_title') . '; ?>'; 
     182    } 
     183 
     184    /*dtd 
     185    <!ELEMENT tpl:AttachmentThumbnailURL - O -- Attachment square thumbnail URL --> 
     186     */ 
     187    public static function AttachmentThumbnailURL($attr) 
     188    { 
     189        $f = $GLOBALS['core']->tpl->getFilters($attr); 
     190        return 
     191        '<?php ' . 
     192        'if (isset($attach_f->media_thumb[\'sq\'])) {' . 
     193        'echo ' . sprintf($f, '$attach_f->media_thumb[\'sq\']') . ';' . 
     194            '}' . 
     195            '?>'; 
     196    } 
     197 
     198    /*dtd 
     199    <!ELEMENT tpl:AttachmentURL - O -- Attachment URL --> 
     200     */ 
     201    public static function AttachmentURL($attr) 
     202    { 
     203        $f = $GLOBALS['core']->tpl->getFilters($attr); 
     204        return '<?php echo ' . sprintf($f, '$attach_f->file_url') . '; ?>'; 
     205    } 
     206 
     207    public static function MediaURL($attr) 
     208    { 
     209        $f = $GLOBALS['core']->tpl->getFilters($attr); 
     210        return '<?php echo ' . sprintf($f, '$_ctx->file_url') . '; ?>'; 
     211    } 
     212 
     213    /*dtd 
     214    <!ELEMENT tpl:EntryAttachmentCount - O -- Number of attachments for entry --> 
     215    <!ATTLIST tpl:EntryAttachmentCount 
     216    none    CDATA    #IMPLIED    -- text to display for "no attachments" (default: no attachments) 
     217    one    CDATA    #IMPLIED    -- text to display for "one attachment" (default: one attachment) 
     218    more    CDATA    #IMPLIED    -- text to display for "more attachment" (default: %s attachment, %s is replaced by the number of attachments) 
     219    > 
     220     */ 
     221    public static function EntryAttachmentCount($attr) 
     222    { 
     223        global $core; 
     224        return $core->tpl->displayCounter( 
     225            '$_ctx->posts->countMedia(\'attachment\')', 
     226            array( 
     227                'none' => 'no attachments', 
     228                'one'  => 'one attachment', 
     229                'more' => '%d attachments' 
     230            ), 
     231            $attr, 
     232            false 
     233        ); 
     234    } 
    234235} 
    235236 
    236237class attachmentBehavior 
    237238{ 
    238      public static function tplIfConditions($tag,$attr,$content,$if) 
    239      { 
    240           if ($tag == "EntryIf" && isset($attr['has_attachment'])) { 
    241                $sign = (boolean) $attr['has_attachment'] ? '' : '!'; 
    242                $if[] = $sign.'$_ctx->posts->countMedia(\'attachment\')'; 
    243           } 
    244      } 
     239    public static function tplIfConditions($tag, $attr, $content, $if) 
     240    { 
     241        if ($tag == "EntryIf" && isset($attr['has_attachment'])) { 
     242            $sign = (boolean) $attr['has_attachment'] ? '' : '!'; 
     243            $if[] = $sign . '$_ctx->posts->countMedia(\'attachment\')'; 
     244        } 
     245    } 
    245246} 
Note: See TracChangeset for help on using the changeset viewer.

Sites map