Ignore:
Timestamp:
Oct 29, 2009, 12:19:46 AM (14 years ago)
Author:
tiico
Message:

[ConcoursPhoto] Modify date selections mechanism

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/ConcoursPhoto/admin/add_concours.php

    r3905 r4141  
    3939
    4040
     41 
     42// Month initialization for date selection...
     43$month_list = $lang['month'];
     44$month_list[0]='------------';
     45ksort($month_list);
     46
     47
    4148// concours initialize
    4249if ($action != "new")
     
    7582// Step 2 : action = modify_crit
    7683       
     84/*
    7785        // Verify date format.         
    78 //      echo "DATE=".$_POST['concours_begin_date'];
    7986        if (!preg_match(
    8087        "/^([2][0]\d{2})\-([0]\d|[1][0-2])\-([0-2]\d|[3][0-1])\s([0-1]\d|[2][0-3])\:[0-5]\d\:[0-5]\d$/"
     
    8289        {
    8390                $_POST['concours_begin_date'] = date("Y-m-d H:m:s");
    84 //              redirect(PHPWG_ROOT_PATH.'admin.php?page=plugin&section=' . CONCOURS_DIR . '%2Fadmin%2Fadmin.php&tab=add_concours&action='.$action.'&concours=' . $concours_id);
    8591        }
    86 
    87        
     92*/
    8893       
    8994        // Get information from form
     
    9297        $concours->concours_infos['name'] = $_POST['concours_name'];
    9398        $concours->concours_infos['descr'] = $_POST['concours_descr'];
    94         $concours->concours_infos['begin_date'] = $_POST['concours_begin_date'];
    95 
    96         $concours->concours_infos['end_date'] = AjoutJours($concours->concours_infos['begin_date'],$_POST['concours_end_date'] );
    97 
    98 //echo $_POST['concours_end_date'].' : '.$concours->concours_infos['end_date'];
     99
     100//      $concours->concours_infos['begin_date'] = $_POST['concours_begin_date'];
     101//      $concours->concours_infos['end_date'] = AjoutJours($concours->concours_infos['begin_date'],$_POST['concours_end_date'] );
     102
     103        $concours->concours_infos['begin_date'] = sprintf("%04d-%02d-%02d %02d:%02d:%02d",$_POST['start_year'], $_POST['start_month'], $_POST['start_day'], $_POST['start_hour'], $_POST['start_min'], 0);
     104    $concours->concours_infos['end_date'] = sprintf("%04d-%02d-%02d %02d:%02d:%02d",$_POST['end_year'], $_POST['end_month'], $_POST['end_day'], $_POST['end_hour'], $_POST['end_min'], 0);
     105
    99106
    100107        $concours->concours_infos['groups'] = (!empty($_POST['groups']) ? '"' . implode(',', $_POST['groups']) . '"' : 'NULL');
     
    168175                $template->assign( 'CONCOURS', array(
    169176                                'ID'    => $concours_id,
    170                                 'BEGIN_DATE'    => date("Y-m-d H:m:s"),
    171                                 'END_DATE'      => 15
     177//                              'BEGIN_DATE'    => date("Y-m-d H:m:s"),
     178//                              'END_DATE'      => 15
    172179                                ));
    173180
    174                 break;
     181        //  Init begin and end date
     182          $form['start_year']  = $form['end_year']  = date('Y');
     183          $form['start_month'] = $form['end_month'] = date('n');
     184          $form['start_day']   = $form['end_day']   = date('j');
     185                     
     186        $template->assign(
     187          array(
     188
     189            'START_DAY_SELECTED' => @$form['start_day'],
     190            'START_MONTH_SELECTED' => @$form['start_month'],
     191            'START_YEAR' => @$form['start_year'],
     192            'START_HOUR' => '12',
     193            'START_MIN' => '00',
     194           
     195            'END_DAY_SELECTED' => @$form['end_day'],
     196            'END_MONTH_SELECTED' => @$form['end_month'],
     197            'END_YEAR'   => @$form['end_year'],
     198            'END_HOUR' => '12',
     199            'END_MIN' => '00',
     200            )
     201          );
     202
     203  break;
    175204        case "modify" :
    176205
     
    186215                // Format group list
    187216                $concours->concours_infos['groups'] = explode(',', $concours->concours_infos['groups']);
     217
     218        $tBeginDate = explodeDateArray($concours->concours_infos['begin_date']);
     219        $tEndDate = explodeDateArray($concours->concours_infos['end_date']);
    188220               
    189221                $template->assign( 'CONCOURS', array(
     
    191223                                'NAME'  => $concours->concours_infos['name'],
    192224                                'DESCR' => $concours->concours_infos['descr'],
    193                                 'BEGIN_DATE'    => $concours->concours_infos['begin_date'],
    194                                 'END_DATE'      => NbJours($concours->concours_infos['begin_date'], $concours->concours_infos['end_date'])
     225//                              'BEGIN_DATE'    => $concours->concours_infos['begin_date'],
     226//                              'END_DATE'      => NbJours($concours->concours_infos['begin_date'], $concours->concours_infos['end_date'])
    195227                                ));
     228        $template->assign(
     229          array(
     230
     231            'START_DAY_SELECTED' => @$tBeginDate[2],
     232            'START_MONTH_SELECTED' => @$tBeginDate[1],
     233            'START_YEAR' => @$tBeginDate[0],
     234            'START_HOUR' => @$tBeginDate[3],
     235            'START_MIN' => @$tBeginDate[4],
     236           
     237            'END_DAY_SELECTED' => @$tEndDate[2],
     238            'END_MONTH_SELECTED' => @$tEndDate[1],
     239            'END_YEAR'   => @$tEndDate[0],
     240            'END_HOUR' => @$tEndDate[3],
     241            'END_MIN' => @$tEndDate[4],
     242            )
     243          );
    196244
    197245                break;
     
    199247        case "edit" :
    200248                $concours->concours_infos['groups'] = explode(',', $concours->concours_infos['groups']);
     249
     250        $tBeginDate = explodeDateArray($concours->concours_infos['begin_date']);
     251        $tEndDate = explodeDateArray($concours->concours_infos['end_date']);
    201252               
    202253                $template->assign( 'CONCOURS', array(
     
    204255                                'NAME'  => $concours->concours_infos['name'],
    205256                                'DESCR' => $concours->concours_infos['descr'],
    206                                 'BEGIN_DATE'    => $concours->concours_infos['begin_date'],
    207                                 'END_DATE'      => NbJours($concours->concours_infos['begin_date'], $concours->concours_infos['end_date'])
     257//                              'BEGIN_DATE'    => $concours->concours_infos['begin_date'],
     258//                              'END_DATE'      => NbJours($concours->concours_infos['begin_date'], $concours->concours_infos['end_date'])
    208259                                ));
     260        $template->assign(
     261          array(
     262
     263            'START_DAY_SELECTED' => @$tBeginDate[2],
     264            'START_MONTH_SELECTED' => @$tBeginDate[1],
     265            'START_YEAR' => @$tBeginDate[0],
     266            'START_HOUR' => @$tBeginDate[3],
     267            'START_MIN' => @$tBeginDate[4],
     268           
     269            'END_DAY_SELECTED' => @$tEndDate[2],
     270            'END_MONTH_SELECTED' => @$tEndDate[1],
     271            'END_YEAR'   => @$tEndDate[0],
     272            'END_HOUR' => @$tEndDate[3],
     273            'END_MIN' => @$tEndDate[4],
     274            )
     275          );
    209276               
    210277                $firstcriterias = $concours->get_firstlevel_criterias();
     
    270337       
    271338
     339// Add month list to template
     340$template->assign(array('month_list' => $month_list));
    272341
    273342
     
    308377$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
    309378
     379// Explode a date format ("AAAA-MM-JJ HH:hh:ss") in array
     380// Array(YYYY, MM, JJ, HH, mm, ss)
     381function explodeDateArray($date) {
     382
     383  $tDeb = explode("-", substr($date,0,strpos($date, ' ')));
     384  $tDebH = explode(":", substr($date,strpos($date, ' ')+1));
     385
     386  return array($tDeb[0], $tDeb[1], $tDeb[2], $tDebH[0], $tDebH[1], $tDebH[2]);
     387 
     388}
     389
     390
    310391// NB of days between 2 dates "AAAA-MM-JJ HH:hh:ss"
    311392function NbJours($debut, $fin) {
Note: See TracChangeset for help on using the changeset viewer.