Namespaces | Functions

modules/dateplaner/includes/inc.dates.php File Reference

Go to the source code of this file.

Namespaces

namespace  dateplaner
 

dateplaner includes personal an group specific date management developt for ilias3 and adapted also to ilias2


Functions

 setDateView ($DateValues, $flag, $DB)
 void function setDateView ($DateValues, $flag )
 parseDataForOutput ($DateValues)
 void function parseDataForOutput (Array DateValues)
 setJs ()
 void function setJs ()
 setKeywords ($keyword_id, $DB)
 void function setKeywords ()
 setGroups ($groupID, $DB)
 void function setGroups ()
 getGroupContent ($DB)
 void function getGroupContent ()
 getKeywordContent ($DB)
 void function getKeywordContent ()
 parseData ($DateValues, $Start_date, $End_date, $End_rotation)
 void function parseData ()
 setInsertDate ($timestamp, $DateValues, $DB)
 void function setInsertDate()
 setInsertAction ($startdate, $enddate, $endrotation, $DateValues, $DB)
 void function setInsertAction( $startdate,$enddate, $endroation, $DateValues)
 setUpdateDeleteDate ($timestamp, $date_id, $DateArray, $DateValues, $DB)
 void function setUpdateDeleteDate()
 setUpdateAction ($startdate, $enddate, $endrotation, $DateValues, $DB)
 void function setUpdateAction( $startdate,$enddate, $endroation, $DateValues)
 setDeleteAction ($DateValues, $DB)
 void function setDeleteAction($DateValues)

Function Documentation

getGroupContent ( DB  ) 

void function getGroupContent ()

Calls the DB-function getUserGroups, and returns the result (all groups of a user).

Parameters:
$DB (object of th db class ) string $DP_UId ( actual User ID )
Returns:
array $Groups

Definition at line 313 of file inc.dates.php.

                              {
        global $DP_UId  ;
        $Groups = $DB->getUserGroups ($DP_UId);

        Return $Groups;

}// end func

getKeywordContent ( DB  ) 

void function getKeywordContent ()

Calls the DB-function getKeywords, and returns the result (all keywords of a user).

Parameters:
$DB (object of th db class ) string $DP_UId ( actual User ID )
Returns:
array $Keywords

Definition at line 330 of file inc.dates.php.

                                {
        global $DP_UId ;
        $Keywords       = $DB->getKeywords ($DP_UId);

        Return $Keywords;

}// end func

parseData ( DateValues,
Start_date,
End_date,
End_rotation 
)

void function parseData ()

Validates the user input from the dayview-form.

Parameters:
array $DateValues
string $Start_date
string $End_date
string $End_rotation array $DP_language
Returns:
array $Valid

