예제 #1
0
 public static function get_instance($wrapper_id, $data = '')
 {
     foreach (self::$_instances as $instance) {
         if ($instance->_wrapper_id == $wrapper_id) {
             return $instance;
         }
     }
     $wrapper_data = false;
     if (empty($data)) {
         $layout = Upfront_Output::get_layout_data();
         if (!$layout) {
             return false;
         }
         foreach ($layout['regions'] as $region) {
             if (!empty($region['wrappers'])) {
                 foreach ($region['wrappers'] as $wrapper) {
                     if ($wrapper_id == upfront_get_property_value('wrapper_id', $wrapper)) {
                         $wrapper_data = $wrapper;
                         break 2;
                     }
                 }
             }
         }
     } else {
         if (!empty($data['wrappers'])) {
             foreach ($data['wrappers'] as $wrapper) {
                 if ($wrapper_id == upfront_get_property_value('wrapper_id', $wrapper)) {
                     $wrapper_data = $wrapper;
                     break;
                 }
             }
         }
     }
     if (!$wrapper_data) {
         return false;
     }
     self::$_instances[] = new self($wrapper_data);
     return end(self::$_instances);
 }