Changeset 2867
- Timestamp:
- 11/24/08 06:27:53 (7 weeks ago)
- Location:
- trunk/htdocs/system/classes
- Files:
-
- 2 modified
-
adminhandler.php (modified) (2 diffs)
-
stack.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/htdocs/system/classes/adminhandler.php
r2865 r2867 2241 2241 return Session::messages_get( true, 'array' ); 2242 2242 } 2243 2243 2244 2244 if(isset($handler_vars['PasswordDigest']) || isset($handler_vars['digest'])) { 2245 2245 2246 2246 if(( isset($handler_vars['action']) && $handler_vars['action'] == 'add') || isset($handler_vars['newgroup'])) { 2247 2247 if(isset($handler_vars['newgroup'])) { … … 2717 2717 public static function setup_stacks() { 2718 2718 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/jquery.js", 'jquery' ); 2719 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/ui.core.js", 'ui.core' );2720 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/ui.slider.js", 'ui.slider' );2721 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/ui.tabs.js", 'ui.tabs' );2722 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/ui.sortable.js", 'ui.sortable' );2723 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/ui.resizable.js", 'ui.resizable' );2724 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/jquery.spinner.js", 'jquery.spinner' );2725 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/jquery.color.js", 'jquery.color' );2726 Stack::add( 'admin_header_javascript', Site::get_url('habari') . "/3rdparty/humanmsg/humanmsg.js", 'humanmsg' );2727 Stack::add( 'admin_header_javascript', Site::get_url('habari') . "/3rdparty/hotkeys/jquery.hotkeys.js", 'jquery.hotkeys' );2728 Stack::add( 'admin_header_javascript', Site::get_url('admin_theme') . "/js/media.js", 'media' );2729 Stack::add( 'admin_header_javascript', Site::get_url('admin_theme') . "/js/admin.js", 'admin' );2719 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/ui.core.js", 'ui.core', 'jquery' ); 2720 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/ui.slider.js", 'ui.slider', array('jquery', 'ui.core') ); 2721 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/ui.tabs.js", 'ui.tabs', array('jquery', 'ui.core') ); 2722 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/ui.sortable.js", 'ui.sortable', array('jquery', 'ui.core') ); 2723 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/ui.resizable.js", 'ui.resizable', array('jquery', 'ui.core') ); 2724 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/jquery.spinner.js", 'jquery.spinner', 'jquery' ); 2725 Stack::add( 'admin_header_javascript', Site::get_url('scripts') . "/jquery.color.js", 'jquery.color', 'jquery' ); 2726 Stack::add( 'admin_header_javascript', Site::get_url('habari') . "/3rdparty/humanmsg/humanmsg.js", 'humanmsg', 'jquery' ); 2727 Stack::add( 'admin_header_javascript', Site::get_url('habari') . "/3rdparty/hotkeys/jquery.hotkeys.js", 'jquery.hotkeys', 'jquery' ); 2728 Stack::add( 'admin_header_javascript', Site::get_url('admin_theme') . "/js/media.js", 'media', 'jquery' ); 2729 Stack::add( 'admin_header_javascript', Site::get_url('admin_theme') . "/js/admin.js", 'admin', 'jquery' ); 2730 2730 } 2731 2731 } -
trunk/htdocs/system/classes/stack.php
r2866 r2867 28 28 { 29 29 private static $stacks = array(); 30 private static $stack_sort = array(); 31 private static $sorting; 30 32 31 33 /** … … 112 114 $stack = array(); 113 115 self::$stacks[$stack_name] = $stack; 116 self::$stack_sort[$stack_name] = array(); 114 117 } 115 118 return self::$stacks[$stack_name]; … … 132 135 $after = array($after); 133 136 } 134 $newstack = array(); 135 foreach($stack as $k => $v) { 136 $newstack[$k] = $v; 137 $inserted = false; 138 if(in_array($k, $after)) { 139 unset($after[array_search($k, $after)]); 140 if(count($after) == 0) { 141 $newstack[$value_name] = $value; 142 $inserted = true; 143 } 137 foreach($after as $a) { 138 if(!isset(self::$stack_sort[$stack_name])) { 139 self::$stack_sort[$stack_name] = array(); 144 140 } 145 } 146 if(!$inserted) { 147 $newstack[$value_name] = $value; 148 } 149 $stack = $newstack; 150 } 151 else { 152 $stack[$value_name]= $value; 153 } 141 if(!isset(self::$stack_sort[$stack_name][$a])) { 142 self::$stack_sort[$stack_name][$a] = array(); 143 } 144 self::$stack_sort[$stack_name][$a][$value_name] = $value_name; 145 } 146 } 147 $stack[$value_name]= $value; 154 148 self::$stacks[$stack_name]= $stack; 155 149 return $stack; … … 172 166 } 173 167 168 public static function get_sorted_stack( $stack_name ) 169 { 170 self::$sorting = $stack_name; 171 $stack = self::get_named_stack($stack_name); 172 173 uksort($stack, array('Stack', 'sort_stack_cmp')); 174 return $stack; 175 } 176 177 public static function sort_stack_cmp( $a, $b ) 178 { 179 $aa = isset(self::$stack_sort[self::$sorting][$a]) ? self::$stack_sort[self::$sorting][$a] : array(); 180 $ba = isset(self::$stack_sort[self::$sorting][$b]) ? self::$stack_sort[self::$sorting][$b] : array(); 181 $acb = isset($aa[$b]); 182 $bca = isset($ba[$a]); 183 $ac = count($aa); 184 $bc = count($ba); 185 if(($acb && $bca) || !($acb || $bca)) { 186 if($ac == $bc) { 187 return 0; 188 } 189 return $ac > $bc ? -1 : 1; 190 } 191 elseif($acb) { 192 return -1; 193 } 194 elseif($bca) { 195 return 1; 196 } 197 } 198 174 199 /** 175 200 * Returns all of the values of the stack … … 180 205 { 181 206 $out = ''; 182 $stack = self::get_ named_stack( $stack_name );207 $stack = self::get_sorted_stack( $stack_name ); 183 208 $stack = Plugins::filter( 'stack_out', $stack, $stack_name ); 184 209 foreach( $stack as $element ) {