Definition at line 350 of file inc.dates.php.

                                                                         {
        global $DP_language;
        if($DateValues[start_ts] == "-1") $Valid[] = $DP_language[ERROR_STARTDATE];
        if($DateValues[whole_day] !=1 and $DateValues[end_ts] == "-1") $Valid[] = $DP_language[ERROR_ENDDATE];
        if($DateValues[end_rotation_ts] == "-1") $Valid[] = $DP_language[ERROR_ROTATIONEND];
        if($DateValues[whole_day] !=1 and $DateValues[start_ts] > $DateValues[end_ts]) $Valid[] = $DP_language[ERROR_END_START]; 
        if($DateValues[end_rotation_ts] and $DateValues[end_rotation_ts] < $DateValues[start_ts]) $Valid[] = $DP_language[ERROR_ROT_END_START]; 

        if(     $Start_date[0] != date ("d", mktime(0,0,0,$Start_date[1],$Start_date[0],$Start_date[2])) or
                $Start_date[1] != date ("m", mktime(0,0,0,$Start_date[1],$Start_date[0],$Start_date[2])) or 
                $Start_date[2] != date ("Y", mktime(0,0,0,$Start_date[1],$Start_date[0],$Start_date[2]))) 
        {
                 $Valid[] = $DP_language[ERROR_STARTDATE];
        }
        if(     $End_date and $DateValues[begin_h] != date ("H", mktime($DateValues[begin_h],0,0,$Start_date[1],$Start_date[0],$Start_date[2])) or
                $DateValues[begin_min] != date ("i", mktime(0,$DateValues[begin_min],0,$Start_date[1],$Start_date[0],$Start_date[2]))) 
        {
                 $Valid[] = $DP_language[ERROR_STARTTIME];
        }
        if(     $End_date and ($End_date[0] != date ("d", mktime(0,0,0,$End_date[1],$End_date[0],$End_date[2])) or
                $End_date[1] != date ("m", mktime(0,0,0,$End_date[1],$End_date[0],$End_date[2])) or 
                $End_date[2] != date ("Y", mktime(0,0,0,$End_date[1],$End_date[0],$End_date[2])))) 
        {
                 $Valid[] = $DP_language[ERROR_ENDDATE];
        }
        if(     $DateValues[end_h] != date ("H", mktime($DateValues[end_h],0,0,$Start_date[1],$Start_date[0],$Start_date[2])) or
                $DateValues[end_min] != date ("i", mktime(0,$DateValues[end_min],0,$Start_date[1],$Start_date[0],$Start_date[2]))) 
        {
                 $Valid[] = $DP_language[ERROR_ENDTIME];
        }
        if(     $End_rotation and ($End_rotation[0] != date ("d", mktime(0,0,0,$End_rotation[1],$End_rotation[0],$End_rotation[2])) or
                $End_rotation[1] != date ("m", mktime(0,0,0,$End_rotation[1],$End_rotation[0],$End_rotation[2])) or 
                $End_rotation[2] != date ("Y", mktime(0,0,0,$End_rotation[1],$End_rotation[0],$End_rotation[2])))) 
        {
                 $Valid[] = $DP_language[ERROR_ROTATIONEND];
        }
        if($DateValues[shorttext] == "") $Valid[] = $DP_language[ERROR_SHORTTEXT]; 

        $Valid[] = "TRUE";
        Return $Valid;

}// end func

parseDataForOutput ( DateValues  ) 

void function parseDataForOutput (Array DateValues)

Formate the user Date Date for the html Output.

Parameters:
array $DateValues
Returns:
array $DateValues

Definition at line 173 of file inc.dates.php.

References $DateValues.

Referenced by generateOutput(), and setDateView().

                                           {
        
        // parse text for html links and e-mail adresses
        $text = $DateValues[text];
        $urlsearch[]="/([^]_a-z0-9-=\"'\/])((https?|ftp):\/\/|www\.)([^ \r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si";
        $urlsearch[]="/^((https?|ftp):\/\/|www\.)([^ \r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si";
        $urlreplace[]="\\1<A HREF='\\2\\4' target='_blank'>\\2\\4</A>";
        $urlreplace[]="<A HREF='\\1\\3' target='_blank'>\\1\\3</A>";
        $emailsearch[]="/([\s])([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,}))/si";
        $emailsearch[]="/^([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,}))/si";
        $emailreplace[]="\\1<a href='mailto:\\2'>\\2</a>";
        $emailreplace[]="<a href='mailto:\\0'>\\0</a>";
        $text = preg_replace($urlsearch, $urlreplace, $text);
        if (strpos($text, "@")) $text = preg_replace($emailsearch, $emailreplace, $text);
        // parse text for line breaks
        $text = str_replace("\r\n","<br>" , $text);
        // parse text for images links
        $text = preg_replace("!\[img\](.*)\[/img\]!U","<img alt='\\1' src='\\1'>",$text);
        $DateValues[text] = $text;
        // parse text for html links and e-mail adresses

        $text = $DateValues[shorttext];
        // parse shorttext for html links and e-mail adresses
        $urlsearch[]="/([^]_a-z0-9-=\"'\/])((https?|ftp):\/\/|www\.)([^ \r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si";
        $urlsearch[]="/^((https?|ftp):\/\/|www\.)([^ \r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si";
        $urlreplace[]="\\1<A HREF='\\2\\4' target='_blank'>\\2\\4</A>";
        $urlreplace[]="<A HREF='\\1\\3' target='_blank'>\\1\\3</A>";
        $emailsearch[]="/([\s])([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,}))/si";
        $emailsearch[]="/^([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,}))/si";
        $emailreplace[]="\\1<a href='mailto:\\2'>\\2</a>";
        $emailreplace[]="<a href='mailto:\\0'>\\0</a>";
        $text = preg_replace($urlsearch, $urlreplace, $text);
        if (strpos($text, "@")) $text = preg_replace($emailsearch, $emailreplace, $text);
        $text = str_replace("\r\n","<br>" , $text);
        $DateValues[shorttext] = $text;

        Return $DateValues;

}// end func

