コード例 #1
0
ファイル: Tagmanager.php プロジェクト: pompalini/emngo
 protected static function get_lang_swap(FTL_Binding $tag, $swap)
 {
     // $swap = $tag->getAttribute('swap');
     if (!is_null($swap)) {
         $swap = explode(',', $swap);
         $swap = array_map('trim', $swap);
         // Try to get internal swap values
         foreach ($swap as &$str) {
             if (strpos($str, '::') !== FALSE) {
                 $seg = explode('::', $str);
                 // The asked key must be set
                 if (!empty($seg[1])) {
                     // Get from global value
                     if ($seg[0] == 'global') {
                         $str = self::$context->get_global($seg[1]);
                     } else {
                         $parent = NULL;
                         // Parent not set : current parent
                         if ($seg[0] == '') {
                             $parent = $tag->getDataParent();
                         } else {
                             $parent = $tag->getParent($seg[0]);
                         }
                         if (!is_null($parent)) {
                             $str = $parent->getValue($seg[1], $parent->name);
                         } else {
                             $str = '';
                         }
                     }
                 }
             }
         }
     }
     return $swap;
 }
コード例 #2
0
ファイル: Media.php プロジェクト: rockylo/ionize
 /**
  * @param FTL_Binding $tag
  *
  * @return string
  *
  */
 public static function tag_medias(FTL_Binding $tag)
 {
     $str = '';
     // Get the parent 'medias' data array.
     $medias = $tag->getValue();
     // Get all medias id no parent data
     // @todo : Get only medias if asked for.
     // if (empty($medias))
     if (empty($medias) && $tag->getDataParent() == NULL) {
         $medias = self::get_medias($tag);
     }
     if (!empty($medias)) {
         // Extend Fields tags
         self::create_extend_tags($tag, 'media');
         // Medias lib, to process the "src" value
         self::$ci->load->library('medias');
         // Filter the parent's medias
         $medias = self::filter_medias($tag, $medias);
         $count = count($medias);
         $tag->set('count', $count);
         // Make medias in random order
         if ($tag->getAttribute('random') == TRUE) {
             shuffle($medias);
         }
         // Process additional data : src, extension
         foreach ($medias as $key => $media) {
             if ($media['provider'] != '') {
                 $src = $media['path'];
             } else {
                 $src = base_url() . $media['path'];
             }
             if ($media['type'] === 'picture') {
                 $settings = self::get_src_settings($tag);
                 if (!empty($settings['size'])) {
                     $src = self::$ci->medias->get_src($media, $settings, Settings::get('no_source_picture'));
                 }
             }
             $medias[$key]['src'] = $src;
         }
         $tag->set('medias', $medias);
         foreach ($medias as $key => $media) {
             // Each media has its index and the number of displayed media
             $media['index'] = $key + 1;
             $media['count'] = $count;
             $tag->set('media', $media);
             $tag->set('count', $count);
             $tag->set('index', $key);
             $str .= $tag->expand();
         }
     }
     return self::wrap($tag, $str);
 }
コード例 #3
0
ファイル: Item.php プロジェクト: pompalini/emngo
 /**
  * @param FTL_Binding $tag
  *
  * @return string
  *
  * @usage   With "stickers" as your definition name :
  * 			<ion:static:stickers />
  *
  */
 public static function tag_static(FTL_Binding $tag)
 {
     // Store the parent
     $parent = $tag->getDataParent();
     $tag->set('__static_parent__', $parent);
     $items_definitions = self::_get_definitions_with_items(Settings::get_lang('current'));
     // Create dynamical tags
     foreach ($items_definitions as $definition) {
         self::$context->define_tag('static:' . $definition['name'], array(__CLASS__, 'tag_static_detail'));
     }
     return $tag->expand();
 }