예제 #1
0
 /**
  * For the item links that Redactor produces
  */
 public function itemLinks($value, $opts, $prefix = '', $suffix = '')
 {
     $default = array('field' => 'url', 'prefix' => $prefix, 'suffix' => $suffix);
     if (!is_array($opts)) {
         $default['field'] = $opts;
         $opts = array();
     } elseif (isset($opts['field'])) {
         $default = $opts;
         $default['prefix'] = isset($default['prefix']) ? $default['prefix'] : '';
         $default['suffix'] = isset($default['suffix']) ? $default['suffix'] : '';
     }
     foreach ($opts as $opts_type => &$type_opts) {
         if (!is_array($type_opts)) {
             continue;
         }
         $type_opts['field'] = isset($type_opts['field']) ? $type_opts['field'] : $default['field'];
         $type_opts['prefix'] = isset($type_opts['prefix']) ? $type_opts['prefix'] : $default['prefix'];
         $type_opts['suffix'] = isset($type_opts['suffix']) ? $type_opts['suffix'] : $default['suffix'];
     }
     // Process the item links
     return \CMF::processItemLinks($value, function ($item, $type) use($opts, $default) {
         $item_opts = \Arr::get($opts, $type, $default);
         return $item_opts['prefix'] . $item->get($item_opts['field']) . $item_opts['suffix'];
     });
 }