Here is the caller graph for this function:

setDateView ( DateValues,
flag,
DB 
)

void function setDateView ($DateValues, $flag )

This function is generating the main-view of a date in three diferent views, for new, update and update with read only.

Parameters:
array $DateValues , $flag array $DP_language , $templatefolder, $actualtemplate, $DP_CSS array $DP_CSS ( contains CSS Strings from the conf.gui file ) sting $actualtemplate ( current template ) string $templatefolder ( current used template folder )
Returns:
string $dateContent

Definition at line 50 of file inc.dates.php.

References $actualtemplate, $DateValues, $DB, $DP_CSS, $DP_language, $Gui, $templatefolder, parseDataForOutput(), setGroups(), setJs(), and setKeywords().

{
        global $DP_language, $templatefolder, $actualtemplate,  $DP_CSS;

        $Gui            = new Gui();
        $ttd            = new TimestampToDate;
        
        $Array          = setJs();
        $DateValues[popupcall_1] = $Array[1] ;
        $DateValues[popupcall_2] = $Array[2] ;
        $DateValues[popupcall_3] = $Array[3] ;
        if(!$DateValues[text])          $DateValues[text]                = $DateValues[DateArray][text];
        if(!$DateValues[shorttext]) $DateValues[shorttext]       = $DateValues[DateArray][shorttext];
        if($DateValues[whole_day] == "1") $DateValues[checked] = "checked";

        $date2 = $DateValues[date2];
        $date4 = $DateValues[date4];
        $date6 = $DateValues[date6];


        switch($flag) {
                case 'i': // insert date
                        eval ("\$tab_start_date = \"".$Gui->getTemplate("date_startdate")."\";");
                        eval ("\$tab_end_date = \"".$Gui->getTemplate("date_enddate")."\";");
                        if($DateValues[rotation]) $DateValues[$DateValues[rotation]] = "selected";
                        eval ("\$tab_rotation = \"".$Gui->getTemplate("date_rotation")."\";");
                        $DateValues[Groupform] = setGroups($DateValues[group_id], $DB);
                        eval ("\$tab_group = \"".$Gui->getTemplate("date_group")."\";");
                        $DateValues[Keywordform] = setKeywords($DateValues[keyword_id], $DB);
                        eval ("\$tab_keyword = \"".$Gui->getTemplate("date_keyword")."\";");
                        eval ("\$tab_text = \"".$Gui->getTemplate("date_text")."\";");
                        eval ("\$btn_in = \"".$Gui->getTemplate("date_btnin")."\";");
                        eval ("\$btn_exit = \"".$Gui->getTemplate("date_btnexit")."\";");
                        break; 
                case 'ud_w': // update/delete a wirtable date

                        $DateValues[old_keyword_id]             = $DateValues[DateArray][old_keyword_id];
                        eval ("\$tab_start_date = \"".$Gui->getTemplate("date_startdate")."\";");
                        eval ("\$tab_end_date = \"".$Gui->getTemplate("date_enddate")."\";");
                        if($DateValues[rotation]) {
                                $DateValues[$DateValues[rotation]] = "selected";
                        }else {
                                $date6 = $DateValues[date6];
                                $DateValues[$DateValues[DateArray][rotation]] = "selected";
                        }
                        eval ("\$tab_rotation = \"".$Gui->getTemplate("date_rotation")."\";");
                        eval ("\$tab_group = \"".$Gui->getTemplate("date_group_ro")."\";");
                        if($DateValues[keyword_id]) {
                                $DateValues[Keywordform] = setKeywords($DateValues[keyword_id],$DB);
                        }else {
                                $DateValues[Keywordform] = setKeywords($DateValues[DateArray][keyword_id],$DB);
                        }
                        eval ("\$tab_keyword = \"".$Gui->getTemplate("date_keyword")."\";");
                        eval ("\$tab_text = \"".$Gui->getTemplate("date_text")."\";");
                        //Format Date Text for Priview Output
                        $DateValues = parseDataForOutput ($DateValues);
                        $DP_language[dv_message] = $DP_language[dv_message].$DP_language[dv_preview];
                        eval ("\$tab_pretext = \"".$Gui->getTemplate("date_text_ro")."\";");
                        eval ("\$btn_del = \"".$Gui->getTemplate("date_btndel")."\";");
                        eval ("\$btn_upd = \"".$Gui->getTemplate("date_btnupd")."\";");
                        eval ("\$btn_exit = \"".$Gui->getTemplate("date_btnexit")."\";");
                        break;
                case 'ud_ro': // update/delete a read only date
                        
                        //Format Date Text for Output
                        $DateValues = parseDataForOutput ($DateValues);
                        
                        $DateValues[start_ts]                   = $DateValues[DateArray][begin]; 
                        $DateValues[end_ts]                             = $DateValues[DateArray][end];
                        $DateValues[end_rotation_ts]    = $DateValues[DateArray][end_rotation];
                        $DateValues[keyword_id]                 = $DateValues[DateArray][keyword_id];
                        $DateValues[old_keyword_id]             = $DateValues[DateArray][old_keyword_id];

                        
                        if($DateValues[whole_day] != "1") {
                                $ttd->ttd($DateValues[DateArray][begin]);
                                $DateValues[starttime]                  = $ttd->middletime ;
                                eval ("\$tab_start_date = \"".$Gui->getTemplate("date_startdate_ro")."\";");
                                $ttd->ttd($DateValues[DateArray][end]);
                                $DateValues[endtime] = $ttd->middletime ;
                                $DateValues[whole_day_name]             = "no";
                                eval ("\$tab_end_date = \"".$Gui->getTemplate("date_enddate_ro")."\";");
                        }else {
                                $ttd->ttd($DateValues[DateArray][begin]);
                                $DateValues[starttime]                  = $ttd->shorttime ;
                                $DateValues[whole_day_name]             = "yes";
                                eval ("\$tab_start_date = \"".$Gui->getTemplate("date_startdate_ro")."\";");
                        }

                        if($DateValues[DateArray][rotation] != 0 ) {
                                $ttd->ttd($DateValues[DateArray][end_rotation]);
                                $DateValues[end_rotationtime] = $ttd->shorttime ;
                                eval ("\$tab_rotation = \"".$Gui->getTemplate("date_rotation_ro")."\";");
                        }else {
                                eval ("\$tab_rotation = \"".$Gui->getTemplate("date_rotation_ro")."\";");
                        }
                        eval ("\$tab_group = \"".$Gui->getTemplate("date_group_ro")."\";");

                        $DateValues[Keywordform] = setKeywords($DateValues[DateArray][keyword_id],$DB);
                        eval ("\$tab_keyword = \"".$Gui->getTemplate("date_keyword")."\";");
                        eval ("\$tab_text = \"".$Gui->getTemplate("date_text_ro")."\";");
                        eval ("\$btn_del = \"".$Gui->getTemplate("date_btndel")."\";");
                        eval ("\$btn_upd = \"".$Gui->getTemplate("date_btnupd")."\";");
                        eval ("\$btn_exit = \"".$Gui->getTemplate("date_btnexit")."\";");
                        break;
                default :
        
        }

        eval ("\$dateContent = \"".$Gui->getTemplate("date_content")."\";");

        Return $dateContent;    
        
}// end func

