Dotclear

Changeset 3725:b47f38c701ee for admin


Ignore:
Timestamp:
03/02/18 15:55:06 (8 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

Use specialized input fields (color, email, url, number, …) where is relevant

Location:
admin
Files:
1 added
20 edited

Legend:

Unmodified
Added
Removed
  • admin/auth.php

    r3699 r3725  
    272272# --BEHAVIOR-- loginPageHTMLHead 
    273273$core->callBehavior('loginPageHTMLHead'); 
     274 
     275echo dcPage::jsLoad('js/_auth.js'); 
    274276?> 
    275  
    276     <script type="text/javascript"> 
    277         $(window).load(function() { 
    278             var uid = $('input[name=user_id]'); 
    279             var upw = $('input[name=user_pwd]'); 
    280             uid.focus(); 
    281  
    282             if (upw.length == 0) { return; } 
    283  
    284             uid.keypress(processKey); 
    285  
    286             function processKey(evt) { 
    287                 if (evt.which == 13 && upw.val() == '') { 
    288                     upw.focus(); 
    289                     return false; 
    290                 } 
    291                 return true; 
    292             }; 
    293             $.cookie('dc_admin_test_cookie',true); 
    294             if ($.cookie('dc_admin_test_cookie')) { 
    295                 $('#cookie_help').hide(); 
    296                 $.cookie('dc_admin_test_cookie', '', {'expires': -1}); 
    297             } else { 
    298                 $('#cookie_help').show(); 
    299             } 
    300             $('#issue #more').toggleWithLegend($('#issue').children().not('#more')); 
    301         }); 
    302     </script> 
    303277</head> 
    304278 
     
    322296    '<div class="fieldset" role="main"><h2>' . __('Request a new password') . '</h2>' . 
    323297    '<p><label for="user_id">' . __('Username:') . '</label> ' . 
    324     form::field(array('user_id', 'user_id'), 20, 32, html::escapeHTML($user_id)) . '</p>' . 
     298    form::field('user_id', 20, 32, 
     299        array( 
     300            'default'      => html::escapeHTML($user_id), 
     301            'autocomplete' => 'username' 
     302        ) 
     303    ) . 
     304    '</p>' . 
    325305 
    326306    '<p><label for="user_email">' . __('Email:') . '</label> ' . 
    327     form::field(array('user_email', 'user_email'), 20, 255, html::escapeHTML($user_email)) . '</p>' . 
     307    form::email('user_email', 
     308        array( 
     309            'default'      => html::escapeHTML($user_email), 
     310            'autocomplete' => 'email' 
     311        ) 
     312    ) . 
     313    '</p>' . 
    328314 
    329315    '<p><input type="submit" value="' . __('recover') . '" />' . 
    330     form::hidden(array('recover'), 1) . '</p>' . 
     316    form::hidden('recover', 1) . '</p>' . 
    331317    '</div>' . 
    332318 
     
    338324    '<div class="fieldset"><h2>' . __('Change your password') . '</h2>' . 
    339325    '<p><label for="new_pwd">' . __('New password:') . '</label> ' . 
    340     form::password(array('new_pwd', 'new_pwd'), 20, 255, array('autocomplete' => 'new-password')) . '</p>' . 
     326    form::password('new_pwd', 20, 255, 
     327        array( 
     328            'autocomplete' => 'new-password' 
     329        ) 
     330    ) . '</p>' . 
    341331 
    342332    '<p><label for="new_pwd_c">' . __('Confirm password:') . '</label> ' . 
    343     form::password(array('new_pwd_c', 'new_pwd_c'), 20, 255, array('autocomplete' => 'new-password')) . '</p>' . 
     333    form::password('new_pwd_c', 20, 255, 
     334        array( 
     335            'autocomplete' => 'new-password' 
     336        ) 
     337    ) . '</p>' . 
    344338    '</div>' . 
    345339 
     
    364358        echo 
    365359        '<p><label for="user_id">' . __('Username:') . '</label> ' . 
    366         form::field(array('user_id', 'user_id'), 20, 32, html::escapeHTML($user_id)) . '</p>' . 
     360        form::field('user_id', 20, 32, 
     361            array( 
     362                'default'      => html::escapeHTML($user_id), 
     363                'autocomplete' => 'username' 
     364            ) 
     365        ) . '</p>' . 
    367366 
    368367        '<p><label for="user_pwd">' . __('Password:') . '</label> ' . 
    369         form::password(array('user_pwd', 'user_pwd'), 20, 255, array('autocomplete' => 'current-password')) . '</p>' . 
     368        form::password('user_pwd', 20, 255, 
     369            array( 
     370                'autocomplete' => 'current-password' 
     371            ) 
     372        ) . '</p>' . 
    370373 
    371374        '<p>' . 
    372         form::checkbox(array('user_remember', 'user_remember'), 1) . 
     375        form::checkbox('user_remember', 1) . 
    373376        '<label for="user_remember" class="classic">' . 
    374377        __('Remember my ID on this device') . '</label></p>' . 
  • admin/blog.php

    r3639 r3725  
    1111# -- END LICENSE BLOCK ----------------------------------------- 
    1212 
    13 require dirname(__FILE__).'/../inc/admin/prepend.php'; 
     13require dirname(__FILE__) . '/../inc/admin/prepend.php'; 
    1414 
    1515dcPage::checkSuper(); 
    1616 
    17 $blog_id = ''; 
    18 $blog_url = ''; 
     17$blog_id   = ''; 
     18$blog_url  = ''; 
    1919$blog_name = ''; 
    2020$blog_desc = ''; 
    2121 
    2222# Create a blog 
    23 if (!isset($_POST['id']) && (isset($_POST['create']))) 
    24 { 
    25      $cur = $core->con->openCursor($core->prefix.'blog'); 
    26      $blog_id = $cur->blog_id = $_POST['blog_id']; 
    27      $blog_url = $cur->blog_url = $_POST['blog_url']; 
    28      $blog_name = $cur->blog_name = $_POST['blog_name']; 
    29      $blog_desc = $cur->blog_desc = $_POST['blog_desc']; 
     23if (!isset($_POST['id']) && (isset($_POST['create']))) { 
     24    $cur       = $core->con->openCursor($core->prefix . 'blog'); 
     25    $blog_id   = $cur->blog_id   = $_POST['blog_id']; 
     26    $blog_url  = $cur->blog_url  = $_POST['blog_url']; 
     27    $blog_name = $cur->blog_name = $_POST['blog_name']; 
     28    $blog_desc = $cur->blog_desc = $_POST['blog_desc']; 
    3029 
    31      try 
    32      { 
    33           # --BEHAVIOR-- adminBeforeBlogCreate 
    34           $core->callBehavior('adminBeforeBlogCreate',$cur,$blog_id); 
     30    try 
     31    { 
     32        # --BEHAVIOR-- adminBeforeBlogCreate 
     33        $core->callBehavior('adminBeforeBlogCreate', $cur, $blog_id); 
    3534 
    36           $core->addBlog($cur); 
     35        $core->addBlog($cur); 
    3736 
    38           # Default settings and override some 
    39           $core->blogDefaults($cur->blog_id); 
    40           $blog_settings = new dcSettings($core,$cur->blog_id); 
    41           $blog_settings->addNamespace('system'); 
    42           $blog_settings->system->put('lang',$core->auth->getInfo('user_lang')); 
    43           $blog_settings->system->put('blog_timezone',$core->auth->getInfo('user_tz')); 
     37        # Default settings and override some 
     38        $core->blogDefaults($cur->blog_id); 
     39        $blog_settings = new dcSettings($core, $cur->blog_id); 
     40        $blog_settings->addNamespace('system'); 
     41        $blog_settings->system->put('lang', $core->auth->getInfo('user_lang')); 
     42        $blog_settings->system->put('blog_timezone', $core->auth->getInfo('user_tz')); 
    4443 
    45           if (substr($blog_url,-1) == '?') { 
    46                $blog_settings->system->put('url_scan','query_string'); 
    47           } else { 
    48                $blog_settings->system->put('url_scan','path_info'); 
    49           } 
     44        if (substr($blog_url, -1) == '?') { 
     45            $blog_settings->system->put('url_scan', 'query_string'); 
     46        } else { 
     47            $blog_settings->system->put('url_scan', 'path_info'); 
     48        } 
    5049 
    51           # --BEHAVIOR-- adminAfterBlogCreate 
    52           $core->callBehavior('adminAfterBlogCreate',$cur,$blog_id,$blog_settings); 
    53           dcPage::addSuccessNotice(sprintf(__('Blog "%s" successfully created'), html::escapeHTML($cur->blog_name))); 
    54           $core->adminurl->redirect("admin.blog", array('id' => $cur->blog_id)); 
    55      } 
    56      catch (Exception $e) 
    57      { 
    58           $core->error->add($e->getMessage()); 
    59      } 
     50        # --BEHAVIOR-- adminAfterBlogCreate 
     51        $core->callBehavior('adminAfterBlogCreate', $cur, $blog_id, $blog_settings); 
     52        dcPage::addSuccessNotice(sprintf(__('Blog "%s" successfully created'), html::escapeHTML($cur->blog_name))); 
     53        $core->adminurl->redirect("admin.blog", array('id' => $cur->blog_id)); 
     54    } catch (Exception $e) { 
     55        $core->error->add($e->getMessage()); 
     56    } 
    6057} 
    6158 
    62 if (!empty($_REQUEST['id'])) 
    63 { 
    64      $edit_blog_mode = true; 
    65      include dirname(__FILE__).'/blog_pref.php'; 
     59if (!empty($_REQUEST['id'])) { 
     60    $edit_blog_mode = true; 
     61    include dirname(__FILE__) . '/blog_pref.php'; 
     62} else { 
     63    dcPage::open(__('New blog'), dcPage::jsConfirmClose('blog-form'), 
     64        dcPage::breadcrumb( 
     65            array( 
     66                __('System')   => '', 
     67                __('Blogs')    => $core->adminurl->get("admin.blogs"), 
     68                __('New blog') => '' 
     69            )) 
     70    ); 
     71 
     72    echo 
     73    '<form action="' . $core->adminurl->get("admin.blog") . '" method="post" id="blog-form">' . 
     74 
     75    '<div>' . $core->formNonce() . '</div>' . 
     76    '<p><label class="required" for="blog_id"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Blog ID:') . '</label> ' . 
     77    form::field('blog_id', 30, 32, 
     78        array( 
     79            'default'    => html::escapeHTML($blog_id), 
     80            'extra_html' => 'required placeholder="' . __('Blog ID') . '"' 
     81        ) 
     82    ) . '</p>' . 
     83    '<p class="form-note">' . __('At least 2 characters using letters, numbers or symbols.') . '</p> '; 
     84 
     85    echo 
     86    '<p><label class="required" for="blog_name"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Blog name:') . '</label> ' . 
     87    form::field('blog_name', 30, 255, 
     88        array( 
     89            'default'    => html::escapeHTML($blog_name), 
     90            'extra_html' => 'required placeholder="' . __('Blog name') . '"' 
     91        ) 
     92    ) . '</p>' . 
     93 
     94    '<p><label class="required" for="blog_url"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Blog URL:') . '</label> ' . 
     95    form::url('blog_url', 
     96        array( 
     97            'size'       => 30, 
     98            'default'    => html::escapeHTML($blog_url), 
     99            'extra_html' => 'required placeholder="' . __('Blog URL') . '"' 
     100        ) 
     101    ) . '</p>' . 
     102 
     103    '<p class="area"><label for="blog_desc">' . __('Blog description:') . '</label> ' . 
     104    form::textarea('blog_desc', 60, 5, html::escapeHTML($blog_desc)) . '</p>' . 
     105 
     106    '<p><input type="submit" accesskey="s" name="create" value="' . __('Create') . '" /></p>' . 
     107        '</form>'; 
     108 
     109    dcPage::helpBlock('core_blog_new'); 
     110    dcPage::close(); 
    66111} 
    67 else 
    68 { 
    69      dcPage::open(__('New blog'),dcPage::jsConfirmClose('blog-form'), 
    70           dcPage::breadcrumb( 
    71                array( 
    72                     __('System') => '', 
    73                     __('Blogs') => $core->adminurl->get("admin.blogs"), 
    74                     __('New blog') => '' 
    75                )) 
    76      ); 
    77  
    78      echo 
    79      '<form action="'.$core->adminurl->get("admin.blog").'" method="post" id="blog-form">'. 
    80  
    81      '<div>'.$core->formNonce().'</div>'. 
    82      '<p><label class="required" for="blog_id"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog ID:').'</label> '. 
    83      form::field('blog_id',30,32,html::escapeHTML($blog_id),'','',false,'required placeholder="'.__('Blog ID').'"').'</p>'. 
    84      '<p class="form-note">'.__('At least 2 characters using letters, numbers or symbols.').'</p> '; 
    85  
    86      echo 
    87      '<p><label class="required" for="blog_name"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog name:').'</label> '. 
    88      form::field('blog_name',30,255,html::escapeHTML($blog_name),'','',false,'required placeholder="'.__('Blog name').'"').'</p>'. 
    89  
    90      '<p><label class="required" for="blog_url"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog URL:').'</label> '. 
    91      form::field('blog_url',30,255,html::escapeHTML($blog_url),'','',false,'required placeholder="'.__('Blog URL').'"').'</p>'. 
    92  
    93      '<p class="area"><label for="blog_desc">'.__('Blog description:').'</label> '. 
    94      form::textarea('blog_desc',60,5,html::escapeHTML($blog_desc)).'</p>'. 
    95  
    96      '<p><input type="submit" accesskey="s" name="create" value="'.__('Create').'" /></p>'. 
    97      '</form>'; 
    98  
    99      dcPage::helpBlock('core_blog_new'); 
    100      dcPage::close(); 
    101 } 
  • admin/blog_pref.php

    r3703 r3725  
    172172    } 
    173173 
    174     $media_img_t_size = abs((integer) $_POST['media_img_t_size']); 
     174    $media_img_t_size = (integer) $_POST['media_img_t_size']; 
    175175    if ($media_img_t_size < 0) {$media_img_t_size = 100;} 
    176176 
    177     $media_img_s_size = abs((integer) $_POST['media_img_s_size']); 
     177    $media_img_s_size = (integer) $_POST['media_img_s_size']; 
    178178    if ($media_img_s_size < 0) {$media_img_s_size = 240;} 
    179179 
    180     $media_img_m_size = abs((integer) $_POST['media_img_m_size']); 
     180    $media_img_m_size = (integer) $_POST['media_img_m_size']; 
    181181    if ($media_img_m_size < 0) {$media_img_m_size = 448;} 
    182182 
    183     $media_video_width = abs((integer) $_POST['media_video_width']); 
     183    $media_video_width = (integer) $_POST['media_video_width']; 
    184184    if ($media_video_width < 0) {$media_video_width = 400;} 
    185185 
    186     $media_video_height = abs((integer) $_POST['media_video_height']); 
     186    $media_video_height = (integer) $_POST['media_video_height']; 
    187187    if ($media_video_height < 0) {$media_video_height = 300;} 
    188188 
    189189    $nb_post_for_home = abs((integer) $_POST['nb_post_for_home']); 
    190     if ($nb_post_for_home <= 1) {$nb_post_for_home = 1;} 
     190    if ($nb_post_for_home < 1) {$nb_post_for_home = 1;} 
    191191 
    192192    $nb_post_per_page = abs((integer) $_POST['nb_post_per_page']); 
    193     if ($nb_post_per_page <= 1) {$nb_post_per_page = 1;} 
     193    if ($nb_post_per_page < 1) {$nb_post_per_page = 1;} 
    194194 
    195195    $nb_post_per_feed = abs((integer) $_POST['nb_post_per_feed']); 
    196     if ($nb_post_per_feed <= 1) {$nb_post_per_feed = 1;} 
     196    if ($nb_post_per_feed < 1) {$nb_post_per_feed = 1;} 
    197197 
    198198    $nb_comment_per_feed = abs((integer) $_POST['nb_comment_per_feed']); 
    199     if ($nb_comment_per_feed <= 1) {$nb_comment_per_feed = 1;} 
     199    if ($nb_comment_per_feed < 1) {$nb_comment_per_feed = 1;} 
    200200 
    201201    try 
     
    357357    echo 
    358358    '<p><label for="blog_name" class="required"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Blog name:') . '</label>' . 
    359     form::field('blog_name', 30, 255, html::escapeHTML($blog_name), '', '', false, 'required placeholder="' . __('Blog name') . '"') . '</p>'; 
     359    form::field('blog_name', 30, 255, 
     360        array( 
     361            'default'    => html::escapeHTML($blog_name), 
     362            'extra_html' => 'required placeholder="' . __('Blog name') . '"' 
     363        ) 
     364    ) . '</p>'; 
    360365 
    361366    echo 
     
    375380        Otherwise dcCore::getBlogCursor() throws an exception. 
    376381         */ 
    377         echo form::field('blog_id', 30, 32, html::escapeHTML($blog_id), '', '', false, 'hidden="hidden"'); 
    378         echo form::field('blog_url', 50, 255, html::escapeHTML($blog_url), '', '', false, 'hidden="hidden"'); 
     382        echo 
     383        form::hidden('blog_id', html::escapeHTML($blog_id)) . 
     384        form::hidden('blog_url', html::escapeHTML($blog_url)); 
    379385    } 
    380386 
     
    415421    __('Moderate comments') . '</label></p>' . 
    416422    '<p><label for="comments_ttl" class="classic">' . sprintf(__('Leave comments open for %s days') . '.', 
    417         form::field('comments_ttl', 2, 3, $blog_settings->system->comments_ttl)) . 
     423        form::number('comments_ttl', array( 
     424            'min'     => 0, 
     425            'max'     => 999, 
     426            'default' => $blog_settings->system->comments_ttl) 
     427        )) . 
    418428    '</label></p>' . 
    419429    '<p class="form-note">' . __('No limit: leave blank.') . '</p>' . 
     
    434444    __('Moderate trackbacks') . '</label></p>' . 
    435445    '<p><label for="trackbacks_ttl" class="classic">' . sprintf(__('Leave trackbacks open for %s days') . '.', 
    436         form::field('trackbacks_ttl', 2, 3, $blog_settings->system->trackbacks_ttl)) . '</label></p>' . 
     446        form::number('trackbacks_ttl', array( 
     447            'min'     => 0, 
     448            'max'     => 999, 
     449            'default' => $blog_settings->system->trackbacks_ttl) 
     450        )) . 
     451    '</label></p>' . 
    437452    '<p class="form-note">' . __('No limit: leave blank.') . '</p>' . 
    438453    '<p><label for="comments_nofollow" class="classic">' . 
     
    473488    '<div class="col">' . 
    474489    '<p><label for="nb_post_for_home" class="classic">' . sprintf(__('Display %s entries on home page'), 
    475         form::field('nb_post_for_home', 2, 3, $blog_settings->system->nb_post_for_home)) . 
     490        form::number('nb_post_for_home', array( 
     491            'min'     => 1, 
     492            'max'     => 999, 
     493            'default' => $blog_settings->system->nb_post_for_home) 
     494        )) . 
    476495    '</label></p>' . 
    477496 
    478497    '<p><label for="nb_post_per_page" class="classic">' . sprintf(__('Display %s entries per page'), 
    479         form::field('nb_post_per_page', 2, 3, $blog_settings->system->nb_post_per_page)) . 
     498        form::number('nb_post_per_page', array( 
     499            'min'     => 1, 
     500            'max'     => 999, 
     501            'default' => $blog_settings->system->nb_post_per_page) 
     502        )) . 
    480503    '</label></p>' . 
    481504 
    482505    '<p><label for="nb_post_per_feed" class="classic">' . sprintf(__('Display %s entries per feed'), 
    483         form::field('nb_post_per_feed', 2, 3, $blog_settings->system->nb_post_per_feed)) . 
     506        form::number('nb_post_per_feed', array( 
     507            'min'     => 1, 
     508            'max'     => 999, 
     509            'default' => $blog_settings->system->nb_post_per_feed) 
     510        )) . 
    484511    '</label></p>' . 
    485512 
    486513    '<p><label for="nb_comment_per_feed" class="classic">' . sprintf(__('Display %s comments per feed'), 
    487         form::field('nb_comment_per_feed', 2, 3, $blog_settings->system->nb_comment_per_feed)) . 
     514        form::number('nb_comment_per_feed', array( 
     515            'min'     => 1, 
     516            'max'     => 999, 
     517            'default' => $blog_settings->system->nb_comment_per_feed) 
     518        )) . 
    488519    '</label></p>' . 
    489520 
     
    504535    '<p class="form-note warning">' . 
    505536    __('Please note that if you change current settings bellow, they will now apply to all new images in the media manager.') . 
    506     ' ' . __('Be carefull if you share it with other blogs in your installation.') . '</p>' . 
     537    ' ' . __('Be carefull if you share it with other blogs in your installation.') . '<br />' . 
     538    __('Set -1 to use the default size, set 0 to ignore this thumbnail size (images only).') . '</p>' . 
    507539 
    508540    '<div class="two-cols">' . 
     
    510542    '<h5>' . __('Generated image sizes (max dimension in pixels)') . '</h5>' . 
    511543    '<p class="field"><label for="media_img_t_size">' . __('Thumbnail') . '</label> ' . 
    512     form::field('media_img_t_size', 3, 3, $blog_settings->system->media_img_t_size) . '</p>' . 
     544    form::number('media_img_t_size', array( 
     545        'min'     => -1, 
     546        'max'     => 999, 
     547        'default' => $blog_settings->system->media_img_t_size 
     548    )) . 
     549    '</p>' . 
    513550 
    514551    '<p class="field"><label for="media_img_s_size">' . __('Small') . '</label> ' . 
    515     form::field('media_img_s_size', 3, 3, $blog_settings->system->media_img_s_size) . '</p>' . 
     552    form::number('media_img_s_size', array( 
     553        'min'     => -1, 
     554        'max'     => 999, 
     555        'default' => $blog_settings->system->media_img_s_size 
     556    )) . 
     557    '</p>' . 
    516558 
    517559    '<p class="field"><label for="media_img_m_size">' . __('Medium') . '</label> ' . 
    518     form::field('media_img_m_size', 3, 3, $blog_settings->system->media_img_m_size) . '</p>' . 
     560    form::number('media_img_m_size', array( 
     561        'min'     => -1, 
     562        'max'     => 999, 
     563        'default' => $blog_settings->system->media_img_m_size 
     564    )) . 
     565    '</p>' . 
    519566 
    520567    '<h5>' . __('Default size of the inserted video (in pixels)') . '</h5>' . 
    521568    '<p class="field"><label for="media_video_width">' . __('Width') . '</label> ' . 
    522     form::field('media_video_width', 3, 3, $blog_settings->system->media_video_width) . '</p>' . 
     569    form::number('media_video_width', array( 
     570        'min'     => -1, 
     571        'max'     => 999, 
     572        'default' => $blog_settings->system->media_video_width 
     573    )) . 
     574    '</p>' . 
    523575 
    524576    '<p class="field"><label for="media_video_height">' . __('Height') . '</label> ' . 
    525     form::field('media_video_height', 3, 3, $blog_settings->system->media_video_height) . '</p>' . 
     577    form::number('media_video_height', array( 
     578        'min'     => -1, 
     579        'max'     => 999, 
     580        'default' => $blog_settings->system->media_video_height 
     581    )) . 
     582    '</p>' . 
    526583 
    527584    '<h5>' . __('Flash player') . '</h5>' . 
     
    575632        echo 
    576633        '<p><label for="blog_url" class="required"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Blog URL:') . '</label>' . 
    577         form::field('blog_url', 50, 255, html::escapeHTML($blog_url), '', '', false, 'required placeholder="' . __('Blog URL') . '"') . '</p>' . 
     634        form::url('blog_url', array( 
     635            'size'       => 50, 
     636            'max'        => 255, 
     637            'default'    => html::escapeHTML($blog_url), 
     638            'extra_html' => 'required placeholder="' . __('Blog URL') . '"' 
     639        )) . 
     640        '</p>' . 
    578641 
    579642        '<p><label for="url_scan">' . __('URL scan method:') . '</label>' . 
  • admin/blogs.php

    r3703 r3725  
    143143    form::combo('order', $order_combo, html::escapeHTML($order)) . '</p>' . 
    144144    '<p><span class="label ib">' . __('Show') . '</span> <label for="nb" class="classic">' . 
    145     form::field('nb', 3, 3, $nb_per_page) . ' ' . __('blogs per page') . '</label></p>' . 
     145    form::number('nb', 0, 999, $nb_per_page) . ' ' . __('blogs per page') . '</label></p>' . 
    146146    '</div>' . 
    147147    '</div>' . 
  • admin/category.php

    r3703 r3725  
    185185'<h3>' . __('Category information') . '</h3>' . 
    186186'<p><label class="required" for="cat_title"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Name:') . '</label> ' . 
    187 form::field('cat_title', 40, 255, html::escapeHTML($cat_title), '', '', false, 'required placeholder="' . __('Name') . '"') . 
    188     '</p>'; 
     187form::field('cat_title', 40, 255, array( 
     188    'default'    => html::escapeHTML($cat_title), 
     189    'extra_html' => 'required placeholder="' . __('Name') . '"' 
     190)) . 
     191'</p>'; 
    189192if (!$cat_id) { 
    190193    $rs = $core->blog->getCategories(); 
  • admin/comment.php

    r3703 r3725  
    209209    '<h3>' . __('Comment submitted') . '</h3>' . 
    210210    '<p><label for="comment_author" class="required"><abbr title="' . __('Required field') . '">*</abbr>' . __('Author:') . '</label>' . 
    211     form::field('comment_author', 30, 255, html::escapeHTML($comment_author), '', '', false, 'required placeholder="' . __('Author') . '"') . 
     211    form::field('comment_author', 30, 255, array( 
     212        'default'    => html::escapeHTML($comment_author), 
     213        'extra_html' => 'required placeholder="' . __('Author') . '"' 
     214    )) . 
    212215    '</p>' . 
    213216 
    214217    '<p><label for="comment_email">' . __('Email:') . '</label>' . 
    215     form::field('comment_email', 30, 255, html::escapeHTML($comment_email)) . 
     218    form::email('comment_email', 30, 255, html::escapeHTML($comment_email)) . 
    216219    '<span>' . $comment_mailto . '</span>' . 
    217220    '</p>' . 
    218221 
    219222    '<p><label for="comment_site">' . __('Web site:') . '</label>' . 
    220     form::field('comment_site', 30, 255, html::escapeHTML($comment_site)) . 
     223    form::url('comment_site', 30, 255, html::escapeHTML($comment_site)) . 
    221224    '</p>' . 
    222225 
  • admin/comments.php

    r3703 r3725  
    261261    form::combo('order', $order_combo, $order) . '</p>' . 
    262262    '<p><span class="label ib">' . __('Show') . '</span> <label for="nb" class="classic">' . 
    263     form::field('nb', 3, 3, $nb_per_page) . ' ' . 
     263    form::number('nb', 0, 999, $nb_per_page) . ' ' . 
    264264    __('comments per page') . '</label></p>' . 
    265265    '</div>' . 
  • admin/index.php

    r3710 r3725  
    288288        '<h4>' . __('New entry') . '</h4>' . 
    289289        '<p class="col"><label for="post_title" class="required"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Title:') . '</label>' . 
    290         form::field('post_title', 20, 255, '', 'maximal', '', false, 'required placeholder="' . __('Title') . '"') . 
     290        form::field('post_title', 20, 255, array( 
     291            'class'      => 'maximal', 
     292            'extra_html' => 'required placeholder="' . __('Title') . '"' 
     293        )) . 
    291294        '</p>' . 
    292295        '<p class="area"><label class="required" ' . 
     
    300303            '<p id="new_cat" class="q-cat">' . __('Add a new category') . '</p>' . 
    301304            '<p class="q-cat"><label for="new_cat_title">' . __('Title:') . '</label> ' . 
    302             form::field('new_cat_title', 30, 255, '', '') . '</p>' . 
     305            form::field('new_cat_title', 30, 255) . '</p>' . 
    303306            '<p class="q-cat"><label for="new_cat_parent">' . __('Parent:') . '</label> ' . 
    304307            form::combo('new_cat_parent', $categories_combo) . 
     
    317320        form::hidden('post_lang', $core->auth->getInfo('user_lang')) . 
    318321        form::hidden('post_notes', '') . 
    319             '</p>' . 
    320             '</form>' . 
     322        '</p>' . 
     323        '</form>' . 
     324        '</div>'; 
     325        } 
     326    } 
     327 
     328    if ($dashboardContents != '' || $dashboardItems != '') { 
     329        echo 
     330            '<div id="dashboard-boxes">' . 
     331            ($dashboardItems != '' ? '<div class="db-items">' . $dashboardItems . '</div>' : '') . 
     332            ($dashboardContents != '' ? '<div class="db-contents">' . $dashboardContents . '</div>' : '') . 
    321333            '</div>'; 
    322334    } 
    323 } 
    324  
    325 if ($dashboardContents != '' || $dashboardItems != '') { 
    326     echo 
    327         '<div id="dashboard-boxes">' . 
    328         ($dashboardItems != '' ? '<div class="db-items">' . $dashboardItems . '</div>' : '') . 
    329         ($dashboardContents != '' ? '<div class="db-contents">' . $dashboardContents . '</div>' : '') . 
    330         '</div>'; 
    331 } 
    332  
    333 echo '</div>'; #end dashboard-main 
    334 dcPage::helpBlock('core_dashboard'); 
    335 dcPage::close(); 
     335 
     336    echo '</div>'; #end dashboard-main 
     337    dcPage::helpBlock('core_dashboard'); 
     338    dcPage::close(); 
  • admin/install/index.php

    r3699 r3725  
    334334    '<fieldset><legend>' . __('User information') . '</legend>' . 
    335335    '<p><label for="u_firstname">' . __('First Name:') . '</label> ' . 
    336     form::field('u_firstname', 30, 255, html::escapeHTML($u_firstname)) . '</p>' . 
     336    form::field('u_firstname', 30, 255, array( 
     337        'default'      => html::escapeHTML($u_firstname), 
     338        'autocomplete' => 'given-name' 
     339    )) . 
     340    '</p>' . 
    337341    '<p><label for="u_name">' . __('Last Name:') . '</label> ' . 
    338     form::field('u_name', 30, 255, html::escapeHTML($u_name)) . '</p>' . 
     342    form::field('u_name', 30, 255, array( 
     343        'default'      => html::escapeHTML($u_name), 
     344        'autocomplete' => 'family-name' 
     345    )) . 
     346    '</p>' . 
    339347    '<p><label for="u_email">' . __('Email:') . '</label> ' . 
    340     form::field('u_email', 30, 255, html::escapeHTML($u_email)) . '</p>' . 
     348    form::email('u_email', array( 
     349        'size'         => 30, 
     350        'default'      => html::escapeHTML($u_email), 
     351        'autocomplete' => 'email' 
     352    )) . 
     353    '</p>' . 
    341354    '</fieldset>' . 
    342355 
    343356    '<fieldset><legend>' . __('Username and password') . '</legend>' . 
    344357    '<p><label for="u_login" class="required"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Username:') . ' ' . 
    345     form::field('u_login', 30, 32, html::escapeHTML($u_login), '', '', false, 'required placeholder="' . __('Username') . '"') . '</label></p>' . 
     358    form::field('u_login', 30, 32, array( 
     359        'default'      => html::escapeHTML($u_login), 
     360        'extra_html'   => 'required placeholder="' . __('Username') . '"', 
     361        'autocomplete' => 'username' 
     362    )) . 
     363    '</label></p>' . 
    346364    '<div class="pw-table">' . 
    347365    '<p class="pw-cell">' . 
    348366    '<label for="u_pwd" class="required"><abbr title="' . __('Required field') . '">*</abbr> ' . __('New password:') . '</label>' . 
    349     form::password('u_pwd', 30, 255, 
    350         array( 
    351             'extra_html'   => 'data-indicator="pwindicator" required placeholder="' . __('Password') . '"', 
    352             'autocomplete' => 'new-password' 
    353         ) 
    354     ) . '</p>' . 
     367    form::password('u_pwd', 30, 255, array( 
     368        'extra_html'   => 'data-indicator="pwindicator" required placeholder="' . __('Password') . '"', 
     369        'autocomplete' => 'new-password' 
     370    )) . 
     371    '</p>' . 
    355372    '<div id="pwindicator">' . 
    356373    '    <div class="bar"></div>' . 
     
    359376    '</div>' . 
    360377    '<p><label for="u_pwd2" class="required"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Confirm password:') . ' ' . 
    361     form::password('u_pwd2', 30, 255, 
    362         array( 
    363             'extra_html'   => 'required placeholder="' . __('Password') . '"', 
    364             'autocomplete' => 'new-password' 
    365         ) 
    366     ) . '</label></p>' . 
     378    form::password('u_pwd2', 30, 255, array( 
     379        'extra_html'   => 'required placeholder="' . __('Password') . '"', 
     380        'autocomplete' => 'new-password' 
     381    )) . 
     382    '</label></p>' . 
    367383    '</fieldset>' . 
    368384 
  • admin/install/wizard.php

    r3703 r3725  
    213213form::password('DBPASSWORD', 30, 255) . '</p>' . 
    214214'<p><label for="DBPREFIX" class="required"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Database Tables Prefix:') . '</label> ' . 
    215 form::field('DBPREFIX', 30, 255, html::escapeHTML($DBPREFIX), '', '', false, 'required placeholder="' . __('Prefix') . '"') . '</p>' . 
     215form::field('DBPREFIX', 30, 255, array( 
     216    'default'    => html::escapeHTML($DBPREFIX), 
     217    'extra_html' => 'required placeholder="' . __('Prefix') . '"' 
     218)) . 
     219'</p>' . 
    216220'<p><label for="ADMINMAILFROM">' . __('Master Email: (used as sender for password recovery)') . '</label> ' . 
    217 form::field('ADMINMAILFROM', 30, 255, html::escapeHTML($ADMINMAILFROM)) . '</p>' . 
     221form::mail('ADMINMAILFROM', array( 
     222    'size'         => 30, 
     223    'default'      => html::escapeHTML($ADMINMAILFROM), 
     224    'autocomplete' => 'email' 
     225)) . 
     226'</p>' . 
    218227 
    219228'<p><input type="submit" value="' . __('Continue') . '" /></p>' . 
  • admin/js/_popup_link.js

    r3706 r3725  
    33 
    44$(function() { 
     5  // Enable submet button only if mandotory field is not empty 
     6  $('#link-insert-ok').prop('disabled', true); 
     7  $('#link-insert-ok').addClass('disabled'); 
     8  $('#href').keyup(function() { 
     9    $('#link-insert-ok').prop('disabled', (this.value == '' ? true : false)); 
     10    $('#link-insert-ok').toggleClass('disabled', (this.value == '' ? true : false)); 
     11  }); 
     12 
    513  // Set focus on #href input 
    614  $('#href').focus(); 
  • admin/media.php

    r3691 r3725  
    3535 
    3636$page        = !empty($_GET['page']) ? max(1, (integer) $_GET['page']) : 1; 
    37 $nb_per_page = ((integer) $core->auth->user_prefs->interface->media_by_page ?: 30); 
     37$nb_per_page = (integer) ($core->auth->user_prefs->interface->media_by_page ?: 30); 
    3838 
    3939# We are on home not comming from media manager 
     
    8888$nb_per_page = !empty($_SESSION['nb_per_page']) ? (integer) $_SESSION['nb_per_page'] : $nb_per_page; 
    8989if (!empty($_GET['nb_per_page']) && (integer) $_GET['nb_per_page'] > 0) { 
    90     $nb_per_page = $_SESSION['nb_per_page'] = (integer) $_GET['nb_per_page']; 
     90    $nb_per_page             = (integer) $_GET['nb_per_page']; 
     91    $_SESSION['nb_per_page'] = $nb_per_page; 
    9192} 
    9293 
     
    811812    form::combo('file_sort', $sort_combo, $file_sort) . '</p>' . 
    812813    '<p class="three-boxes"><label for="nb_per_page" class="classic">' . __('Number of elements displayed per page:') . '</label> ' . 
    813     form::field('nb_per_page', 5, 3, (integer) $nb_per_page) . ' ' . 
     814    form::number('nb_per_page', 0, 999, $nb_per_page) . ' ' . 
    814815    '<input type="submit" value="' . __('OK') . '" />' . 
    815816    form::hidden(array('popup'), $popup) . 
     
    900901        $core->formNonce() . 
    901902        '<p><label for="newdir">' . __('Directory Name:') . '</label>' . 
    902         form::field(array('newdir', 'newdir'), 35, 255) . '</p>' . 
     903        form::field('newdir', 35, 255) . '</p>' . 
    903904        '<p><input type="submit" value="' . __('Create') . '" />' . 
    904905        $core->adminurl->getHiddenFormFields('admin.media', $page_url_params) . 
     
    953954 
    954955    echo 
    955     '<p class="one-file"><label for="upfiletitle">' . __('Title:') . '</label>' . form::field(array('upfiletitle', 'upfiletitle'), 35, 255) . '</p>' . 
     956    '<p class="one-file"><label for="upfiletitle">' . __('Title:') . '</label>' . form::field('upfiletitle', 35, 255) . '</p>' . 
    956957    '<p class="one-file"><label for="upfilepriv" class="classic">' . __('Private') . '</label> ' . 
    957     form::checkbox(array('upfilepriv', 'upfilepriv'), 1) . '</p>'; 
     958    form::checkbox('upfilepriv', 1) . '</p>'; 
    958959 
    959960    if (!$user_ui_enhanceduploader) { 
  • admin/media_item.php

    r3691 r3725  
    483483        '<h3>' . __('Video size') . '</h3>' . 
    484484        '<p><label for="video_w" class="classic">' . __('Width:') . '</label> ' . 
    485         form::field('video_w', 3, 4, $core->blog->settings->system->media_video_width) . '  ' . 
     485        form::number('video_w', 0, 9999, $core->blog->settings->system->media_video_width) . '  ' . 
    486486        '<label for="video_h" class="classic">' . __('Height:') . '</label> ' . 
    487         form::field('video_h', 3, 4, $core->blog->settings->system->media_video_height) . 
     487        form::number('video_h', 0, 9999, $core->blog->settings->system->media_video_height) . 
    488488            '</p>' . 
    489489            '</div>'; 
     
    761761    form::field('media_title', 30, 255, html::escapeHTML($file->media_title)) . '</p>' . 
    762762    '<p><label for="media_dt">' . __('File date:') . '</label>' . 
    763     form::field('media_dt', 16, 16, html::escapeHTML($file->media_dtstr)) . '</p>' . 
     763    form::field('media_dt', 16, 16, html::escapeHTML($file->media_dtstr)) . 
     764    /* 
     765    Previous line will be replaced by this one as soon as every browser will support datetime-local input type 
     766    Dont forget to remove call to datepicker in media_item.js 
     767 
     768    form::datetime('media_dt', array('default' => html::escapeHTML(dt::str('%Y-%m-%dT%H:%M', $file->media_dt)))) . 
     769    */ 
     770    '</p>' . 
    764771    '<p><label for="media_private" class="classic">' . form::checkbox('media_private', 1, $file->media_priv) . ' ' . 
    765772    __('Private') . '</label></p>' . 
  • admin/popup_link.php

    r3701 r3725  
    3131'<form id="link-insert-form" action="#" method="get">' . 
    3232'<p><label class="required" for="href"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Link URL:') . '</label> ' . 
    33 form::field('href', 35, 512, html::escapeHTML($href), '', '', false, 'required placeholder="' . __('URL') . '"') . '</p>' . 
     33form::field('href', 35, 512, array( 
     34    'default' => html::escapeHTML($href), 
     35    'extra_html' => 'required placeholder="' . __('URL') . '"' 
     36)) . 
     37'</p>' . 
    3438'<p><label for="title">' . __('Link title:') . '</label> ' . 
    3539form::field('title', 35, 512, html::escapeHTML($title)) . '</p>' . 
  • admin/post.php

    r3710 r3725  
    556556                '<p><label for="post_dt">' . __('Publication date and hour') . '</label>' . 
    557557                form::field('post_dt', 16, 16, $post_dt, ($bad_dt ? 'invalid' : '')) . 
     558                /* 
     559                Previous line will be replaced by this one as soon as every browser will support datetime-local input type 
     560                Dont forget to remove call to datepicker in post.js 
     561 
     562                form::datetime('post_dt', array( 
     563                    'default' => html::escapeHTML(dt::str('%Y-%m-%dT%H:%M', strtotime($post_dt))), 
     564                    'class' => ($bad_dt ? 'invalid' : '') 
     565                )) . 
     566                */ 
    558567                '</p>', 
    559568                'post_lang'   => 
     
    587596                    '<h5 id="create_cat">' . __('Add a new category') . '</h5>' . 
    588597                    '<p><label for="new_cat_title">' . __('Title:') . ' ' . 
    589                     form::field('new_cat_title', 30, 255, '', 'maximal') . '</label></p>' . 
     598                    form::field('new_cat_title', 30, 255, array('class' => 'maximal')) . '</label></p>' . 
    590599                    '<p><label for="new_cat_parent">' . __('Parent:') . ' ' . 
    591600                    form::combo('new_cat_parent', $categories_combo, '', 'maximal') . 
     
    638647        '<p class="col">' . 
    639648        '<label class="required no-margin bold" for="post_title"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Title:') . '</label>' . 
    640         form::field('post_title', 20, 255, html::escapeHTML($post_title), 'maximal', '', false, 'required placeholder="' . __('Title') . '"') . 
     649        form::field('post_title', 20, 255, array( 
     650            'default'    => html::escapeHTML($post_title), 
     651            'class'      => 'maximal', 
     652            'extra_html' => 'required placeholder="' . __('Title') . '"' 
     653        )) . 
    641654        '</p>', 
    642655 
     
    780793    '<div class="constrained">' . 
    781794    '<p><label for="comment_author" class="required"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Name:') . '</label>' . 
    782     form::field('comment_author', 30, 255, html::escapeHTML($core->auth->getInfo('user_cn')), 
    783         '', '', false, 'required placeholder="' . __('Author') . '"') . 
     795    form::field('comment_author', 30, 255, array( 
     796        'default'    => html::escapeHTML($core->auth->getInfo('user_cn')), 
     797        'extra_html' => 'required placeholder="' . __('Author') . '"' 
     798    )) . 
    784799    '</p>' . 
    785800 
    786801    '<p><label for="comment_email">' . __('Email:') . '</label>' . 
    787     form::field('comment_email', 30, 255, html::escapeHTML($core->auth->getInfo('user_email'))) . 
     802    form::email('comment_email', 30, 255, html::escapeHTML($core->auth->getInfo('user_email'))) . 
    788803    '</p>' . 
    789804 
    790805    '<p><label for="comment_site">' . __('Web site:') . '</label>' . 
    791     form::field('comment_site', 30, 255, html::escapeHTML($core->auth->getInfo('user_url'))) . 
     806    form::url('comment_site', 30, 255, html::escapeHTML($core->auth->getInfo('user_url'))) . 
    792807    '</p>' . 
    793808 
  • admin/posts.php

    r3649 r3725  
    1111# -- END LICENSE BLOCK ----------------------------------------- 
    1212 
    13 require dirname(__FILE__).'/../inc/admin/prepend.php'; 
     13require dirname(__FILE__) . '/../inc/admin/prepend.php'; 
    1414 
    1515dcPage::check('usage,contentadmin'); 
     
    1717# Getting categories 
    1818try { 
    19      $categories = $core->blog->getCategories(); 
     19    $categories = $core->blog->getCategories(); 
    2020} catch (Exception $e) { 
    21      $core->error->add($e->getMessage()); 
     21    $core->error->add($e->getMessage()); 
    2222} 
    2323 
    2424# Getting authors 
    2525try { 
    26      $users = $core->blog->getPostsUsers(); 
     26    $users = $core->blog->getPostsUsers(); 
    2727} catch (Exception $e) { 
    28      $core->error->add($e->getMessage()); 
     28    $core->error->add($e->getMessage()); 
    2929} 
    3030 
    3131# Getting dates 
    3232try { 
    33      $dates = $core->blog->getDates(array('type'=>'month')); 
     33    $dates = $core->blog->getDates(array('type' => 'month')); 
    3434} catch (Exception $e) { 
    35      $core->error->add($e->getMessage()); 
     35    $core->error->add($e->getMessage()); 
    3636} 
    3737 
    3838# Getting langs 
    3939try { 
    40      $langs = $core->blog->getLangs(); 
     40    $langs = $core->blog->getLangs(); 
    4141} catch (Exception $e) { 
    42      $core->error->add($e->getMessage()); 
     42    $core->error->add($e->getMessage()); 
    4343} 
    4444 
    4545# Creating filter combo boxes 
    46 if (!$core->error->flag()) 
    47 { 
    48      # Filter form we'll put in html_block 
    49      $users_combo = dcAdminCombos::getUsersCombo($users); 
    50      dcUtils::lexicalKeySort($users_combo); 
    51      $users_combo = array_merge( 
    52           array('-' => ''), 
    53           $users_combo 
    54      ); 
    55  
    56      $categories_combo = array_merge( 
    57           array( 
    58                new formSelectOption('-',''), 
    59                new formSelectOption(__('(No cat)'),'NULL')), 
    60           dcAdminCombos::getCategoriesCombo($categories,false) 
    61      ); 
    62      $categories_values = array(); 
    63      foreach ($categories_combo as $cat) { 
    64           if (isset($cat->value)) { 
    65                $categories_values[$cat->value]=true; 
    66           } 
    67      } 
    68  
    69      $status_combo = array_merge( 
    70           array('-' => ''), 
    71           dcAdminCombos::getPostStatusesCombo() 
    72      ); 
    73  
    74      $selected_combo = array( 
    75      '-' => '', 
    76      __('Selected') => '1', 
    77      __('Not selected') => '0' 
    78      ); 
    79  
    80      $comment_combo = array( 
    81      '-' => '', 
    82      __('Opened') => '1', 
    83      __('Closed') => '0' 
    84      ); 
    85  
    86      $trackback_combo = array( 
    87      '-' => '', 
    88      __('Opened') => '1', 
    89      __('Closed') => '0' 
    90      ); 
    91  
    92      $attachment_combo = array( 
    93      '-' => '', 
    94      __('With attachments') => '1', 
    95      __('Without attachments') => '0' 
    96      ); 
    97  
    98      $password_combo = array( 
    99      '-' => '', 
    100      __('With password') => '1', 
    101      __('Without password') => '0' 
    102      ); 
    103  
    104      # Months array 
    105      $dt_m_combo = array_merge( 
    106           array('-' => ''), 
    107           dcAdminCombos::getDatesCombo($dates) 
    108      ); 
    109  
    110      $lang_combo = array_merge( 
    111           array('-' => ''), 
    112           dcAdminCombos::getLangsCombo($langs,false) 
    113      ); 
    114  
    115      # Post formats 
    116      $core_formaters = $core->getFormaters(); 
    117      $available_formats = array(); 
    118      foreach ($core_formaters as $editor => $formats) { 
    119           foreach ($formats as $format) { 
    120                $available_formats[$format] = $format; 
    121           } 
    122      } 
    123      $format_combo = array_merge( 
    124           array('-' => ''), 
    125           $available_formats 
    126      ); 
    127  
    128      $sortby_combo = array( 
    129      __('Date') => 'post_dt', 
    130      __('Title') => 'post_title', 
    131      __('Category') => 'cat_title', 
    132      __('Author') => 'user_id', 
    133      __('Status') => 'post_status', 
    134      __('Selected') => 'post_selected', 
    135      __('Number of comments') => 'nb_comment', 
    136      __('Number of trackbacks') => 'nb_trackback' 
    137      ); 
    138  
    139      $sortby_lex = array( 
    140           // key in sorty_combo (see above) => field in SQL request 
    141           'post_title' => 'post_title', 
    142           'cat_title' => 'cat_title', 
    143           'user_id' => 'P.user_id'); 
    144  
    145      $order_combo = array( 
    146      __('Descending') => 'desc', 
    147      __('Ascending') => 'asc' 
    148      ); 
     46if (!$core->error->flag()) { 
     47    # Filter form we'll put in html_block 
     48    $users_combo = dcAdminCombos::getUsersCombo($users); 
     49    dcUtils::lexicalKeySort($users_combo); 
     50    $users_combo = array_merge( 
     51        array('-' => ''), 
     52        $users_combo 
     53    ); 
     54 
     55    $categories_combo = array_merge( 
     56        array( 
     57            new formSelectOption('-', ''), 
     58            new formSelectOption(__('(No cat)'), 'NULL')), 
     59        dcAdminCombos::getCategoriesCombo($categories, false) 
     60    ); 
     61    $categories_values = array(); 
     62    foreach ($categories_combo as $cat) { 
     63        if (isset($cat->value)) { 
     64            $categories_values[$cat->value] = true; 
     65        } 
     66    } 
     67 
     68    $status_combo = array_merge( 
     69        array('-' => ''), 
     70        dcAdminCombos::getPostStatusesCombo() 
     71    ); 
     72 
     73    $selected_combo = array( 
     74        '-'                => '', 
     75        __('Selected')     => '1', 
     76        __('Not selected') => '0' 
     77    ); 
     78 
     79    $comment_combo = array( 
     80        '-'          => '', 
     81        __('Opened') => '1', 
     82        __('Closed') => '0' 
     83    ); 
     84 
     85    $trackback_combo = array( 
     86        '-'          => '', 
     87        __('Opened') => '1', 
     88        __('Closed') => '0' 
     89    ); 
     90 
     91    $attachment_combo = array( 
     92        '-'                       => '', 
     93        __('With attachments')    => '1', 
     94        __('Without attachments') => '0' 
     95    ); 
     96 
     97    $password_combo = array( 
     98        '-'                    => '', 
     99        __('With password')    => '1', 
     100        __('Without password') => '0' 
     101    ); 
     102 
     103    # Months array 
     104    $dt_m_combo = array_merge( 
     105        array('-' => ''), 
     106        dcAdminCombos::getDatesCombo($dates) 
     107    ); 
     108 
     109    $lang_combo = array_merge( 
     110        array('-' => ''), 
     111        dcAdminCombos::getLangsCombo($langs, false) 
     112    ); 
     113 
     114    # Post formats 
     115    $core_formaters    = $core->getFormaters(); 
     116    $available_formats = array(); 
     117    foreach ($core_formaters as $editor => $formats) { 
     118        foreach ($formats as $format) { 
     119            $available_formats[$format] = $format; 
     120        } 
     121    } 
     122    $format_combo = array_merge( 
     123        array('-' => ''), 
     124        $available_formats 
     125    ); 
     126 
     127    $sortby_combo = array( 
     128        __('Date')                 => 'post_dt', 
     129        __('Title')                => 'post_title', 
     130        __('Category')             => 'cat_title', 
     131        __('Author')               => 'user_id', 
     132        __('Status')               => 'post_status', 
     133        __('Selected')             => 'post_selected', 
     134        __('Number of comments')   => 'nb_comment', 
     135        __('Number of trackbacks') => 'nb_trackback' 
     136    ); 
     137 
     138    $sortby_lex = array( 
     139        // key in sorty_combo (see above) => field in SQL request 
     140        'post_title' => 'post_title', 
     141        'cat_title'  => 'cat_title', 
     142        'user_id'    => 'P.user_id'); 
     143 
     144    $order_combo = array( 
     145        __('Descending') => 'desc', 
     146        __('Ascending')  => 'asc' 
     147    ); 
    149148} 
    150149 
    151150# Actions combo box 
    152151 
    153 $posts_actions_page = new dcPostsActionsPage($core,$core->adminurl->get("admin.posts")); 
     152$posts_actions_page = new dcPostsActionsPage($core, $core->adminurl->get("admin.posts")); 
    154153 
    155154if ($posts_actions_page->process()) { 
    156      return; 
     155    return; 
    157156} 
    158157 
    159158/* Get posts 
    160159-------------------------------------------------------- */ 
    161 $user_id = !empty($_GET['user_id']) ? $_GET['user_id'] : ''; 
    162 $cat_id = !empty($_GET['cat_id']) ? $_GET['cat_id'] : ''; 
    163 $status = isset($_GET['status']) ? $_GET['status'] : ''; 
    164 $password = isset($_GET['password']) ? $_GET['password'] : ''; 
    165 $selected = isset($_GET['selected']) ? $_GET['selected'] : ''; 
    166 $comment = isset($_GET['comment']) ? $_GET['comment'] : ''; 
    167 $trackback = isset($_GET['trackback']) ? $_GET['trackback'] : ''; 
     160$user_id    = !empty($_GET['user_id']) ? $_GET['user_id'] : ''; 
     161$cat_id     = !empty($_GET['cat_id']) ? $_GET['cat_id'] : ''; 
     162$status     = isset($_GET['status']) ? $_GET['status'] : ''; 
     163$password   = isset($_GET['password']) ? $_GET['password'] : ''; 
     164$selected   = isset($_GET['selected']) ? $_GET['selected'] : ''; 
     165$comment    = isset($_GET['comment']) ? $_GET['comment'] : ''; 
     166$trackback  = isset($_GET['trackback']) ? $_GET['trackback'] : ''; 
    168167$attachment = isset($_GET['attachment']) ? $_GET['attachment'] : ''; 
    169 $month = !empty($_GET['month']) ? $_GET['month'] : ''; 
    170 $lang = !empty($_GET['lang']) ?    $_GET['lang'] : ''; 
    171 $format = !empty($_GET['format']) ? $_GET['format'] : ''; 
    172 $sortby = !empty($_GET['sortby']) ?     $_GET['sortby'] : 'post_dt'; 
    173 $order = !empty($_GET['order']) ? $_GET['order'] : 'desc'; 
     168$month      = !empty($_GET['month']) ? $_GET['month'] : ''; 
     169$lang       = !empty($_GET['lang']) ? $_GET['lang'] : ''; 
     170$format     = !empty($_GET['format']) ? $_GET['format'] : ''; 
     171$sortby     = !empty($_GET['sortby']) ? $_GET['sortby'] : 'post_dt'; 
     172$order      = !empty($_GET['order']) ? $_GET['order'] : 'desc'; 
    174173 
    175174$show_filters = false; 
    176175 
    177 $page = !empty($_GET['page']) ? max(1,(integer) $_GET['page']) : 1; 
    178 $nb_per_page =  30; 
     176$page        = !empty($_GET['page']) ? max(1, (integer) $_GET['page']) : 1; 
     177$nb_per_page = 30; 
    179178 
    180179if (!empty($_GET['nb']) && (integer) $_GET['nb'] > 0) { 
    181      if ($nb_per_page != (integer) $_GET['nb']) { 
    182           $show_filters = true; 
    183      } 
    184      $nb_per_page = (integer) $_GET['nb']; 
    185 } 
    186  
    187 $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page); 
     180    if ($nb_per_page != (integer) $_GET['nb']) { 
     181        $show_filters = true; 
     182    } 
     183    $nb_per_page = (integer) $_GET['nb']; 
     184} 
     185 
     186$params['limit']      = array((($page - 1) * $nb_per_page), $nb_per_page); 
    188187$params['no_content'] = true; 
    189 $params['where'] = ''; 
     188$params['where']      = ''; 
    190189 
    191190# - User filter 
    192 if ($user_id !== '' && in_array($user_id,$users_combo)) { 
    193      $params['user_id'] = $user_id; 
    194      $show_filters = true; 
    195 } else { 
    196      $user_id=''; 
     191if ($user_id !== '' && in_array($user_id, $users_combo)) { 
     192    $params['user_id'] = $user_id; 
     193    $show_filters      = true; 
     194} else { 
     195    $user_id = ''; 
    197196} 
    198197 
    199198# - Categories filter 
    200199if ($cat_id !== '' && isset($categories_values[$cat_id])) { 
    201      $params['cat_id'] = $cat_id; 
    202      $show_filters = true; 
    203 } else { 
    204      $cat_id=''; 
     200    $params['cat_id'] = $cat_id; 
     201    $show_filters    = true; 
     202} else { 
     203    $cat_id = ''; 
    205204} 
    206205 
    207206# - Status filter 
    208 if ($status !== '' && in_array($status,$status_combo)) { 
    209      $params['post_status'] = $status; 
    210      $show_filters = true; 
    211 } else { 
    212      $status=''; 
     207if ($status !== '' && in_array($status, $status_combo)) { 
     208    $params['post_status'] = $status; 
     209    $show_filters          = true; 
     210} else { 
     211    $status = ''; 
    213212} 
    214213 
    215214# - Password filter 
    216 if ($password !== '' && in_array($password,$password_combo)) { 
    217      $params['where'] .= ' AND post_password IS '.($password ? 'NOT ' : '').'NULL '; 
    218      $show_filters = true; 
    219 } else { 
    220      $password=''; 
     215if ($password !== '' && in_array($password, $password_combo)) { 
     216    $params['where'] .= ' AND post_password IS ' . ($password ? 'NOT ' : '') . 'NULL '; 
     217    $show_filters = true; 
     218} else { 
     219    $password = ''; 
    221220} 
    222221 
    223222# - Selected filter 
    224 if ($selected !== '' && in_array($selected,$selected_combo)) { 
    225      $params['post_selected'] = $selected; 
    226      $show_filters = true; 
    227 } else { 
    228      $selected=''; 
     223if ($selected !== '' && in_array($selected, $selected_combo)) { 
     224    $params['post_selected'] = $selected; 
     225    $show_filters            = true; 
     226} else { 
     227    $selected = ''; 
    229228} 
    230229 
    231230# - Comment filter 
    232 if ($comment !== '' && in_array($comment,$comment_combo)) { 
    233      $params['where'] .= " AND post_open_comment = '".$comment."' "; 
    234      $show_filters = true; 
    235 } else { 
    236      $comment=''; 
     231if ($comment !== '' && in_array($comment, $comment_combo)) { 
     232    $params['where'] .= " AND post_open_comment = '" . $comment . "' "; 
     233    $show_filters = true; 
     234} else { 
     235    $comment = ''; 
    237236} 
    238237 
    239238# - Comment filter 
    240 if ($trackback !== '' && in_array($trackback,$trackback_combo)) { 
    241      $params['where'] .= " AND post_open_tb = '".$trackback."' "; 
    242      $show_filters = true; 
    243 } else { 
    244      $trackback=''; 
     239if ($trackback !== '' && in_array($trackback, $trackback_combo)) { 
     240    $params['where'] .= " AND post_open_tb = '" . $trackback . "' "; 
     241    $show_filters = true; 
     242} else { 
     243    $trackback = ''; 
    245244} 
    246245 
    247246# - Attachment filter 
    248 if ($attachment !== '' && in_array($attachment,$attachment_combo)) { 
    249      $params['media'] = $attachment; 
    250      $params['link_type'] = 'attachment'; 
    251      $show_filters = true; 
    252 } else { 
    253      $attachment=''; 
     247if ($attachment !== '' && in_array($attachment, $attachment_combo)) { 
     248    $params['media']    = $attachment; 
     249    $params['link_type'] = 'attachment'; 
     250    $show_filters        = true; 
     251} else { 
     252    $attachment = ''; 
    254253} 
    255254 
    256255# - Month filter 
    257 if ($month !== '' && in_array($month,$dt_m_combo)) { 
    258      $params['post_month'] = substr($month,4,2); 
    259      $params['post_year'] = substr($month,0,4); 
    260      $show_filters = true; 
    261 } else { 
    262      $month=''; 
     256if ($month !== '' && in_array($month, $dt_m_combo)) { 
     257    $params['post_month'] = substr($month, 4, 2); 
     258    $params['post_year']  = substr($month, 0, 4); 
     259    $show_filters        = true; 
     260} else { 
     261    $month = ''; 
    263262} 
    264263 
    265264# - Lang filter 
    266 if ($lang !== '' && in_array($lang,$lang_combo)) { 
    267      $params['post_lang'] = $lang; 
    268      $show_filters = true; 
    269 } else { 
    270      $lang=''; 
     265if ($lang !== '' && in_array($lang, $lang_combo)) { 
     266    $params['post_lang'] = $lang; 
     267    $show_filters        = true; 
     268} else { 
     269    $lang = ''; 
    271270} 
    272271 
    273272# - Format filter 
    274 if ($format !== '' && in_array($format,$format_combo)) { 
    275      $params['where'] .= " AND post_format = '".$format."' "; 
    276      $show_filters = true; 
    277 } else { 
    278      $format=''; 
     273if ($format !== '' && in_array($format, $format_combo)) { 
     274    $params['where'] .= " AND post_format = '" . $format . "' "; 
     275    $show_filters = true; 
     276} else { 
     277    $format = ''; 
    279278} 
    280279 
    281280# - Sortby and order filter 
    282 if ($sortby !== '' && in_array($sortby,$sortby_combo)) { 
    283      if (array_key_exists($sortby,$sortby_lex)) { 
    284           $params['order'] = $core->con->lexFields($sortby_lex[$sortby]); 
    285      } else { 
    286           $params['order'] = $sortby; 
    287      } 
    288      if ($order !== '' && in_array($order,$order_combo)) { 
    289           $params['order'] .= ' '.$order; 
    290      } else { 
    291           $order='desc'; 
    292      } 
    293  
    294      if ($sortby != 'post_dt' || $order != 'desc') { 
    295           $show_filters = true; 
    296      } 
    297 } else { 
    298      $sortby='post_dt'; 
    299      $order='desc'; 
     281if ($sortby !== '' && in_array($sortby, $sortby_combo)) { 
     282    if (array_key_exists($sortby, $sortby_lex)) { 
     283        $params['order'] = $core->con->lexFields($sortby_lex[$sortby]); 
     284    } else { 
     285        $params['order'] = $sortby; 
     286    } 
     287    if ($order !== '' && in_array($order, $order_combo)) { 
     288        $params['order'] .= ' ' . $order; 
     289    } else { 
     290        $order = 'desc'; 
     291    } 
     292 
     293    if ($sortby != 'post_dt' || $order != 'desc') { 
     294        $show_filters = true; 
     295    } 
     296} else { 
     297    $sortby = 'post_dt'; 
     298    $order  = 'desc'; 
    300299} 
    301300 
    302301# Get posts 
    303302try { 
    304      $posts = $core->blog->getPosts($params); 
    305      $counter = $core->blog->getPosts($params,true); 
    306      $post_list = new adminPostList($core,$posts,$counter->f(0)); 
     303    $posts    = $core->blog->getPosts($params); 
     304    $counter   = $core->blog->getPosts($params, true); 
     305    $post_list = new adminPostList($core, $posts, $counter->f(0)); 
    307306} catch (Exception $e) { 
    308      $core->error->add($e->getMessage()); 
     307    $core->error->add($e->getMessage()); 
    309308} 
    310309 
     
    313312 
    314313dcPage::open(__('Entries'), 
    315      dcPage::jsLoad('js/_posts_list.js').dcPage::jsFilterControl($show_filters), 
    316      dcPage::breadcrumb( 
    317           array( 
    318                html::escapeHTML($core->blog->name) => '', 
    319                __('Entries') => '' 
    320           )) 
     314    dcPage::jsLoad('js/_posts_list.js') . dcPage::jsFilterControl($show_filters), 
     315    dcPage::breadcrumb( 
     316        array( 
     317            html::escapeHTML($core->blog->name) => '', 
     318            __('Entries')                      => '' 
     319        )) 
    321320); 
    322321if (!empty($_GET['upd'])) { 
    323      dcPage::success(__('Selected entries have been successfully updated.')); 
     322    dcPage::success(__('Selected entries have been successfully updated.')); 
    324323} elseif (!empty($_GET['del'])) { 
    325      dcPage::success(__('Selected entries have been successfully deleted.')); 
    326 } 
    327 if (!$core->error->flag()) 
    328 { 
    329      echo 
    330      '<p class="top-add"><a class="button add" href="'.$core->adminurl->get("admin.post").'">'.__('New entry').'</a></p>'. 
    331      '<form action="'.$core->adminurl->get("admin.posts").'" method="get" id="filters-form">'. 
    332      '<h3 class="out-of-screen-if-js">'.__('Show filters and display options').'</h3>'. 
    333  
    334      '<div class="table">'. 
    335      '<div class="cell">'. 
    336      '<h4>'.__('Filters').'</h4>'. 
    337      '<p><label for="user_id" class="ib">'.__('Author:').'</label> '. 
    338      form::combo('user_id',$users_combo,$user_id).'</p>'. 
    339      '<p><label for="cat_id" class="ib">'.__('Category:').'</label> '. 
    340      form::combo('cat_id',$categories_combo,$cat_id).'</p>'. 
    341      '<p><label for="status" class="ib">'.__('Status:').'</label> ' . 
    342      form::combo('status',$status_combo,$status).'</p> '. 
    343      '<p><label for="format" class="ib">'.__('Format:').'</label> '. 
    344      form::combo('format',$format_combo,$format).'</p>'. 
    345      '<p><label for="password" class="ib">'.__('Password:').'</label> '. 
    346      form::combo('password',$password_combo,$password).'</p>'. 
    347      '</div>'. 
    348  
    349      '<div class="cell filters-sibling-cell">'. 
    350      '<p><label for="selected" class="ib">'.__('Selected:').'</label> '. 
    351      form::combo('selected',$selected_combo,$selected).'</p>'. 
    352      '<p><label for="attachment" class="ib">'.__('Attachments:').'</label> '. 
    353      form::combo('attachment',$attachment_combo,$attachment).'</p>'. 
    354      '<p><label for="month" class="ib">'.__('Month:').'</label> '. 
    355      form::combo('month',$dt_m_combo,$month).'</p>'. 
    356      '<p><label for="lang" class="ib">'.__('Lang:').'</label> '. 
    357      form::combo('lang',$lang_combo,$lang).'</p> '. 
    358      '<p><label for="comment" class="ib">'.__('Comments:').'</label> '. 
    359      form::combo('comment',$comment_combo,$comment).'</p>'. 
    360      '<p><label for="trackback" class="ib">'.__('Trackbacks:').'</label> '. 
    361      form::combo('trackback',$trackback_combo,$trackback).'</p>'. 
    362      '</div>'. 
    363  
    364      '<div class="cell filters-options">'. 
    365      '<h4>'.__('Display options').'</h4>'. 
    366      '<p><label for="sortby" class="ib">'.__('Order by:').'</label> '. 
    367      form::combo('sortby',$sortby_combo,$sortby).'</p>'. 
    368      '<p><label for="order" class="ib">'.__('Sort:').'</label> '. 
    369      form::combo('order',$order_combo,$order).'</p>'. 
    370      '<p><span class="label ib">'.__('Show').'</span> <label for="nb" class="classic">'. 
    371      form::field('nb',3,3,$nb_per_page).' '. 
    372      __('entries per page').'</label></p>'. 
    373      '</div>'. 
    374      '</div>'. 
    375  
    376      '<p><input type="submit" value="'.__('Apply filters and display options').'" />'. 
    377      '<br class="clear" /></p>'. //Opera sucks 
    378      '</form>'; 
    379  
    380      # Show posts 
    381      $post_list->display($page,$nb_per_page, 
    382      '<form action="'.$core->adminurl->get("admin.posts").'" method="post" id="form-entries">'. 
    383  
    384      '%s'. 
    385  
    386      '<div class="two-cols">'. 
    387      '<p class="col checkboxes-helpers"></p>'. 
    388  
    389      '<p class="col right"><label for="action" class="classic">'.__('Selected entries action:').'</label> '. 
    390      form::combo('action',$posts_actions_page->getCombo()). 
    391      '<input id="do-action" type="submit" value="'.__('ok').'" disabled /></p>'. 
    392      form::hidden(array('user_id'),$user_id). 
    393      form::hidden(array('cat_id'),$cat_id). 
    394      form::hidden(array('status'),$status). 
    395      form::hidden(array('password'),$password). 
    396      form::hidden(array('selected'),$selected). 
    397      form::hidden(array('comment'),$comment). 
    398      form::hidden(array('trackback'),$trackback). 
    399      form::hidden(array('attachment'),$attachment). 
    400      form::hidden(array('month'),$month). 
    401      form::hidden(array('lang'),$lang). 
    402      form::hidden(array('sortby'),$sortby). 
    403      form::hidden(array('order'),$order). 
    404      form::hidden(array('page'),$page). 
    405      form::hidden(array('nb'),$nb_per_page). 
    406      $core->formNonce(). 
    407      '</div>'. 
    408      '</form>', 
    409      $show_filters 
    410      ); 
     324    dcPage::success(__('Selected entries have been successfully deleted.')); 
     325} 
     326if (!$core->error->flag()) { 
     327    echo 
     328    '<p class="top-add"><a class="button add" href="' . $core->adminurl->get("admin.post") . '">' . __('New entry') . '</a></p>' . 
     329    '<form action="' . $core->adminurl->get("admin.posts") . '" method="get" id="filters-form">' . 
     330    '<h3 class="out-of-screen-if-js">' . __('Show filters and display options') . '</h3>' . 
     331 
     332    '<div class="table">' . 
     333    '<div class="cell">' . 
     334    '<h4>' . __('Filters') . '</h4>' . 
     335    '<p><label for="user_id" class="ib">' . __('Author:') . '</label> ' . 
     336    form::combo('user_id', $users_combo, $user_id) . '</p>' . 
     337    '<p><label for="cat_id" class="ib">' . __('Category:') . '</label> ' . 
     338    form::combo('cat_id', $categories_combo, $cat_id) . '</p>' . 
     339    '<p><label for="status" class="ib">' . __('Status:') . '</label> ' . 
     340    form::combo('status', $status_combo, $status) . '</p> ' . 
     341    '<p><label for="format" class="ib">' . __('Format:') . '</label> ' . 
     342    form::combo('format', $format_combo, $format) . '</p>' . 
     343    '<p><label for="password" class="ib">' . __('Password:') . '</label> ' . 
     344    form::combo('password', $password_combo, $password) . '</p>' . 
     345    '</div>' . 
     346 
     347    '<div class="cell filters-sibling-cell">' . 
     348    '<p><label for="selected" class="ib">' . __('Selected:') . '</label> ' . 
     349    form::combo('selected', $selected_combo, $selected) . '</p>' . 
     350    '<p><label for="attachment" class="ib">' . __('Attachments:') . '</label> ' . 
     351    form::combo('attachment', $attachment_combo, $attachment) . '</p>' . 
     352    '<p><label for="month" class="ib">' . __('Month:') . '</label> ' . 
     353    form::combo('month', $dt_m_combo, $month) . '</p>' . 
     354    '<p><label for="lang" class="ib">' . __('Lang:') . '</label> ' . 
     355    form::combo('lang', $lang_combo, $lang) . '</p> ' . 
     356    '<p><label for="comment" class="ib">' . __('Comments:') . '</label> ' . 
     357    form::combo('comment', $comment_combo, $comment) . '</p>' . 
     358    '<p><label for="trackback" class="ib">' . __('Trackbacks:') . '</label> ' . 
     359    form::combo('trackback', $trackback_combo, $trackback) . '</p>' . 
     360    '</div>' . 
     361 
     362    '<div class="cell filters-options">' . 
     363    '<h4>' . __('Display options') . '</h4>' . 
     364    '<p><label for="sortby" class="ib">' . __('Order by:') . '</label> ' . 
     365    form::combo('sortby', $sortby_combo, $sortby) . '</p>' . 
     366    '<p><label for="order" class="ib">' . __('Sort:') . '</label> ' . 
     367    form::combo('order', $order_combo, $order) . '</p>' . 
     368    '<p><span class="label ib">' . __('Show') . '</span> <label for="nb" class="classic">' . 
     369    form::number('nb', 0, 999, $nb_per_page) . ' ' . 
     370    __('entries per page') . '</label></p>' . 
     371    '</div>' . 
     372    '</div>' . 
     373 
     374    '<p><input type="submit" value="' . __('Apply filters and display options') . '" />' . 
     375    '<br class="clear" /></p>' . //Opera sucks 
     376    '</form>'; 
     377 
     378    # Show posts 
     379    $post_list->display($page, $nb_per_page, 
     380        '<form action="' . $core->adminurl->get("admin.posts") . '" method="post" id="form-entries">' . 
     381 
     382        '%s' . 
     383 
     384        '<div class="two-cols">' . 
     385        '<p class="col checkboxes-helpers"></p>' . 
     386 
     387        '<p class="col right"><label for="action" class="classic">' . __('Selected entries action:') . '</label> ' . 
     388        form::combo('action', $posts_actions_page->getCombo()) . 
     389        '<input id="do-action" type="submit" value="' . __('ok') . '" disabled /></p>' . 
     390        form::hidden(array('user_id'), $user_id) . 
     391        form::hidden(array('cat_id'), $cat_id) . 
     392        form::hidden(array('status'), $status) . 
     393        form::hidden(array('password'), $password) . 
     394        form::hidden(array('selected'), $selected) . 
     395        form::hidden(array('comment'), $comment) . 
     396        form::hidden(array('trackback'), $trackback) . 
     397        form::hidden(array('attachment'), $attachment) . 
     398        form::hidden(array('month'), $month) . 
     399        form::hidden(array('lang'), $lang) . 
     400        form::hidden(array('sortby'), $sortby) . 
     401        form::hidden(array('order'), $order) . 
     402        form::hidden(array('page'), $page) . 
     403        form::hidden(array('nb'), $nb_per_page) . 
     404        $core->formNonce() . 
     405        '</div>' . 
     406        '</form>', 
     407        $show_filters 
     408    ); 
    411409} 
    412410 
  • admin/preferences.php

    r3699 r3725  
    437437 
    438438'<p><label for="user_name">' . __('Last Name:') . '</label>' . 
    439 form::field('user_name', 20, 255, html::escapeHTML($user_name)) . '</p>' . 
     439form::field('user_name', 20, 255, array( 
     440    'default'      => html::escapeHTML($user_name), 
     441    'autocomplete' => 'family-name' 
     442)) . 
     443'</p>' . 
    440444 
    441445'<p><label for="user_firstname">' . __('First Name:') . '</label>' . 
    442 form::field('user_firstname', 20, 255, html::escapeHTML($user_firstname)) . '</p>' . 
     446form::field('user_firstname', 20, 255, array( 
     447    'default'      => html::escapeHTML($user_firstname), 
     448    'autocomplete' => 'given-name' 
     449)) . 
     450'</p>' . 
    443451 
    444452'<p><label for="user_displayname">' . __('Display name:') . '</label>' . 
    445 form::field('user_displayname', 20, 255, html::escapeHTML($user_displayname)) . '</p>' . 
     453form::field('user_displayname', 20, 255, array( 
     454    'default'      => html::escapeHTML($user_displayname), 
     455    'autocomplete' => 'nickname' 
     456)) . 
     457'</p>' . 
    446458 
    447459'<p><label for="user_email">' . __('Email:') . '</label>' . 
    448 form::field('user_email', 20, 255, html::escapeHTML($user_email)) . '</p>' . 
     460form::email('user_email', array( 
     461    'default'      => html::escapeHTML($user_email), 
     462    'autocomplete' => 'email' 
     463)) . 
     464'</p>' . 
    449465 
    450466'<p><label for="user_url">' . __('URL:') . '</label>' . 
    451 form::field('user_url', 30, 255, html::escapeHTML($user_url)) . '</p>' . 
     467form::url('user_url', array( 
     468    'size'         => 30, 
     469    'default'      => html::escapeHTML($user_url), 
     470    'autocomplete' => 'url' 
     471)) . 
     472'</p>' . 
    452473 
    453474'<p><label for="user_lang">' . __('Language for my interface:') . '</label>' . 
     
    540561echo 
    541562'<p><label for="user_ui_media_by_page" class="classic">' . __('Number of elements displayed per page in media manager:') . '</label> ' . 
    542 form::field('user_ui_media_by_page', 5, 3, (integer) $user_ui_media_by_page) . '</p>'; 
     563form::number('user_ui_media_by_page', 0, 999, (integer) $user_ui_media_by_page) . '</p>'; 
    543564 
    544565echo 
    545566'<p><label for="user_ui_media_nb_last_dirs" class="classic">' . __('Number of recent folders proposed in media manager:') . '</label> ' . 
    546 form::field('user_ui_media_nb_last_dirs', 5, 3, (integer) $user_ui_media_nb_last_dirs) . '</p>' . 
     567form::number('user_ui_media_nb_last_dirs', 0, 999, (integer) $user_ui_media_nb_last_dirs) . '</p>' . 
    547568'<p class="clear form-note">' . __('Leave empty to ignore, displayed only if Javascript is enabled in your browser.') . '</p>'; 
    548569 
     
    599620 
    600621'<p class="field"><label for="user_edit_size">' . __('Entry edit field height:') . '</label>' . 
    601 form::field('user_edit_size', 5, 4, (integer) $user_options['edit_size']) . '</p>' . 
     622form::number('user_edit_size', 10, 999, (integer) $user_options['edit_size']) . '</p>' . 
    602623 
    603624'<p><label for="user_wysiwyg" class="classic">' . 
     
    658679        echo '<li id="fu-' . $id . '">' . '<label for="fuk-' . $id . '">' . 
    659680        '<img src="' . dc_admin_icon_url($fav['small-icon']) . '" alt="" /> ' . '<span class="zoom"><img src="' . dc_admin_icon_url($fav['large-icon']) . '" alt="" /></span>' . 
    660         form::field(array('order[' . $id . ']'), 2, 3, $count, 'position', '', false, 'title="' . sprintf(__('position of %s'), $fav['title']) . '"') . 
     681        form::field(array('order[' . $id . ']'), 2, 3, array( 
     682            'default'    => $count, 
     683            'class'      => 'position', 
     684            'extra_html' => 'title="' . sprintf(__('position of %s'), $fav['title']) . '"' 
     685        )) . 
    661686        form::hidden(array('dynorder[]', 'dynorder-' . $id . ''), $id) . 
    662687        form::checkbox(array('remove[]', 'fuk-' . $id), $id) . __($fav['title']) . '</label>' . 
  • admin/search.php

    r3182 r3725  
    1111# -- END LICENSE BLOCK ----------------------------------------- 
    1212 
    13 require dirname(__FILE__).'/../inc/admin/prepend.php'; 
     13require dirname(__FILE__) . '/../inc/admin/prepend.php'; 
    1414 
    1515dcPage::check('usage,contentadmin'); 
    1616 
    17 $q = !empty($_REQUEST['q']) ? $_REQUEST['q'] : (!empty($_REQUEST['qx']) ? $_REQUEST['qx'] : null); 
     17$q     = !empty($_REQUEST['q']) ? $_REQUEST['q'] : (!empty($_REQUEST['qx']) ? $_REQUEST['qx'] : null); 
    1818$qtype = !empty($_REQUEST['qtype']) ? $_REQUEST['qtype'] : 'p'; 
    1919if ($qtype != 'c' && $qtype != 'p') { 
    20      $qtype = 'p'; 
     20    $qtype = 'p'; 
    2121} 
    2222 
    2323$starting_scripts = ''; 
    2424 
    25 $page = !empty($_GET['page']) ? max(1,(integer) $_GET['page']) : 1; 
    26 $nb_per_page =  30; 
     25$page        = !empty($_GET['page']) ? max(1, (integer) $_GET['page']) : 1; 
     26$nb_per_page = 30; 
    2727 
     28if ($q) { 
     29    $q = html::escapeHTML($q); 
    2830 
    29 if ($q) 
    30 { 
    31      $q = html::escapeHTML($q); 
     31    $params = array(); 
    3232 
    33      $params = array(); 
     33    # Get posts 
     34    if ($qtype == 'p') { 
     35        $starting_scripts .= dcPage::jsLoad('js/_posts_list.js'); 
    3436 
    35      # Get posts 
    36      if ($qtype == 'p') 
    37      { 
    38           $starting_scripts .= dcPage::jsLoad('js/_posts_list.js'); 
     37        $params['search']     = $q; 
     38        $params['limit']      = array((($page - 1) * $nb_per_page), $nb_per_page); 
     39        $params['no_content'] = true; 
     40        $params['order']      = 'post_dt DESC'; 
    3941 
    40           $params['search'] = $q; 
    41           $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page); 
    42           $params['no_content'] = true; 
    43           $params['order'] = 'post_dt DESC'; 
     42        try { 
     43            $posts     = $core->blog->getPosts($params); 
     44            $counter   = $core->blog->getPosts($params, true); 
     45            $post_list = new adminPostList($core, $posts, $counter->f(0)); 
     46        } catch (Exception $e) { 
     47            $core->error->add($e->getMessage()); 
     48        } 
     49    } 
     50    # Get comments 
     51    elseif ($qtype == 'c') { 
     52        $starting_scripts .= dcPage::jsLoad('js/_comments.js'); 
    4453 
    45           try { 
    46                $posts = $core->blog->getPosts($params); 
    47                $counter = $core->blog->getPosts($params,true); 
    48                $post_list = new adminPostList($core,$posts,$counter->f(0)); 
    49           } catch (Exception $e) { 
    50                $core->error->add($e->getMessage()); 
    51           } 
    52      } 
    53      # Get comments 
    54      elseif ($qtype == 'c') 
    55      { 
    56           $starting_scripts .= dcPage::jsLoad('js/_comments.js'); 
     54        $params['search']     = $q; 
     55        $params['limit']      = array((($page - 1) * $nb_per_page), $nb_per_page); 
     56        $params['no_content'] = true; 
     57        $params['order']      = 'comment_dt DESC'; 
    5758 
    58           $params['search'] = $q; 
    59           $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page); 
    60           $params['no_content'] = true; 
    61           $params['order'] = 'comment_dt DESC'; 
    62  
    63           try { 
    64                $comments = $core->blog->getComments($params); 
    65                $counter = $core->blog->getComments($params,true); 
    66                $comment_list = new adminCommentList($core,$comments,$counter->f(0)); 
    67           } catch (Exception $e) { 
    68                $core->error->add($e->getMessage()); 
    69           } 
    70      } 
     59        try { 
     60            $comments     = $core->blog->getComments($params); 
     61            $counter      = $core->blog->getComments($params, true); 
     62            $comment_list = new adminCommentList($core, $comments, $counter->f(0)); 
     63        } catch (Exception $e) { 
     64            $core->error->add($e->getMessage()); 
     65        } 
     66    } 
    7167} 
    7268 
    7369if ($qtype == 'p') { 
    74      $posts_actions_page = new dcPostsActionsPage($core,$core->adminurl->get("admin.search"),array('q'=>$q,'qtype'=>$qtype)); 
     70    $posts_actions_page = new dcPostsActionsPage($core, $core->adminurl->get("admin.search"), array('q' => $q, 'qtype' => $qtype)); 
    7571 
    76      if ($posts_actions_page->process()) { 
    77           return; 
    78      } 
     72    if ($posts_actions_page->process()) { 
     73        return; 
     74    } 
    7975} else { 
    80      $comments_actions_page = new dcCommentsActionsPage($core,$core->adminurl->get("admin.search"),array('q'=>$q,'qtype'=>$qtype)); 
     76    $comments_actions_page = new dcCommentsActionsPage($core, $core->adminurl->get("admin.search"), array('q' => $q, 'qtype' => $qtype)); 
    8177 
    82      if ($comments_actions_page->process()) { 
    83           return; 
    84      } 
     78    if ($comments_actions_page->process()) { 
     79        return; 
     80    } 
    8581} 
    8682 
    87 dcPage::open(__('Search'),$starting_scripts, 
    88      dcPage::breadcrumb( 
    89           array( 
    90                html::escapeHTML($core->blog->name) => '', 
    91                __('Search') => '' 
    92           )) 
     83dcPage::open(__('Search'), $starting_scripts, 
     84    dcPage::breadcrumb( 
     85        array( 
     86            html::escapeHTML($core->blog->name) => '', 
     87            __('Search')                        => '' 
     88        )) 
    9389); 
    9490 
    9591echo 
    96 '<form action="'.$core->adminurl->get("admin.search").'" method="get" role="search">'. 
    97 '<div class="fieldset"><h3>'.__('Search options').'</h3>'. 
    98 '<p><label for="q">'.__('Query:').' </label>'.form::field('q',30,255,$q).'</p>'. 
    99 '<p><label for="qtype1" class="classic">'.form::radio(array('qtype','qtype1'),'p',$qtype == 'p').' '.__('Search in entries').'</label> '. 
    100 '<label for="qtype2" class="classic">'.form::radio(array('qtype','qtype2'),'c',$qtype == 'c').' '.__('Search in comments').'</label></p>'. 
    101 '<p><input type="submit" value="'.__('Search').'" /></p>'. 
    102 '</div>'. 
    103 '</form>'; 
     92'<form action="' . $core->adminurl->get("admin.search") . '" method="get" role="search">' . 
     93'<div class="fieldset"><h3>' . __('Search options') . '</h3>' . 
     94'<p><label for="q">' . __('Query:') . ' </label>' . form::field('q', 30, 255, $q) . '</p>' . 
     95'<p><label for="qtype1" class="classic">' . form::radio(array('qtype', 'qtype1'), 'p', $qtype == 'p') . ' ' . __('Search in entries') . '</label> ' . 
     96'<label for="qtype2" class="classic">' . form::radio(array('qtype', 'qtype2'), 'c', $qtype == 'c') . ' ' . __('Search in comments') . '</label></p>' . 
     97'<p><input type="submit" value="' . __('Search') . '" /></p>' . 
     98    '</div>' . 
     99    '</form>'; 
    104100 
    105 if ($q && !$core->error->flag()) 
    106 { 
    107      $redir = html::escapeHTML($_SERVER['REQUEST_URI']); 
     101if ($q && !$core->error->flag()) { 
     102    $redir = html::escapeHTML($_SERVER['REQUEST_URI']); 
    108103 
    109      # Show posts 
    110      if ($qtype == 'p') 
    111      { 
     104    # Show posts 
     105    if ($qtype == 'p') { 
    112106 
    113           if ($counter->f(0) > 0) { 
    114                printf('<h3>'. 
    115                ($counter->f(0) == 1 ? __('%d entry found') : __('%d entries found')). 
    116                '</h3>',$counter->f(0)); 
    117           } 
     107        if ($counter->f(0) > 0) { 
     108            printf('<h3>' . 
     109                ($counter->f(0) == 1 ? __('%d entry found') : __('%d entries found')) . 
     110                '</h3>', $counter->f(0)); 
     111        } 
    118112 
    119           $post_list->display($page,$nb_per_page, 
    120           '<form action="'.$core->adminurl->get("admin.search").'" method="post" id="form-entries">'. 
     113        $post_list->display($page, $nb_per_page, 
     114            '<form action="' . $core->adminurl->get("admin.search") . '" method="post" id="form-entries">' . 
    121115 
    122           '%s'. 
     116            '%s' . 
    123117 
    124           '<div class="two-cols">'. 
    125           '<p class="col checkboxes-helpers"></p>'. 
     118            '<div class="two-cols">' . 
     119            '<p class="col checkboxes-helpers"></p>' . 
    126120 
    127           '<p class="col right"><label for="action1" class="classic">'.__('Selected entries action:').'</label> '. 
    128           form::combo(array('action','action1'),$posts_actions_page->getCombo()). 
    129           '<input id="do-action" type="submit" value="'.__('ok').'" /></p>'. 
    130           $core->formNonce(). 
    131           $posts_actions_page->getHiddenFields(). 
    132           '</div>'. 
    133           '</form>' 
    134           ); 
    135      } 
    136      # Show posts 
    137      elseif ($qtype == 'c') 
    138      { 
    139           # Actions combo box 
     121            '<p class="col right"><label for="action1" class="classic">' . __('Selected entries action:') . '</label> ' . 
     122            form::combo(array('action', 'action1'), $posts_actions_page->getCombo()) . 
     123            '<input id="do-action" type="submit" value="' . __('ok') . '" /></p>' . 
     124            $core->formNonce() . 
     125            $posts_actions_page->getHiddenFields() . 
     126            '</div>' . 
     127            '</form>' 
     128        ); 
     129    } 
     130    # Show posts 
     131    elseif ($qtype == 'c') { 
     132        # Actions combo box 
    140133 
    141           if ($counter->f(0) > 0) { 
    142                printf('<h3>'. 
    143                ($counter->f(0) == 1 ? __('%d comment found') : __('%d comments found')). 
    144                '</h3>',$counter->f(0)); 
    145           } 
     134        if ($counter->f(0) > 0) { 
     135            printf('<h3>' . 
     136                ($counter->f(0) == 1 ? __('%d comment found') : __('%d comments found')) . 
     137                '</h3>', $counter->f(0)); 
     138        } 
    146139 
    147           $comment_list->display($page,$nb_per_page, 
    148           '<form action="'.$core->adminurl->get("admin.search").'" method="post" id="form-comments">'. 
     140        $comment_list->display($page, $nb_per_page, 
     141            '<form action="' . $core->adminurl->get("admin.search") . '" method="post" id="form-comments">' . 
    149142 
    150           '%s'. 
     143            '%s' . 
    151144 
    152           '<div class="two-cols">'. 
    153           '<p class="col checkboxes-helpers"></p>'. 
     145            '<div class="two-cols">' . 
     146            '<p class="col checkboxes-helpers"></p>' . 
    154147 
    155           '<p class="col right"><label for="action2" class="classic">'.__('Selected comments action:').'</label> '. 
    156           form::combo(array('action','action2'),$comments_actions_page->getCombo()). 
    157           '<input id="do-action" type="submit" value="'.__('ok').'" /></p>'. 
    158           $core->formNonce(). 
    159           $comments_actions_page->getHiddenFields(). 
    160           '</div>'. 
    161           '</form>' 
    162           ); 
    163      } 
     148            '<p class="col right"><label for="action2" class="classic">' . __('Selected comments action:') . '</label> ' . 
     149            form::combo(array('action', 'action2'), $comments_actions_page->getCombo()) . 
     150            '<input id="do-action" type="submit" value="' . __('ok') . '" /></p>' . 
     151            $core->formNonce() . 
     152            $comments_actions_page->getHiddenFields() . 
     153            '</div>' . 
     154            '</form>' 
     155        ); 
     156    } 
    164157} 
    165158 
  • admin/user.php

    r3707 r3725  
    199199 
    200200'<p><label for="user_id" class="required"><abbr title="' . __('Required field') . '">*</abbr> ' . __('User ID:') . '</label> ' . 
    201 form::field('user_id', 20, 255, html::escapeHTML($user_id), '', '', false, 'required placeholder="' . __('Login') . '"') . 
     201form::field('user_id', 20, 255, array( 
     202    'default'      => html::escapeHTML($user_id), 
     203    'extra_html'   => 'required placeholder="' . __('Login') . '"', 
     204    'autocomplete' => 'username' 
     205)) . 
    202206'</p>' . 
    203207'<p class="form-note info">' . __('At least 2 characters using letters, numbers or symbols.') . '</p>'; 
     
    257261 
    258262'<p><label for="user_name">' . __('Last Name:') . '</label> ' . 
    259 form::field('user_name', 20, 255, html::escapeHTML($user_name)) . 
     263form::field('user_name', 20, 255, array( 
     264    'default'      => html::escapeHTML($user_name), 
     265    'autocomplete' => 'family-name' 
     266)) . 
    260267'</p>' . 
    261268 
    262269'<p><label for="user_firstname">' . __('First Name:') . '</label> ' . 
    263 form::field('user_firstname', 20, 255, html::escapeHTML($user_firstname)) . 
     270form::field('user_firstname', 20, 255, array( 
     271    'default'      => html::escapeHTML($user_firstname), 
     272    'autocomplete' => 'given-name' 
     273)) . 
    264274'</p>' . 
    265275 
    266276'<p><label for="user_displayname">' . __('Display name:') . '</label> ' . 
    267 form::field('user_displayname', 20, 255, html::escapeHTML($user_displayname)) . 
     277form::field('user_displayname', 20, 255, array( 
     278    'default'      => html::escapeHTML($user_displayname), 
     279    'autocomplete' => 'nickname' 
     280)) . 
    268281'</p>' . 
    269282 
    270283'<p><label for="user_email">' . __('Email:') . '</label> ' . 
    271 form::field('user_email', 20, 255, html::escapeHTML($user_email)) . 
     284form::email('user_email', array( 
     285    'default'      => html::escapeHTML($user_email), 
     286    'autocomplete' => 'email' 
     287)) . 
    272288'</p>' . 
    273289'<p class="form-note">' . __('Mandatory for password recovering procedure.') . '</p>' . 
    274290 
    275291'<p><label for="user_url">' . __('URL:') . '</label> ' . 
    276 form::field('user_url', 30, 255, html::escapeHTML($user_url)) . 
     292form::url('user_url', array( 
     293    'size'         => 30, 
     294    'default'      => html::escapeHTML($user_url), 
     295    'autocomplete' => 'url' 
     296)) . 
    277297'</p>' . 
    278298'</div>' . 
     
    299319 
    300320'<p><label for="user_edit_size">' . __('Entry edit field height:') . '</label> ' . 
    301 form::field('user_edit_size', 5, 4, (integer) $user_options['edit_size']) . 
    302     '</p>'; 
     321form::number('user_edit_size', 10, 999, (integer) $user_options['edit_size']) . 
     322'</p>'; 
    303323 
    304324# --BEHAVIOR-- adminUserForm 
  • admin/users.php

    r3649 r3725  
    1111# -- END LICENSE BLOCK ----------------------------------------- 
    1212 
    13 require dirname(__FILE__).'/../inc/admin/prepend.php'; 
     13require dirname(__FILE__) . '/../inc/admin/prepend.php'; 
    1414 
    1515dcPage::checkSuper(); 
     
    1717# Creating filter combo boxes 
    1818$sortby_combo = array( 
    19 __('Username') => 'user_id', 
    20 __('Last Name') => 'user_name', 
    21 __('First Name') => 'user_firstname', 
    22 __('Display name') => 'user_displayname', 
    23 __('Number of entries') => 'nb_post' 
     19    __('Username')          => 'user_id', 
     20    __('Last Name')        => 'user_name', 
     21    __('First Name')        => 'user_firstname', 
     22    __('Display name')      => 'user_displayname', 
     23    __('Number of entries') => 'nb_post' 
    2424); 
    2525 
    2626$sortby_lex = array( 
    27      // key in sorty_combo (see above) => field in SQL request 
    28      'user_id' => 'U.user_id', 
    29      'user_name' => 'user_name', 
    30      'user_firstname' => 'user_firstname', 
    31      'user_displayname' => 'user_displayname'); 
     27    // key in sorty_combo (see above) => field in SQL request 
     28    'user_id'          => 'U.user_id', 
     29    'user_name'        => 'user_name', 
     30    'user_firstname'  => 'user_firstname', 
     31    'user_displayname' => 'user_displayname'); 
    3232 
    3333$order_combo = array( 
    34 __('Descending') => 'desc', 
    35 __('Ascending') => 'asc' 
     34    __('Descending') => 'desc', 
     35    __('Ascending') => 'asc' 
    3636); 
    3737 
    3838# Actions combo box 
    3939$combo_action = array( 
    40      __('Set permissions') => 'blogs', 
    41      __('Delete') => 'deleteuser' 
     40    __('Set permissions') => 'blogs', 
     41    __('Delete')          => 'deleteuser' 
    4242); 
    4343 
    4444# --BEHAVIOR-- adminUsersActionsCombo 
    45 $core->callBehavior('adminUsersActionsCombo',array(&$combo_action)); 
     45$core->callBehavior('adminUsersActionsCombo', array(&$combo_action)); 
    4646 
    4747$show_filters = false; 
    4848 
    4949#?Get users 
    50 $page = !empty($_GET['page']) ? max(1,(integer) $_GET['page']) : 1; 
    51 $nb_per_page =  30; 
     50$page        = !empty($_GET['page']) ? max(1, (integer) $_GET['page']) : 1; 
     51$nb_per_page = 30; 
    5252 
    5353if (!empty($_GET['nb']) && (integer) $_GET['nb'] > 0) { 
    54      if ($nb_per_page != (integer) $_GET['nb']) { 
    55           $show_filters = true; 
    56      } 
    57      $nb_per_page = (integer) $_GET['nb']; 
     54    if ($nb_per_page != (integer) $_GET['nb']) { 
     55        $show_filters = true; 
     56    } 
     57    $nb_per_page = (integer) $_GET['nb']; 
    5858} 
    5959 
    60 $q = !empty($_GET['q']) ? $_GET['q'] : ''; 
    61 $sortby = !empty($_GET['sortby']) ?     $_GET['sortby'] : 'user_id'; 
    62 $order = !empty($_GET['order']) ? $_GET['order'] : 'asc'; 
     60$q      = !empty($_GET['q']) ? $_GET['q'] : ''; 
     61$sortby = !empty($_GET['sortby']) ? $_GET['sortby'] : 'user_id'; 
     62$order  = !empty($_GET['order']) ? $_GET['order'] : 'asc'; 
    6363 
    64 $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page); 
    65  
     64$params['limit'] = array((($page - 1) * $nb_per_page), $nb_per_page); 
    6665 
    6766# - Search filter 
    6867if ($q) { 
    69      $params['q'] = $q; 
    70      $show_filters = true; 
     68    $params['q'] = $q; 
     69    $show_filters = true; 
    7170} 
    7271 
    7372# - Sortby and order filter 
    74 if ($sortby !== '' && in_array($sortby,$sortby_combo,true)) { 
    75      if (array_key_exists($sortby,$sortby_lex)) { 
    76           $params['order'] = $core->con->lexFields($sortby_lex[$sortby]); 
    77      } else { 
    78           $params['order'] = $sortby; 
    79      } 
    80      if ($order !== '' && in_array($order,$order_combo,true)) { 
    81           $params['order'] .= ' '.$order; 
    82      } else { 
    83           $order='asc'; 
    84      } 
     73if ($sortby !== '' && in_array($sortby, $sortby_combo, true)) { 
     74    if (array_key_exists($sortby, $sortby_lex)) { 
     75        $params['order'] = $core->con->lexFields($sortby_lex[$sortby]); 
     76    } else { 
     77        $params['order'] = $sortby; 
     78    } 
     79    if ($order !== '' && in_array($order, $order_combo, true)) { 
     80        $params['order'] .= ' ' . $order; 
     81    } else { 
     82        $order = 'asc'; 
     83    } 
    8584} else { 
    86      $sortby = 'user_id'; 
    87      $order = 'asc'; 
     85    $sortby = 'user_id'; 
     86    $order = 'asc'; 
    8887} 
    8988if ($sortby != 'user_id' || $order != 'asc') { 
    90      $show_filters = true; 
     89    $show_filters = true; 
    9190} 
    9291 
    9392# Get users 
    9493try { 
    95      $rs = $core->getUsers($params); 
    96      $counter = $core->getUsers($params,1); 
    97      $rsStatic = $rs->toStatic(); 
    98      if ($sortby != 'nb_post') { 
    99           // Sort user list using lexical order if necessary 
    100           $rsStatic->extend('rsExtUser'); 
    101           $rsStatic = $rsStatic->toExtStatic(); 
    102           $rsStatic->lexicalSort($sortby,$order); 
    103      } 
    104      $user_list = new adminUserList($core,$rsStatic,$counter->f(0)); 
     94    $rs      = $core->getUsers($params); 
     95    $counter  = $core->getUsers($params, 1); 
     96    $rsStatic = $rs->toStatic(); 
     97    if ($sortby != 'nb_post') { 
     98        // Sort user list using lexical order if necessary 
     99        $rsStatic->extend('rsExtUser'); 
     100        $rsStatic = $rsStatic->toExtStatic(); 
     101        $rsStatic->lexicalSort($sortby, $order); 
     102    } 
     103    $user_list = new adminUserList($core, $rsStatic, $counter->f(0)); 
    105104} catch (Exception $e) { 
    106      $core->error->add($e->getMessage()); 
     105    $core->error->add($e->getMessage()); 
    107106} 
    108  
    109107 
    110108/* DISPLAY 
     
    112110 
    113111dcPage::open(__('Users'), 
    114      dcPage::jsLoad('js/_users.js').dcPage::jsFilterControl($show_filters), 
    115      dcPage::breadcrumb( 
    116           array( 
    117                __('System') => '', 
    118                __('Users') => '' 
    119           )) 
     112    dcPage::jsLoad('js/_users.js') . dcPage::jsFilterControl($show_filters), 
     113    dcPage::breadcrumb( 
     114        array( 
     115            __('System') => '', 
     116            __('Users') => '' 
     117        )) 
    120118); 
    121119 
    122 if (!$core->error->flag()) 
    123 { 
    124      if (!empty($_GET['del'])) { 
    125           dcPage::message(__('User has been successfully removed.')); 
    126      } 
    127      if (!empty($_GET['upd'])) { 
    128           dcPage::message(__('The permissions have been successfully updated.')); 
    129      } 
     120if (!$core->error->flag()) { 
     121    if (!empty($_GET['del'])) { 
     122        dcPage::message(__('User has been successfully removed.')); 
     123    } 
     124    if (!empty($_GET['upd'])) { 
     125        dcPage::message(__('The permissions have been successfully updated.')); 
     126    } 
    130127 
    131      echo 
    132      '<p class="top-add"><strong><a class="button add" href="'.$core->adminurl->get("admin.user").'">'.__('New user').'</a></strong></p>'. 
    133      '<form action="'.$core->adminurl->get("admin.users").'" method="get" id="filters-form">'. 
    134      '<h3 class="out-of-screen-if-js">'.__('Show filters and display options').'</h3>'. 
     128    echo 
     129    '<p class="top-add"><strong><a class="button add" href="' . $core->adminurl->get("admin.user") . '">' . __('New user') . '</a></strong></p>' . 
     130    '<form action="' . $core->adminurl->get("admin.users") . '" method="get" id="filters-form">' . 
     131    '<h3 class="out-of-screen-if-js">' . __('Show filters and display options') . '</h3>' . 
    135132 
    136      '<div class="table">'. 
    137      '<div class="cell">'. 
    138      '<h4>'.__('Filters').'</h4>'. 
    139      '<p><label for="q" class="ib">'.__('Search:').'</label> '. 
    140      form::field('q',20,255,html::escapeHTML($q)).'</p>'. 
    141      '</div>'. 
     133    '<div class="table">' . 
     134    '<div class="cell">' . 
     135    '<h4>' . __('Filters') . '</h4>' . 
     136    '<p><label for="q" class="ib">' . __('Search:') . '</label> ' . 
     137    form::field('q', 20, 255, html::escapeHTML($q)) . '</p>' . 
     138    '</div>' . 
    142139 
    143      '<div class="cell filters-options">'. 
    144      '<h4>'.__('Display options').'</h4>'. 
    145      '<p><label for="sortby" class="ib">'.__('Order by:').'</label> '. 
    146      form::combo('sortby',$sortby_combo,$sortby).'</p> '. 
    147      '<p><label for="order" class="ib">'.__('Sort:').'</label> '. 
    148      form::combo('order',$order_combo,$order).'</p>'. 
    149      '<p><span class="label ib">'.__('Show').'</span> <label for="nb" class="classic">'. 
    150      form::field('nb',3,3,$nb_per_page).' '.__('users per page').'</label></p> '. 
    151      '</div>'. 
    152      '</div>'. 
     140    '<div class="cell filters-options">' . 
     141    '<h4>' . __('Display options') . '</h4>' . 
     142    '<p><label for="sortby" class="ib">' . __('Order by:') . '</label> ' . 
     143    form::combo('sortby', $sortby_combo, $sortby) . '</p> ' . 
     144    '<p><label for="order" class="ib">' . __('Sort:') . '</label> ' . 
     145    form::combo('order', $order_combo, $order) . '</p>' . 
     146    '<p><span class="label ib">' . __('Show') . '</span> <label for="nb" class="classic">' . 
     147    form::number('nb', 0, 999, $nb_per_page) . ' ' . __('users per page') . '</label></p> ' . 
     148    '</div>' . 
     149    '</div>' . 
    153150 
    154      '<p><input type="submit" value="'.__('Apply filters and display options').'" />'. 
    155      '<br class="clear" /></p>'. //Opera sucks 
    156      '</form>'; 
     151    '<p><input type="submit" value="' . __('Apply filters and display options') . '" />' . 
     152    '<br class="clear" /></p>' . //Opera sucks 
     153    '</form>'; 
    157154 
    158      # Show users 
    159      $user_list->display($page,$nb_per_page, 
    160      '<form action="'.$core->adminurl->get("admin.user.actions").'" method="post" id="form-users">'. 
     155    # Show users 
     156    $user_list->display($page, $nb_per_page, 
     157        '<form action="' . $core->adminurl->get("admin.user.actions") . '" method="post" id="form-users">' . 
    161158 
    162      '%s'. 
     159        '%s' . 
    163160 
    164      '<div class="two-cols">'. 
    165      '<p class="col checkboxes-helpers"></p>'. 
     161        '<div class="two-cols">' . 
     162        '<p class="col checkboxes-helpers"></p>' . 
    166163 
    167      '<p class="col right"><label for="action" class="classic">'. 
    168      __('Selected users action:').' '. 
    169      form::combo('action',$combo_action). 
    170      '</label> '. 
    171      '<input id="do-action" type="submit" value="'.__('ok').'" />'. 
    172      form::hidden(array('q'),html::escapeHTML($q)). 
    173      form::hidden(array('sortby'),$sortby). 
    174      form::hidden(array('order'),$order). 
    175      form::hidden(array('page'),$page). 
    176      form::hidden(array('nb'),$nb_per_page). 
    177      $core->formNonce(). 
    178      '</p>'. 
    179      '</div>'. 
    180      '</form>', 
    181      $show_filters 
    182      ); 
     164        '<p class="col right"><label for="action" class="classic">' . 
     165        __('Selected users action:') . ' ' . 
     166        form::combo('action', $combo_action) . 
     167        '</label> ' . 
     168        '<input id="do-action" type="submit" value="' . __('ok') . '" />' . 
     169        form::hidden(array('q'), html::escapeHTML($q)) . 
     170        form::hidden(array('sortby'), $sortby) . 
     171        form::hidden(array('order'), $order) . 
     172        form::hidden(array('page'), $page) . 
     173        form::hidden(array('nb'), $nb_per_page) . 
     174        $core->formNonce() . 
     175        '</p>' . 
     176        '</div>' . 
     177        '</form>', 
     178        $show_filters 
     179    ); 
    183180} 
    184181dcPage::helpBlock('core_users'); 
Note: See TracChangeset for help on using the changeset viewer.

Sites map