Changeset 2229:d5e819e27bea for admin/preferences.php
- Timestamp:
- 10/03/13 15:17:58 (12 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/preferences.php
r2206 r2229 215 215 throw new Exception(__('No favorite selected')); 216 216 } 217 218 $ws = $core->auth->user_prefs->addWorkspace('favorites'); 219 $user_favs = $ws->DumpLocalPrefs(); 220 $count = count($user_favs); 217 $user_favs = $core->favs->getFavoriteIDs(false); 221 218 foreach ($_POST['append'] as $k => $v) 222 219 { 223 try { 224 $found = false; 225 foreach ($user_favs as $f) { 226 $f = unserialize($f['value']); 227 if ($f['name'] == $v) { 228 $found = true; 229 break; 230 } 231 } 232 if (!$found) { 233 $uid = sprintf("u%03s",$count); 234 $fav = array('name' => $_fav[$v][0],'title' => $_fav[$v][1],'url' => $_fav[$v][2],'small-icon' => $_fav[$v][3], 235 'large-icon' => $_fav[$v][4],'permissions' => $_fav[$v][5],'id' => $_fav[$v][6],'class' => $_fav[$v][7]); 236 $core->auth->user_prefs->favorites->put($uid,serialize($fav),'string'); 237 $count++; 238 } 239 } catch (Exception $e) { 240 $core->error->add($e->getMessage()); 241 break; 220 if ($core->favs->exists($v)) { 221 $user_favs[] = $v; 242 222 } 243 223 } 244 224 $core->favs->setFavoriteIDs($user_favs,false); 225 245 226 if (!$core->error->flag()) { 246 227 http::redirect('preferences.php?append=1'); … … 258 239 throw new Exception(__('No favorite selected')); 259 240 } 260 261 $ws = $core->auth->user_prefs->addWorkspace('favorites'); 262 foreach ($_POST['remove'] as $k => $v) 241 $user_fav_ids = array(); 242 foreach ($core->favs->getFavoriteIDs(false) as $v) { 243 $user_fav_ids[$v]=true; 244 } 245 foreach ($_POST['remove'] as $v) 263 246 { 264 try { 265 $core->auth->user_prefs->favorites->drop($v); 266 } catch (Exception $e) { 267 $core->error->add($e->getMessage()); 268 break; 247 if (isset($user_fav_ids[$v])) { 248 unset($user_fav_ids[$v]); 269 249 } 270 250 } 271 // Update pref_id values 272 try { 273 $user_favs = $ws->DumpLocalPrefs(); 274 $core->auth->user_prefs->favorites->dropAll(); 275 $count = 0; 276 foreach ($user_favs as $k => $v) 277 { 278 $uid = sprintf("u%03s",$count); 279 $f = unserialize($v['value']); 280 $fav = array('name' => $f['name'],'title' => $f['title'],'url' => $f['url'],'small-icon' => $f['small-icon'], 281 'large-icon' => $f['large-icon'],'permissions' => $f['permissions'],'id' => $f['id'],'class' => $f['class']); 282 $core->auth->user_prefs->favorites->put($uid,serialize($fav),'string'); 283 $count++; 284 } 285 } catch (Exception $e) { 286 $core->error->add($e->getMessage()); 287 } 288 251 $core->favs->setFavoriteIDs(array_keys($user_fav_ids),false); 289 252 if (!$core->error->flag()) { 290 253 http::redirect('preferences.php?removed=1'); … … 307 270 if (!empty($_POST['saveorder']) && !empty($order)) 308 271 { 309 try { 310 $ws = $core->auth->user_prefs->addWorkspace('favorites'); 311 $user_favs = $ws->DumpLocalPrefs(); 312 $core->auth->user_prefs->favorites->dropAll(); 313 $count = 0; 314 foreach ($order as $i => $k) { 315 $uid = sprintf("u%03s",$count); 316 $f = unserialize($user_favs[$k]['value']); 317 $fav = array('name' => $f['name'],'title' => $f['title'],'url' => $f['url'],'small-icon' => $f['small-icon'], 318 'large-icon' => $f['large-icon'],'permissions' => $f['permissions'],'id' => $f['id'],'class' => $f['class']); 319 $core->auth->user_prefs->favorites->put($uid,serialize($fav),'string'); 320 $count++; 321 } 322 } catch (Exception $e) { 323 $core->error->add($e->getMessage()); 324 } 325 272 foreach ($order as $k => $v) { 273 if (!$core->favs->exists($v)) { 274 unset($order[$k]); 275 } 276 } 277 $core->favs->setFavoriteIDs($order,false); 326 278 if (!$core->error->flag()) { 327 279 http::redirect('preferences.php?&neworder=1'); … … 331 283 # Replace default favorites by current set (super admin only) 332 284 if (!empty($_POST['replace']) && $core->auth->isSuperAdmin()) { 333 try { 334 $ws = $core->auth->user_prefs->addWorkspace('favorites'); 335 $user_favs = $ws->DumpLocalPrefs(); 336 $core->auth->user_prefs->favorites->dropAll(true); 337 $count = 0; 338 foreach ($user_favs as $k => $v) 339 { 340 $uid = sprintf("g%03s",$count); 341 $f = unserialize($v['value']); 342 $fav = array('name' => $f['name'],'title' => $f['title'],'url' => $f['url'],'small-icon' => $f['small-icon'], 343 'large-icon' => $f['large-icon'],'permissions' => $f['permissions'],'id' => $f['id'],'class' => $f['class']); 344 $core->auth->user_prefs->favorites->put($uid,serialize($fav),'string',null,null,true); 345 $count++; 346 } 347 } catch (Exception $e) { 348 $core->error->add($e->getMessage()); 349 } 285 $user_favs = $core->favs->getFavoriteIDs(false); 286 $core->favs->setFavoriteIDs($user_favs,true); 350 287 351 288 if (!$core->error->flag()) { … … 548 485 549 486 $count = 0; 550 $user_fav = array(); 551 foreach ($ws->dumpPrefs() as $k => $v) { 552 // User favorites only 553 if (!$v['global']) { 554 $fav = unserialize($v['value']); 555 if (($fav['permissions'] == '*') || $core->auth->check($fav['permissions'],$core->blog->id)) { 556 if ($count == 0) echo '<ul class="fav-list">'; 557 $count++; 558 echo '<li id="fu-'.$k.'">'.'<label for="fuk-'.$k.'">'. 559 '<img src="'.dc_admin_icon_url($fav['small-icon']).'" alt="" /> '.'<span class="zoom"><img src="'.dc_admin_icon_url($fav['large-icon']).'" alt="" /></span>'. 560 form::field(array('order['.$k.']'),2,3,$count,'position','',false,'title="'.sprintf(__('position of %s'),$fav['title']).'"'). 561 form::hidden(array('dynorder[]','dynorder-'.$k.''),$k). 562 form::checkbox(array('remove[]','fuk-'.$k),$k).__($fav['title']).'</label>'. 563 '</li>'; 564 $user_fav[] = $fav['name']; 565 } 487 $user_fav = $core->favs->getFavoriteIDs(false); 488 foreach ($user_fav as $id) { 489 $fav = $core->favs->getFavorite($id); 490 if ($fav != false) { 491 // User favorites only 492 if ($count == 0) echo '<ul class="fav-list">'; 493 $count++; 494 echo '<li id="fu-'.$id.'">'.'<label for="fuk-'.$id.'">'. 495 '<img src="'.dc_admin_icon_url($fav['small-icon']).'" alt="" /> '.'<span class="zoom"><img src="'.dc_admin_icon_url($fav['large-icon']).'" alt="" /></span>'. 496 form::field(array('order['.$id.']'),2,3,$count,'position','',false,'title="'.sprintf(__('position of %s'),$fav['title']).'"'). 497 form::hidden(array('dynorder[]','dynorder-'.$id.''),$id). 498 form::checkbox(array('remove[]','fuk-'.$id),$id).__($fav['title']).'</label>'. 499 '</li>'; 566 500 } 567 501 } … … 593 527 } 594 528 595 $default_fav = array(); 596 foreach ($ws->dumpPrefs() as $k => $v) { 597 // Global favorites only 598 if ($v['global']) { 599 $fav = unserialize($v['value']); 600 if (($fav['permissions'] == '*') || $core->auth->check($fav['permissions'],$core->blog->id)) { 601 $default_fav[] = $fav['name']; 602 } 603 } 604 } 605 529 $avail_fav = $core->favs->getFavorites($core->favs->getAvailableFavoritesIDs()); 530 $default_fav_ids = array(); 531 foreach($core->favs->getFavoriteIDs(true) as $v) { 532 $default_fav_ids[$v]=true; 533 } 606 534 echo '</div>'; # /box my-fav 607 535 … … 610 538 echo '<h5 class="pretty-title">'.__('Other available favorites').'</h5>'; 611 539 $count = 0; 612 $array = $_fav;613 540 function cmp($a,$b) { 614 if ( __($a[1]) == __($b[1])) {541 if ($a['title'] == $b['title']) { 615 542 return 0; 616 543 } 617 return (__($a[1]) < __($b[1])) ? -1 : 1; 618 } 619 $array=$array->getArrayCopy(); 620 uasort($array,'cmp'); 621 foreach ($array as $k => $fav) { 622 if (($fav[5] == '*') || $core->auth->check($fav[5],$core->blog->id)) { 623 if (!in_array($fav[0], $user_fav)) { 624 if ($count == 0) echo '<ul class="fav-list">'; 625 $count++; 626 echo '<li id="fa-'.$fav[0].'">'.'<label for="fak-'.$fav[0].'">'. 627 '<img src="'.dc_admin_icon_url($fav[3]).'" alt="" /> '. 628 '<span class="zoom"><img src="'.dc_admin_icon_url($fav[4]).'" alt="" /></span>'. 629 form::checkbox(array('append[]','fak-'.$fav[0]),$k). 630 __($fav[1]).'</label>'. 631 (in_array($fav[0], $default_fav) ? ' <span class="default-fav"><img src="images/selected.png" alt="'.__('(default favorite)').'" /></span>' : ''). 632 '</li>'; 633 } 634 } 544 return ($a['title'] < $b['title']) ? -1 : 1; 545 } 546 uasort($avail_fav,'cmp'); 547 548 foreach ($avail_fav as $k => $v) { 549 if (in_array($k,$user_fav)) { 550 unset($avail_fav[$k]); 551 } 552 } 553 foreach ($avail_fav as $k=>$fav) { 554 if ($count == 0) echo '<ul class="fav-list">'; 555 $count++; 556 echo '<li id="fa-'.$k.'">'.'<label for="fak-'.$k.'">'. 557 '<img src="'.dc_admin_icon_url($fav['small-icon']).'" alt="" /> '. 558 '<span class="zoom"><img src="'.dc_admin_icon_url($fav['large-icon']).'" alt="" /></span>'. 559 form::checkbox(array('append[]','fak-'.$k),$k). 560 $fav['title'].'</label>'. 561 (isset($default_fav_ids[$k]) ? ' <span class="default-fav"><img src="images/selected.png" alt="'.__('(default favorite)').'" /></span>' : ''). 562 '</li>'; 635 563 } 636 564 if ($count > 0) echo '</ul>';
Note: See TracChangeset
for help on using the changeset viewer.