Here is the call graph for this function:

setDeleteAction ( DateValues,
DB 
)

void function setDeleteAction($DateValues)

This function is selecting the way in which a date is going to be deleted.

Parameters:
array $DateValues
$DB (object of th db class ) int $DP_UId array $DP_language
Returns:
string $msg or $DB->delDate ()

Definition at line 681 of file inc.dates.php.

References $DateValues, $DB, $DP_language, $DP_UId, and $Gui.

                                           {
        global $DP_UId, $DP_language;
        $Gui                            = new Gui();

        if($DateValues[rotation_id] != 0) {
                $DateValues[rotation_id] = 0 ;
                eval ("\$msg = \"".$Gui->getTemplate("date_msgdelrotation")."\";");
                Return $msg;
        }
        switch($DateValues[rotation_ack]) {
                case 'one':
                        $return = $DB->delDate (        $DateValues[date_id],
                                                                                $DP_UId, 
                                                                                $DateValues[date_timestamp]);
                        break; 
                case 'all':
                        $return = $DB->delDate (        $DateValues[date_id],
                                                                                $DP_UId, 
                                                                                "0");
                        break; 
                default :
                        $return = $DB->delDate (        $DateValues[date_id],
                                                                                $DP_UId, 
                                                                                "0");
        }

        if($return) {
                        $msg = false;
        }else {
                        $msg = $DP_language[ERROR_DB]."";
        }       
                //$msg = $msg.' Damit der Timo debuggen kann :<br>Rückgabewert : '.$return.' <br> ';

        return $msg;
}// end func

