Changeset 2566:9bf417837888 for plugins/widgets/class.widgets.php
- Timestamp:
- 11/17/13 20:25:53 (12 years ago)
- Branch:
- 2.6
- Children:
- 2567:6c11245cbf04, 2568:61c67a7d17fa
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/widgets/class.widgets.php
r2442 r2566 15 15 { 16 16 private $__widgets = array(); 17 17 18 18 public static function load($s) 19 19 { 20 20 $o = @unserialize(base64_decode($s)); 21 21 22 22 if ($o instanceof self) { 23 23 return $o; … … 26 26 } 27 27 } 28 28 29 29 public function store() 30 30 { … … 35 35 return base64_encode(serialize($serialized)); 36 36 } 37 37 38 38 public function create($id,$name,$callback,$append_callback=null,$desc='') 39 39 { … … 41 41 $this->__widgets[$id]->append_callback = $append_callback; 42 42 } 43 43 44 44 public function append($widget) 45 45 { … … 51 51 } 52 52 } 53 53 54 54 public function isEmpty() 55 55 { 56 56 return count($this->__widgets) == 0; 57 57 } 58 58 59 59 public function elements($sorted=false) 60 60 { … … 64 64 return $this->__widgets; 65 65 } 66 66 67 67 public function __get($id) 68 68 { … … 72 72 return $this->__widgets[$id]; 73 73 } 74 74 75 75 public function __wakeup() 76 76 { … … 82 82 } 83 83 } 84 84 85 85 public static function loadArray($A,$widgets) 86 86 { … … 88 88 return false; 89 89 } 90 90 91 91 uasort($A,array('self','arraySort')); 92 92 93 93 $result = new self; 94 94 foreach ($A as $v) … … 97 97 { 98 98 $w = clone $widgets->{$v['id']}; 99 99 100 100 # Settings 101 101 unset($v['id']); … … 104 104 $w->{$sid} = $s; 105 105 } 106 106 107 107 $result->append($w); 108 108 } 109 109 } 110 110 111 111 return $result; 112 112 } 113 113 114 114 private static function arraySort($a, $b) 115 115 { … … 119 119 return $a['order'] > $b['order'] ? 1 : -1; 120 120 } 121 121 122 122 private static function sort($a,$b) 123 123 { 124 $c = $a->name(); 125 $d = $b->name(); 126 if ($c == $d) { 127 return 0; 128 } 129 return ($c < $d) ? -1 : 1; 124 $c = $a->name(); 125 $d = $b->name(); 126 if ($c == $d) { 127 return 0; 128 } 129 return ($c < $d) ? -1 : 1; 130 130 } 131 131 } … … 139 139 public $append_callback = null; 140 140 private $settings = array(); 141 141 142 142 public function serialize($order) { 143 143 $values = array(); … … 148 148 return $values; 149 149 } 150 150 151 151 public function __construct($id,$name,$callback,$desc='') 152 152 { … … 156 156 $this->desc = $desc; 157 157 } 158 158 159 159 public function id() 160 160 { 161 161 return $this->id; 162 162 } 163 163 164 164 public function name() 165 165 { … … 171 171 return $this->desc; 172 172 } 173 173 174 174 public function getCallback() 175 175 { 176 176 return $this->public_callback; 177 177 } 178 178 179 179 public function call($i=0) 180 180 { … … 184 184 return '<p>Callback not found for widget '.$this->id.'</p>'; 185 185 } 186 186 187 187 /* Widget settings 188 188 --------------------------------------------------- */ … … 194 194 return null; 195 195 } 196 196 197 197 public function __set($n,$v) 198 198 { … … 201 201 } 202 202 } 203 203 204 204 public function setting($name,$title,$value,$type='text') 205 205 { … … 210 210 } 211 211 } 212 212 213 213 $this->settings[$name] = array( 214 214 'title' => $title, … … 216 216 'value' => $value 217 217 ); 218 218 219 219 if (isset($options)) { 220 220 $this->settings[$name]['options'] = $options; 221 221 } 222 222 } 223 223 224 224 public function settings() 225 225 { 226 226 return $this->settings; 227 227 } 228 228 229 229 public function formSettings($pr='',&$i=0) 230 230 { … … 235 235 $i++; 236 236 } 237 237 238 238 return $res; 239 239 } 240 240 241 241 public function formSetting($id,$s,$pr='',&$i=0) 242 242 { … … 288 288 } 289 289 } 290 ?>
Note: See TracChangeset
for help on using the changeset viewer.