Ignore:
Timestamp:
08/06/08 11:52:30 (16 years ago)
Author:
rafaelraymundo
Message:

Correção da ocorrência #251 do Trac da Comunidade.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/calendar/inc/class.bocalendar.inc.php

    r363 r386  
    142142                function bocalendar($session=0) 
    143143                { 
     144 
     145                        if(!is_object($GLOBALS['phpgw']->datetime)) 
     146                        { 
     147                                $GLOBALS['phpgw']->datetime = createobject('phpgwapi.date_time'); 
     148                        } 
     149 
    144150                        $this->cat = CreateObject('phpgwapi.categories'); 
    145151                        $this->grants = $GLOBALS['phpgw']->acl->get_grants('calendar'); 
     
    752758                function update($params='') 
    753759                { 
    754                          
     760                        if(!is_object($GLOBALS['phpgw']->datetime)) 
     761                        { 
     762                                $GLOBALS['phpgw']->datetime = createobject('phpgwapi.date_time'); 
     763                        } 
    755764                        $l_cal = (@isset($params['cal']) && $params['cal']?$params['cal']:$_POST['cal']); 
    756765                        $l_participants = (@$params['participants']?$params['participants']:$_POST['participants']); 
     
    915924                                        case MCAL_RECUR_NONE: 
    916925                                                $this->so->set_recur_none(); 
     926 
     927                                                $repetido = (int)$l_cal['recur_type']; // recebe o tipo de repeticao; 
     928 
    917929                                                break; 
    918930                                        case MCAL_RECUR_DAILY: 
    919931                                                $this->so->set_recur_daily((int)$l_recur_enddate['year'],(int)$l_recur_enddate['month'],(int)$l_recur_enddate['mday'],(int)$l_cal['recur_interval']); 
     932 
     933                                                $repetido = (int)$l_cal['recur_type']; // recebe o tipo de repeticao; 
     934 
     935                                                $tmp_init = explode("/",$_POST['start']['str']); // recebe a data inicial da repeticao; 
     936                                                $init_rept = mktime($_POST['start']['hour'],$_POST['start']['min'],0,intval($tmp_init[1]),$tmp_init[0],$tmp_init[2]); // transforma a data inicial + hora + minuto em UNIX timestamp; 
     937 
     938                                                if($l_cal['rpt_use_end'] == 'y') // verifica se foi indicada data final da repeticao, se sim: 
     939                                                { 
     940 
     941                                                        $tmp_end = explode("/",$_POST['recur_enddate']['str']); // recebe data final da repeticao; 
     942                                                        $end_rept = mktime($_POST['start']['hour'],$_POST['start']['min'],0,intval($tmp_end[1]),$tmp_end[0],$tmp_end[2]); // transforma a data inicial + hora e minuto de inicio da repeticao em UNIX timestamp; 
     943 
     944                                                }else { // se nao existe data final da repeticao (agendamento infinito): 
     945 
     946                                                        $end_rept = 0; // variavel recebe zero e nao sera adicionado nenhum alarme para o agendamento; 
     947                                                } 
    920948                                                break; 
    921949                                        case MCAL_RECUR_WEEKLY: 
     950 
     951                                                $repetido = (int)$l_cal['recur_type']; // recebe o tipo de repeticao; 
     952 
     953                                                $tmp_init = explode("/",$_POST['start']['str']); // recebe a data inicial da repeticao; 
     954                                                $init_rept = mktime($_POST['start']['hour'],$_POST['start']['min'],0,intval($tmp_init[1]),$tmp_init[0],$tmp_init[2]); // transforma a data inicial + hora + minuto em UNIX timestamp; 
     955 
     956                                                if($l_cal['rpt_use_end'] == 'y') // verifica se foi indicada data final da repeticao, se sim: 
     957                                                { 
     958 
     959                                                        $tmp_end = explode("/",$_POST['recur_enddate']['str']); // recebe data final da repeticao; 
     960                                                        $end_rept = mktime($_POST['start']['hour'],$_POST['start']['min'],0,intval($tmp_end[1]),$tmp_end[0],$tmp_end[2]); // transforma a data inicial + hora e minuto de inicio da repeticao em UNIX timestamp; 
     961 
     962                                                }else { // se nao existe data final da repeticao (agendamento infinito): 
     963 
     964                                                        $end_rept = 0; // variavel recebe zero e nao sera adicionado nenhum alarme para o agendamento; 
     965                                                } 
     966 
    922967                                                foreach(array('rpt_sun','rpt_mon','rpt_tue','rpt_wed','rpt_thu','rpt_fri','rpt_sat') as $rpt_day) 
    923968                                                { 
     
    929974                                                        { 
    930975                                                                $l_cal['recur_data'] |= (int)$mask; 
     976                                                                $rpt_wdays = $l_cal['recur_data']; // recebe os dias da semana (somatorio) para repetir o alarme; 
    931977                                                        } 
    932978                                                } 
     
    935981                                        case MCAL_RECUR_MONTHLY_MDAY: 
    936982                                                $this->so->set_recur_monthly_mday((int)$l_recur_enddate['year'],(int)$l_recur_enddate['month'],(int)$l_recur_enddate['mday'],(int)$l_cal['recur_interval']); 
     983 
     984                                                $repetido = (int)$l_cal['recur_type']; // recebe o tipo de repeticao; 
     985 
     986                                                $tmp_init = explode("/",$_POST['start']['str']); // recebe a data inicial da repeticao; 
     987                                                $init_rept = mktime($_POST['start']['hour'],$_POST['start']['min'],0,intval($tmp_init[1]),$tmp_init[0],$tmp_init[2]); // transforma a data inicial + hora + minuto em UNIX timestamp; 
     988 
     989                                                if($l_cal['rpt_use_end'] == 'y') // verifica se foi indicada data final da repeticao, se sim: 
     990                                                { 
     991 
     992                                                        $tmp_end = explode("/",$_POST['recur_enddate']['str']); // recebe data final da repeticao; 
     993                                                        $end_rept = mktime($_POST['start']['hour'],$_POST['start']['min'],0,intval($tmp_end[1]),$tmp_end[0],$tmp_end[2]); // transforma a data inicial + hora e minuto de inicio da repeticao em UNIX timestamp; 
     994 
     995                                                }else { // se nao existe data final da repeticao (agendamento infinito): 
     996 
     997                                                        $end_rept = 0; // variavel recebe zero e nao sera adicionado nenhum alarme para o agendamento; 
     998                                                } 
    937999                                                break; 
    9381000                                        case MCAL_RECUR_MONTHLY_WDAY: 
     
    9411003                                        case MCAL_RECUR_YEARLY: 
    9421004                                                $this->so->set_recur_yearly((int)$l_recur_enddate['year'],(int)$l_recur_enddate['month'],(int)$l_recur_enddate['mday'],(int)$l_cal['recur_interval']); 
     1005 
     1006                                                $repetido = (int)$l_cal['recur_type']; // recebe o tipo de repeticao; 
     1007 
     1008                                                $tmp_init = explode("/",$_POST['start']['str']); // recebe a data inicial da repeticao; 
     1009                                                $init_rept = mktime($_POST['start']['hour'],$_POST['start']['min'],0,intval($tmp_init[1]),$tmp_init[0],$tmp_init[2]); // transforma a data inicial + hora + minuto em UNIX timestamp; 
     1010 
     1011                                                if($l_cal['rpt_use_end'] == 'y') // verifica se foi indicada data final da repeticao, se sim: 
     1012                                                { 
     1013 
     1014                                                        $tmp_end = explode("/",$_POST['recur_enddate']['str']); // recebe data final da repeticao; 
     1015                                                        $end_rept = mktime($_POST['start']['hour'],$_POST['start']['min'],0,intval($tmp_end[1]),$tmp_end[0],$tmp_end[2]); // transforma a data inicial + hora e minuto de inicio da repeticao em UNIX timestamp; 
     1016 
     1017                                                }else { // se nao existe data final da repeticao (agendamento infinito): 
     1018 
     1019                                                        $end_rept = 0; // variavel recebe zero e nao sera adicionado nenhum alarme para o agendamento; 
     1020                                                } 
    9431021                                                break; 
    9441022                                } 
     
    10501128                                                'offset'  => $offset, 
    10511129                                                'owner'   => $this->owner, 
    1052                                                 'enabled' => 1 
     1130                                                'enabled' => 1, 
     1131                                                'repeat'  => $repetido, // para repetir alarme; 
     1132                                                'init_rept' => $init_rept, // inicio repeticao; 
     1133                                                'end_rept' => $end_rept, // fim repeticao; 
     1134                                                'rpt_wdays' => $rpt_wdays // dias repeticao da semana; 
    10531135                                        ); 
    10541136                                } 
     
    27422824                        $mail->IsHTML(true); 
    27432825 
    2744                         // Aqui é enviado o email 
     2826                        // Aqui ï¿œ enviado o email 
    27452827                        foreach($to_notify as $userid => $statusid)  
    27462828                        { 
     
    29963078                        } 
    29973079 
    2998                         //Inicializa variável de retorno. 
     3080                        //Inicializa variï¿œvel de retorno. 
    29993081                        $returncode=true;                        
    30003082                        if(count($mail->to)) {                           
     
    30953177                        $GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'] = $temp_dateformat; 
    30963178                         
    3097                         // Notifica por email o criador do compromisso, com as possíveis falhas.                                                 
     3179                        // Notifica por email o criador do compromisso, com as possï¿œveis falhas.                                               
    30983180                        if($errorInfo) { 
    30993181                                $tmpbody = "<font color='red'>".lang("The following commitment had problems for DELIVERING the NOTIFICATION messages.").".</font><br>"; 
Note: See TracChangeset for help on using the changeset viewer.