setGroups ( groupID,
DB 
)

void function setGroups ()

Generates the selection of a group.

Parameters:
string $groupID
$DB (object of th db class )
Returns:
string $Groupform

Definition at line 289 of file inc.dates.php.

Referenced by setDateView().

                                 {
        $Groups = getGroupContent($DB);
        if($Groups) {
                for ($i = 0 ; $i < count($Groups) ; $i++) {
                        if($groupID and $groupID == $Groups[$i][0] ) {
                                $Groupform = $Groupform.'<option selected value="'.$Groups[$i][0].'">'.$Groups[$i][1].'</option>';
                        }else {
                                $Groupform = $Groupform.'<option value="'.$Groups[$i][0].'">'.$Groups[$i][1].'</option>';
                        }
                }
        }
        Return $Groupform;

}// end func

Here is the caller graph for this function:

setInsertAction ( startdate,
enddate,
endrotation,
DateValues,
DB 
)

void function setInsertAction( $startdate,$enddate, $endroation, $DateValues)

This function is adding the date information into the DB and adepting them, e.g. date to timestamp.

Parameters:
string $startdate
string $enddate
string $endrotation
array $DateValues
$DB (object of th db class ) int $DP_UId array $DP_language
Returns:
string $msg

Definition at line 436 of file inc.dates.php.

                                                                               {
        global $DP_UId, $DP_language;

        $End_rotation           = False ;
        $End_date                       = False ;
        $Start_date                     = explode ("/",$startdate);
        if($DateValues[whole_day] !=1){
                $DateValues[start_ts]   = mktime($DateValues[begin_h],$DateValues[begin_min],0,(int)$Start_date[1],(int)$Start_date[0],(int)$Start_date[2]);
                $End_date                               = explode ("/",$enddate);
                $DateValues[end_ts]             = mktime($DateValues[end_h],$DateValues[end_min],0,(int)$End_date[1],(int)$End_date[0],(int)$End_date[2]);
        } else {
                $DateValues[start_ts]   = mktime(0,0,0,(int)$Start_date[1],(int)$Start_date[0],(int)$Start_date[2]);
                $DateValues[end_ts]             = mktime(23,59,59,(int)$Start_date[1],(int)$Start_date[0],(int)$Start_date[2]);
                $End_date                               = False ;
        }
        if ($DateValues[rotation] != 0){
                if($endrotation == "") {
                        $DateValues[end_rotation_ts]            = 2147468399;
                        $End_rotation                                           = False ;
                }else {
                        $End_rotation   = explode ("/",$endrotation);
                        $DateValues[end_rotation_ts]            = mktime(23,59,59,$End_rotation[1],$End_rotation[0],$End_rotation[2]);
                }
        } else {
                $DateValues[end_rotation_ts]            = 0;
                $End_rotation                                           = False ;
        }
        
        // error Managment 
        $Valid = parseData ($DateValues, $Start_date, $End_date, $End_rotation);

        if($Valid[0] == "TRUE") {
                $return = $DB->addDate (        $DateValues[start_ts], 
                                                                        $DateValues[end_ts], 
                                                                        $DateValues[group_id], 
                                                                        $DP_UId, 
                                                                        mktime(), 
                                                                        $DateValues[rotation], 
                                                                        $DateValues[end_rotation_ts], 
                                                                        htmlspecialchars ($DateValues[shorttext]), 
                                                                        htmlspecialchars ($DateValues[text]), 
                                                                        $DateValues[keyword_id]);

                switch ($return){
                                case "0": $msg = False;
                                                break;
                                case "1": $msg = $DP_language[ERROR_DATE_EXISTS]."<br>";
                                                break;
                                case "2": $msg = $DP_language[ERROR_DB_CONNECT]."<br>";
                                                break;
                }
        }else 
        {
                for($i=0; $i<(count($Valid)-1); $i++) {
                        $msg = $msg.$Valid[$i]."<br>";
                }
                $msg = $msg.'
                        <br>
                        ';
        }

        Return $msg;
}// end func

