当前位置: 首页>>代码示例>>PHP>>正文


PHP XenForo_Template_Compiler::compileFunction方法代码示例

本文整理汇总了PHP中XenForo_Template_Compiler::compileFunction方法的典型用法代码示例。如果您正苦于以下问题:PHP XenForo_Template_Compiler::compileFunction方法的具体用法?PHP XenForo_Template_Compiler::compileFunction怎么用?PHP XenForo_Template_Compiler::compileFunction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在XenForo_Template_Compiler的用法示例。


在下文中一共展示了XenForo_Template_Compiler::compileFunction方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: prepareMediaExifData

 public function prepareMediaExifData(array $media)
 {
     $media['exifData'] = @unserialize($media['media_exif_data_cache']);
     if (!is_array($media['exifData'])) {
         $media['exifData'] = array();
     }
     if (isset($media['exifData']['Flash'])) {
         $media['exifData']['Flash']['value'] = new XenForo_Phrase('xengallery_exif_flash_' . $media['exifData']['Flash']['value']);
     }
     foreach ($media['exifData'] as $key => &$exifData) {
         $cleanKey = preg_replace('/[^a-zA-Z0-9_]+/', '', strtolower($key));
         $exifData['title'] = new XenForo_Phrase('xengallery_exif_title_' . $cleanKey);
         if ($exifData['format']) {
             if (strstr($exifData['format'], 'xen:calc')) {
                 try {
                     $compiler = new XenForo_Template_Compiler();
                     $safeValue = $compiler->compileFunction('calc', array($exifData['value']), array());
                     $safeValue = eval("return ({$safeValue});");
                     $exifData['format'] = preg_replace('/{xen:calc(.*?)\'}/i', '{value}', $exifData['format']);
                     $exifData['value'] = $safeValue;
                     $exifData['value'] = str_replace('{value}', $exifData['value'], $exifData['format']);
                 } catch (Exception $e) {
                 }
                 continue;
             }
             if (strstr($exifData['format'], 'xen:number')) {
                 $exifData['isNumber'] = true;
                 if (strstr($exifData['format'], 'size')) {
                     $exifData['isSize'] = true;
                 }
                 continue;
             }
             if (is_array($exifData['value'])) {
                 $exifData['value'] = @json_encode($exifData['value']);
                 continue;
             }
             $exifData['value'] = str_replace('{value}', $exifData['value'], $exifData['format']);
         }
     }
     $media['exifDataFull'] = @json_decode($media['media_exif_data_cache_full'], true);
     if (!is_array($media['exifDataFull'])) {
         $media['exifDataFull'] = array();
     }
     return $media;
 }
开发者ID:VoDongMy,项目名称:xenforo-laravel5.1,代码行数:45,代码来源:Media.php


注:本文中的XenForo_Template_Compiler::compileFunction方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。