Dotclear

Changeset 3902:861a3d1a15f3


Ignore:
Timestamp:
10/22/18 14:46:15 (7 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

Use numeric fields (with min/max) for sortering items (categories, …), fix ordering of simple menu items when drag'n'drop is disabled

Files:
5 edited

Legend:

Unmodified
Added
Removed
  • admin/preferences.php

    r3874 r3902  
    700700        echo '<li id="fu-' . $id . '">' . '<label for="fuk-' . $id . '">' . 
    701701        '<img src="' . dc_admin_icon_url($fav['small-icon']) . '" alt="" /> ' . '<span class="zoom"><img src="' . dc_admin_icon_url($fav['large-icon']) . '" alt="" /></span>' . 
    702         form::field(['order[' . $id . ']'], 2, 3, [ 
     702        form::number(['order[' . $id . ']'], [ 
     703            'min'        => 1, 
     704            'max'        => count($user_fav), 
    703705            'default'    => $count, 
    704706            'class'      => 'position', 
  • plugins/antispam/index.php

    r3874 r3902  
    192192        '<tbody id="filters-list" >'; 
    193193 
    194     $i = 0; 
     194    $i = 1; 
    195195    foreach ($filters as $fid => $f) { 
    196196        $gui_link = '&nbsp;'; 
     
    205205        '<tr class="line' . ($f->active ? '' : ' offline') . '" id="f_' . $fid . '">' . 
    206206        '<td class="handle">' . form::number(['f_order[' . $fid . ']'], [ 
    207             'min'        => 0, 
     207            'min'        => 1, 
     208            'max'        => count($filters), 
    208209            'default'    => $i, 
    209210            'class'      => 'position', 
  • plugins/blogroll/index.php

    r3874 r3902  
    208208        echo 
    209209        '<tr class="line" id="l_' . $rs->link_id . '">' . 
    210         '<td class="handle minimal">' . form::field(['order[' . $rs->link_id . ']'], 2, 5, [ 
     210        '<td class="handle minimal">' . form::number(['order[' . $rs->link_id . ']'], [ 
     211            'min'        => 1, 
     212            'max'        => $rs->count(), 
    211213            'default'    => $position, 
    212214            'class'      => 'position', 
  • plugins/simpleMenu/index.php

    r3898 r3902  
    321321                } 
    322322                $menu = $newmenu; 
     323 
     324                $core->auth->user_prefs->addWorkspace('accessibility'); 
     325                if ($core->auth->user_prefs->accessibility->nodragdrop) { 
     326                    # Order menu items 
     327                    $order = []; 
     328                    if (empty($_POST['im_order']) && !empty($_POST['order'])) { 
     329                        $order = $_POST['order']; 
     330                        asort($order); 
     331                        $order = array_keys($order); 
     332                    } elseif (!empty($_POST['im_order'])) { 
     333                        $order = $_POST['im_order']; 
     334                        if (substr($order, -1) == ',') { 
     335                            $order = substr($order, 0, strlen($order) - 1); 
     336                        } 
     337                        $order = explode(',', $order); 
     338                    } 
     339                    if (!empty($order)) { 
     340                        $newmenu = []; 
     341                        foreach ($order as $i => $k) { 
     342                            $newmenu[] = [ 
     343                                'label' => $menu[$k]['label'], 
     344                                'descr' => $menu[$k]['descr'], 
     345                                'url'   => $menu[$k]['url']]; 
     346                        } 
     347                        $menu = $newmenu; 
     348                    } 
     349                } 
     350 
    323351                // Save menu in blog settings 
    324352                $core->blog->settings->system->put('simpleMenu', $menu); 
     
    332360            } 
    333361        } 
    334  
    335         # Order menu items 
    336         $order = []; 
    337         if (empty($_POST['im_order']) && !empty($_POST['order'])) { 
    338             $order = $_POST['order']; 
    339             asort($order); 
    340             $order = array_keys($order); 
    341         } elseif (!empty($_POST['im_order'])) { 
    342             $order = $_POST['im_order']; 
    343             if (substr($order, -1) == ',') { 
    344                 $order = substr($order, 0, strlen($order) - 1); 
    345             } 
    346             $order = explode(',', $order); 
    347         } 
    348  
    349         if (!empty($_POST['updateaction']) && !empty($order)) { 
    350             try { 
    351                 $newmenu = []; 
    352                 foreach ($order as $i => $k) { 
    353                     $newmenu[] = [ 
    354                         'label' => $menu[$k]['label'], 
    355                         'descr' => $menu[$k]['descr'], 
    356                         'url'   => $menu[$k]['url']]; 
    357                 } 
    358                 $menu = $newmenu; 
    359                 // Save menu in blog settings 
    360                 $core->blog->settings->system->put('simpleMenu', $menu); 
    361                 $core->blog->triggerBlog(); 
    362  
    363                 // All done successfully, return to menu items list 
    364                 dcPage::addSuccessNotice(__('Menu items have been successfully updated.')); 
    365                 http::redirect($p_url); 
    366             } catch (Exception $e) { 
    367                 $core->error->add($e->getMessage()); 
    368             } 
    369         } 
    370  
    371362    } 
    372363} 
     
    573564            form::number(['order[' . $i . ']'], [ 
    574565                'min'        => 1, 
     566                'max'        => count($menu), 
    575567                'default'    => $count, 
    576568                'class'      => 'position', 
  • themes/ductile/_config.php

    r3874 r3902  
    359359    '<td class="handle minimal">' . form::number(['order[' . $i . ']'], [ 
    360360        'min'     => 0, 
     361        'max'     => count($ductile_stickers), 
    361362        'default' => $count, 
    362363        'class'   => 'position' 
Note: See TracChangeset for help on using the changeset viewer.

Sites map