setInsertDate ( timestamp,
DateValues,
DB 
)

void function setInsertDate()

The paramerter are adapted to the output-form.

Parameters:
string $timestamp
string $DateValues
$DB (object of th db class )
Returns:
string $dateContent

Definition at line 403 of file inc.dates.php.

{

        $ttd                                    = new TimestampToDate;

        if(!$DateValues[referer]) {
                $ttd->ttd($timestamp);
                $DateValues[date2]              = $ttd->day_of_month."/".$ttd->monthnumber_long."/".$ttd->year_long ;
                $DateValues[date4]              = $ttd->day_of_month."/".$ttd->monthnumber_long."/".$ttd->year_long ;
                $DateValues[begin_h]    = $DateValues[end_h]    = $ttd->hour_long ;
                $DateValues[begin_min]  = $DateValues[end_min]  = $ttd->minutes ;
        }
        
        $dateContent = setDateView ($DateValues, "i",  $DB) ;

        Return $dateContent;    

}// end func

setJs (  ) 

void function setJs ()

This function generates the small pop-up calendars in the dateview or newdateview for date selection.

array $DP_language

Returns:
array $Array

Definition at line 221 of file inc.dates.php.

References $DP_language.

Referenced by setDateView().

                 {
        global $DP_language;

        $Array[1] = '
<script language=JavaScript>
                        var cal2 = new CalendarPopup();  
                        cal2.showYearNavigation();                      cal2.setMonthNames(\''.$DP_language[long_01].'\',\''.$DP_language[long_02].'\',\''.$DP_language[long_03].'\',\''.$DP_language[long_04].'\',\''.$DP_language[long_05].'\',\''.$DP_language[long_06].'\',\''.$DP_language[long_07].'\',\''.$DP_language[long_08].'\',\''.$DP_language[long_09].'\',\''.$DP_language[long_10].'\',\''.$DP_language[long_11].'\',\''.$DP_language[long_12].'\'); 
                        cal2.setDayHeaders(\''.$DP_language[Su_short].'\',\''.$DP_language[Mo_short].'\',\''.$DP_language[Tu_short].'\',\''.$DP_language[We_short].'\',\''.$DP_language[Th_short].'\',\''.$DP_language[Fr_short].'\',\''.$DP_language[Sa_short].'\');
                        cal2.setWeekStartDay(1);
                        cal2.setTodayText("'.$DP_language[today].'");
</script>
';

        $Array[2] = '
<script language=JavaScript >
                        var cal4 = new CalendarPopup(); cal4.setMonthNames(\''.$DP_language[long_01].'\',\''.$DP_language[long_02].'\',\''.$DP_language[long_03].'\',\''.$DP_language[long_04].'\',\''.$DP_language[long_05].'\',\''.$DP_language[long_06].'\',\''.$DP_language[long_07].'\',\''.$DP_language[long_08].'\',\''.$DP_language[long_09].'\',\''.$DP_language[long_10].'\',\''.$DP_language[long_11].'\',\''.$DP_language[long_12].'\'); 
                        cal4.setDayHeaders(\''.$DP_language[Su_short].'\',\''.$DP_language[Mo_short].'\',\''.$DP_language[Tu_short].'\',\''.$DP_language[We_short].'\',\''.$DP_language[Th_short].'\',\''.$DP_language[Fr_short].'\',\''.$DP_language[Sa_short].'\');
                        cal4.setWeekStartDay(1);
                        cal4.setTodayText("'.$DP_language[today].'");                   
                        cal4.showYearNavigation(); 
</script>
';

        $Array[3] = '
<script language=JavaScript >
                        var cal6 = new CalendarPopup(); cal6.setMonthNames(\''.$DP_language[long_01].'\',\''.$DP_language[long_02].'\',\''.$DP_language[long_03].'\',\''.$DP_language[long_04].'\',\''.$DP_language[long_05].'\',\''.$DP_language[long_06].'\',\''.$DP_language[long_07].'\',\''.$DP_language[long_08].'\',\''.$DP_language[long_09].'\',\''.$DP_language[long_10].'\',\''.$DP_language[long_11].'\',\''.$DP_language[long_12].'\'); 
                        cal6.setDayHeaders(\''.$DP_language[Su_short].'\',\''.$DP_language[Mo_short].'\',\''.$DP_language[Tu_short].'\',\''.$DP_language[We_short].'\',\''.$DP_language[Th_short].'\',\''.$DP_language[Fr_short].'\',\''.$DP_language[Sa_short].'\');
                        cal6.setWeekStartDay(1);
                        cal6.setTodayText("'.$DP_language[today].'");                   
                        cal6.showYearNavigation(); 
</script>
';
        Return $Array ;
}// end func

Here is the caller graph for this function:

setKeywords ( keyword_id,
DB 
)

void function setKeywords ()

Generates the selection of the keyword.

Parameters:
array $keyword_id
$DB (object of th db class )
Returns:
string $Keywordform

Definition at line 265 of file inc.dates.php.

Referenced by setDateView().

                                      {
        $Keywords = getKeywordContent($DB);
        if($Keywords) {
                for ($j = 0 ; $j < count($Keywords) ; $j++) {
                        if($keyword_id == $Keywords[$j][0]) {
                                $Keywordform = $Keywordform.'<option selected value="'.$Keywords[$j][0].'">'.$Keywords[$j][1].'</option>';
                        }else {
                                $Keywordform = $Keywordform.'<option value="'.$Keywords[$j][0].'">'.$Keywords[$j][1].'</option>';
                        }
                }
        }
        Return $Keywordform;
        
}// end func

Here is the caller graph for this function:

setUpdateAction ( startdate,
enddate,
endrotation,
DateValues,
DB 
)

void function setUpdateAction( $startdate,$enddate, $endroation, $DateValues)

This function is updating the information of a date in the database.

Parameters:
string $startdate
string $enddate
string $endrotation
array $DateValues
$DB (object of th db class ) int $DP_UId array $DP_language
Returns:
string $msg

Definition at line 598 of file inc.dates.php.

                                                                               {
        global $DP_UId, $DP_language;
        if($DateValues[writepermission] != "ro") {
                $End_rotation           = False ;
                $End_date                       = False ;
                $Start_date                     = explode ("/",$startdate);

                if($DateValues[whole_day] !=1){
                        $DateValues[start_ts]   = mktime($DateValues[begin_h],$DateValues[begin_min],0,(int)$Start_date[1],(int)$Start_date[0],(int)$Start_date[2]);
                        $End_date                               = explode ("/",$enddate);
                        $DateValues[end_ts]             = mktime($DateValues[end_h],$DateValues[end_min],0,(int)$End_date[1],(int)$End_date[0],(int)$End_date[2]);
                } else {
                        $DateValues[start_ts]   = mktime(0,0,0,(int)$Start_date[1],(int)$Start_date[0],(int)$Start_date[2]);
                        $DateValues[end_ts]             = mktime(23,59,59,(int)$Start_date[1],(int)$Start_date[0],(int)$Start_date[2]);
                        $End_date                               = False ;
                }
                if ($DateValues[rotation] != 0){
                        if($endrotation == "") {
                                $DateValues[end_rotation_ts]            = 2147468399;
                                $End_rotation                                           = False ;
                        }else {
                                $End_rotation   = explode ("/",$endrotation);

                                $DateValues[end_rotation_ts]            = mktime(23,59,59,$End_rotation[1],$End_rotation[0],$End_rotation[2]);
                        }
                } else {
                        $DateValues[end_rotation_ts]            = 0;
                        $End_rotation                                           = False ;
                }
        
                // error Managment 
                $Valid = parseData ($DateValues, $Start_date, $End_date, $End_rotation);
        }else {
                $Valid[0] = "TRUE";
        }

        if($Valid[0] == "TRUE") {
                if($DateValues[writepermission] != "ro") {
                        $return = $DB->updateDate (     $DateValues[date_id],
                                                                        $DateValues[start_ts], 
                                                                        $DateValues[end_ts], 
                                                                        $DP_UId, 
                                                                        mktime(), 
                                                                        $DateValues[rotation], 
                                                                        $DateValues[end_rotation_ts], 
                                                                        htmlspecialchars ($DateValues[shorttext]), 
                                                                        htmlspecialchars ($DateValues[text]));
                }

                $return = $DB->updateKeyword2Date (
                                                                        $DP_UId, 
                                                                        $DateValues[date_id],
                                                                        $DateValues[keyword_id]);
                if($return) {
                        $msg = False;
                }else {
                        $msg = $DP_language[ERROR_DB]."<br>";
                }
//                      $msg = $msg.' Damit der Timo debuggen kann :
//                      <br> hier rotation: '.$DateValues[rotation].'<br>
//                      ';
        }else {
                for($i=0; $i<(count($Valid)-1); $i++) {
                        $msg = $msg.$Valid[$i]."<br>";
                }
                $msg = $msg.' 
                        <br>
                        ';
        }
        Return $msg;
}// end func

setUpdateDeleteDate ( timestamp,
date_id,
DateArray,
DateValues,
DB 
)

void function setUpdateDeleteDate()

Adaption of the given perameters to the output form. Eg. timestamp to real time.

Parameters:
string $timestamp
string $date_id
array $DateArray
array $DateValues
$DB (object of th db class ) string $js int $DP_UId array $DP_language
Returns:
string $dateContent

Definition at line 515 of file inc.dates.php.

{
        global $js ,$DP_UId, $DP_language ;

        if(!$DateValues[referer]) {
        $ttd                                            = new TimestampToDate;
        $ttd->ttd($DateArray[begin]);
        $DateValues[date2]                      = $ttd->day_of_month."/".$ttd->monthnumber_long."/".$ttd->year_long ;
        $DateValues[begin_h]            = $ttd->hour_long ;
        $DateValues[begin_min]          = $ttd->minutes ;
        $DateValues[date_timestamp] = $timestamp;
        
        if((int)$DateArray[end]-(int)$DateArray[begin] == 86399 ) $DateValues[whole_day] = "1" ;

        if($DateArray[end]) {
                $ttd->ttd($DateArray[end]);
                $DateValues[date4]              = $ttd->day_of_month."/".$ttd->monthnumber_long."/".$ttd->year_long ;
                $DateValues[end_h]              = $ttd->hour_long ;
                $DateValues[end_min]    = $ttd->minutes ;
        }
        if($DateArray[end_rotation]) {
                $ttd->ttd($DateArray[end_rotation]);
                $DateValues[date6]              = $ttd->day_of_month."/".$ttd->monthnumber_long."/".$ttd->year_long ;
        }
        $DateValues[DateArray]          = $DateArray;
        $DateValues[rotation]           = $DateArray[rotation] ;
        switch($DateArray[rotation]) {
                case '0':
                        $DateValues[rotation_name] = $DP_language[r_nonrecurring];
                        break; 
                case '1':
                        $DateValues[rotation_name] = $DP_language[r_day];
                        break; 
                case '2':
                        $DateValues[rotation_name] = $DP_language[r_week];
                        break; 
                case '3':
                        $DateValues[rotation_name] = $DP_language[r_14];
                        break; 
                case '4':
                        $DateValues[rotation_name] = $DP_language[r_4_weeks];
                        break; 
                case '5':
                        $DateValues[rotation_name] = $DP_language[r_month];
                        break; 
                case '6':
                        $DateValues[rotation_name] = $DP_language[r_halfyear];
                        break;
                case '7':
                        $DateValues[rotation_name] = $DP_language[r_year];
                        break; 
        }
        $DateValues[date_id]            = $DateArray[date_id] ;
        $DateValues[Groupform]          = $DB->getGroupName($DateArray[group_id]);
        if(!$DateValues[Groupform]) $DateValues[Groupform] = "none" ;

        }
        // if u wish that more than the owner of a group can chane properties af a date , this row down is the row that has to be changed.
        if($DateArray[user_id] == $DP_UId or $DateArray[group_id] == 0) {
                $dateContent = setDateView ($DateValues, "ud_w", $DB) ;
        }else {
                $dateContent = setDateView ($DateValues, "ud_ro", $DB) ;
                $js = "ro";
        }

        Return $dateContent;    

}// end func