while (list($k_year, $v_dirpath) = each($reporting_dirs)) {
    if (!isset($selected_year)) {
        $selected_year = $k_year;
    }
    if ($k_year == $selected_year) {
        $TMP_Year = array();
        $TMP_Year['year'] = $k_year;
        $week_files = listOfWeekFilesInDirByWeekNumber($v_dirpath);
        if (count($week_files) > 0) {
            $TMP_Weeks = array();
            while (list($k_week, $v_file) = each($week_files)) {
                $TMP_ThisWeek = array();
                // Data
                $TMP_ThisWeek['file'] = $v_file;
                $TMP_ThisWeek['first_day'] = strftime("%d %B", firstDayOfWeek($k_week, $k_year));
                $TMP_ThisWeek['last_day'] = strftime("%d %B", lastDayOfWeek($k_week, $k_year));
                $TMP_ThisWeek['last_modified'] = date("m/d/Y H:i", filemtime($v_file));
                if (!is_writeable($v_file)) {
                    $TMP_ThisWeek['status'] = "Locked";
                } else {
                    $TMP_ThisWeek['status'] = "";
                }
                if ($k_week == $current_weeknumber and $k_year == $current_year) {
                    $TMP_ThisWeek['style'] = "bgcolor=#FFFF66; ";
                    $TMP_ThisWeek['nota'] = "<A HREF='{$v_file}'>Current Week</A>";
                } else {
                    $TMP_ThisWeek['style'] = "bgcolor=#FFFFCC; ";
                    $TMP_ThisWeek['nota'] = "";
                }
                $TMP_Weeks[$k_week] = $TMP_ThisWeek;
                // Data
         break;
     case "SaveText":
         $report_content = stripslashes($_POST['report_content']);
         break;
     default:
         break;
 }
 $DIS_Username = $username;
 $DIS_Year = $year;
 $DIS_Week = $week;
 $DIS_RawText = $report_content;
 $DIS_SaveRelatedDate = "";
 $DIS_SaveRelatedDate .= "Week {$week} : ";
 $DIS_SaveRelatedDate .= strftime("%b %d", firstDayOfWeek($week, $year));
 $DIS_SaveRelatedDate .= " -- ";
 $DIS_SaveRelatedDate .= strftime("%b %d", lastDayOfWeek($week, $year));
 $DIS_SaveRelatedDate .= " of " . $year;
 if (strlen($report_content) == 0) {
     $DIS_SaveMessage = "ERROR ... the content of your report is empty.<BR>";
     $DIS_SaveMessage .= "<UL>";
     $DIS_SaveMessage .= "<LI>Check you enter a correct URL</LI>\n";
     $DIS_SaveMessage .= "<LI>Check you enter a local file</LI>\n";
     $DIS_SaveMessage .= "<LI>Check you enter a text in the text area</LI>\n";
     $DIS_SaveMessage .= "<BR>";
     $DIS_SaveMessage .= "<LI>Check you click on the correct button ...</LI>\n";
     $DIS_SaveMessage .= "</UL>";
     $DIS_SaveMessage .= "Click on your [BACK] button to go to the previous page\n";
     //exit ();
 } else {
     $target_file = userFilename($username, $year, $week);
     $DIS_SaveMessage = "Saving to {$target_file}";
Esempio n. 3
0
function week($week, $date)
{
    global $EVENTS_TB, $CAT_TB, $USER_TB, $mth, $week, $m, $d, $y, $ld, $fd, $weekstartday, $calstartyear, $caladvanceyear, $unapprovedclr, $shortdesclen, $showuserentry, $uname, $notimeentry;
    // View events for specific user
    if (!isset($_POST['huser'])) {
        $huser = '';
    } else {
        $huser = $_POST['huser'];
    }
    if (!$date) {
        $year = $y;
        $month = $m;
        $day = $d;
    } else {
        $year = substr($date, 0, 4);
        $month = substr($date, 5, 2);
        $day = substr($date, 8, 2);
    }
    // offset to get correct day calculation when "date" is sent
    $day_offset = date("w", mktime(0, 0, 0, $month, $day, $year));
    $dayoff = 0;
    // use to get back original url "date"
    while ($day_offset > date("w")) {
        $day--;
        $day_offset = date("w", mktime(0, 0, 0, $month, $day, $year));
        $dayoff++;
    }
    while ($day_offset < date("w")) {
        $day++;
        $day_offset = date("w", mktime(0, 0, 0, $month, $day, $year));
        $dayoff--;
    }
    // get first day of the week based on "$weekstartday"
    function firstDayOfWeek($year, $month, $day)
    {
        global $fd, $weekstartday;
        $dayOfWeek = date("w");
        $sunday_offset = $dayOfWeek * 60 * 60 * 24;
        $startday_offset = ($weekstartday - 1) * 60 * 60 * 24;
        $fd = date("Y-m-d", mktime(0, 0, 0, $month, $day + 1, $year) - $sunday_offset + $startday_offset);
        return $fd;
    }
    firstDayOfWeek($year, $month, $day);
    // get last day of the week based on "$weekstartday"
    function lastDayOfWeek($year, $month, $day)
    {
        global $ld, $weekstartday;
        $dayOfWeek = date("w");
        $saturday_offset = (6 - $dayOfWeek) * 60 * 60 * 24;
        $startday_offset = ($weekstartday - 1) * 60 * 60 * 24;
        $ld = date("Y-m-d", mktime(0, 0, 0, $month, $day + 1, $year) + $saturday_offset + $startday_offset);
        return $ld;
    }
    lastDayOfWeek($year, $month, $day);
    // display header with week number
    echo "<table class=headerfont border=0 width=100% cellspacing=0><tr><td>" . translate("Events from ");
    $fdy = substr($fd, 0, 4);
    $fdm = substr($fd, 5, 2);
    if (substr($fdm, 0, 1) == "0") {
        $fdm = str_replace("0", "", $fdm);
    }
    $fdd = substr($fd, 8, 2);
    echo $fdd . " " . $mth[$fdm] . " " . $fdy;
    echo " " . translate("till") . " ";
    $ldy = substr($ld, 0, 4);
    $ldm = substr($ld, 5, 2);
    if (substr($ldm, 0, 1) == "0") {
        $ldm = str_replace("0", "", $ldm);
    }
    $ldd = substr($ld, 8, 2);
    echo $ldd . " " . $mth[$ldm] . " " . $ldy;
    $weeknumber = weekNumber($day + $dayoff, $month, $year);
    if ($ldy > $y + $caladvanceyear) {
        $weeknumber = 53;
    }
    // to ensure weeks cannot go beyond restricted dates
    if ($fdy < $calstartyear) {
        $weeknumber = 1;
    }
    // to ensure weeks cannot go beyond restricted dates
    echo " (" . translate("week number") . " : " . $weeknumber . ")\n";
    $gdy = $ldy;
    $gdm = $ldm;
    if ($gdy > $y + $caladvanceyear) {
        $gdy = $fdy;
        $gdm = $fdm;
    }
    echo " &nbsp; &nbsp; <a href=calendar.php?op=cal&month={$gdm}&year={$gdy}";
    urlvar($uname);
    echo " ><img src=\"../images/month.gif\" border=0 alt='" . translate("View month") . " " . $mth[$gdm] . "'/></a>";
    echo "<br/>(" . translate("Week starts") . " " . $week[$weekstartday + 1] . ")\n";
    echo "</td></tr></table>";
    // display hyperlinks to previous and next week
    $calendyear = $y + $caladvanceyear;
    echo "<table width=100% border=0><tr><td align=left><div class=menufont>";
    if ($year > $calstartyear || $fdm >= 1 && $fdy == $calstartyear) {
        echo "<a href=cal_adminweek.php?op=week&date=" . date("Y-m-d", mktime(0, 0, 0, $month, $day - 7, $year));
        urlvar($uname);
        echo " ><< " . translate("Previous week") . "</a> &nbsp; ";
    }
    if ($ldy <= $calendyear) {
        echo "<a href=cal_adminweek.php?op=week&date=" . date("Y-m-d", mktime(0, 0, 0, $month, $day + 7, $year));
        urlvar($uname);
        echo " >" . translate("Next week") . " >> </a>\n";
    }
    // display the hyperlinks to each day
    echo "</div></td><td align=right><div class=menufont><b>" . translate("Go to") . ": </b>  &nbsp; ";
    $afd = $fd;
    $ald = date("Y-m-d", mktime(0, 0, 0, $ldm, $ldd + 1, $ldy));
    while ($afd != $ald) {
        $fdy = substr($afd, 0, 4);
        $fdm = substr($afd, 5, 2);
        if (substr($fdm, 0, 1) == "0") {
            $fdm = str_replace("0", "", $fdm);
        }
        $fdd = substr($afd, 8, 2);
        $weekday = date("w", mktime(12, 0, 0, $fdm, $fdd, $fdy));
        $weekday++;
        echo "<a href='#{$week[$weekday]}' >";
        echo ucfirst($week[$weekday]) . " - " . $fdd;
        echo "</a> &nbsp; ";
        $afd = date("Y-m-d", mktime(0, 0, 0, $fdm, $fdd + 1, $fdy));
    }
    echo "</div></td></tr></table>";
    $ld = date("Y-m-d", mktime(0, 0, 0, $ldm, $ldd + 1, $ldy));
    while ($fd != $ld) {
        $fdy = substr($fd, 0, 4);
        $fdm = substr($fd, 5, 2);
        if (substr($fdm, 0, 1) == "0") {
            $fdm = str_replace("0", "", $fdm);
        }
        $fdd = substr($fd, 8, 2);
        // display the day header
        echo "<table class=titlefont width=100% border=0 cellspacing=0><tr><td valign=middle align=left><div class=titlefont>";
        $weekday = date("w", mktime(12, 0, 0, $fdm, $fdd, $fdy));
        $weekday++;
        echo "<a class=none name='{$week[$weekday]}'>";
        echo ucfirst($week[$weekday]) . " ";
        echo "<a class=titlefont href='cal_adminday.php?op=day&date=" . date("Y-m-d", mktime(0, 0, 0, $fdm, $fdd, $fdy));
        urlvar($uname);
        echo "'>" . $fdd . "</a>" . " " . ucfirst($mth[$fdm]) . " " . $fdy;
        echo "</a> &nbsp; <a href='cal_event.php?op=eventform&add_day={$fdd}&add_month={$fdm}&add_year={$fdy}'><img src='../images/plus.gif' alt='" . translate("Add Event") . "' border=0 valign=middle width=11 height=11/></a>";
        echo "</div></td></tr></table>";
        // query and display events
        echo "<table class=weekevent width=100% border=0 cellspacing=0><tr><td>";
        $query = "select id,user,title,description,url,email,cat_name,starttime,endtime,day,month,year,approved from " . $EVENTS_TB . " left join " . $CAT_TB . " on " . $EVENTS_TB . ".cat=" . $CAT_TB . ".cat_id where day='{$fdd}' and month='{$fdm}' and year='{$fdy}' ";
        if ($uname != "" && $uname != "-") {
            $query = $query . " and " . $EVENTS_TB . ".user='******' ";
        }
        $query = $query . " order by starttime,title ASC";
        $result = mysql_query($query);
        if (mysql_num_rows($result) == 0) {
            echo "<br/>";
        }
        while ($row = mysql_fetch_object($result)) {
            if ($row->approved == '0') {
                echo "<table class=weekevent width=100% border=0><tr><td bgcolor='{$unapprovedclr}'>";
            }
            if ($notimeentry == 0) {
                if ($row->starttime == '') {
                    echo "<div><li>";
                } else {
                    showtime($row->starttime, $row->endtime, 0);
                }
            } else {
                echo "<div><li>";
            }
            echo "<b>" . stripslashes($row->title);
            if ($showuserentry == 1) {
                echo " &nbsp;&lt;" . $row->user . "&gt;";
            }
            echo "</b>";
            if ($notimeentry == 1 || $row->starttime == '') {
                echo "</li></div>";
            } else {
                echo "<br/>\n";
            }
            echo "<b>" . translate("Category") . " : " . "</b>" . stripslashes($row->cat_name) . "<br/>";
            $de = $row->description;
            //$de = str_replace("<br />","",$row->description);
            echo substr(stripslashes($de), 0, $shortdesclen);
            if ($row->email != "" || $row->url != "" || strlen($de) > $shortdesclen) {
                echo " ...\n";
            } else {
                echo "\n";
            }
            echo "<br/>";
            echo "<div class=menufont><a href=cal_event.php?op=view&id=" . $row->id . ">" . translate("View event") . "</a>\n";
            echo " - <a href=cal_event.php?op=edit&id=" . $row->id . ">" . translate("Edit event") . "</a>\n";
            echo " - <a href=cal_event.php?op=delev&id=" . $row->id . ">" . translate("Delete event") . "</a>\n";
            if ($row->approved == '0') {
                echo " - <a href=calendar.php?op=approve&id=" . $row->id . ">" . translate("Approve") . "</a>\n";
            }
            echo "</div>\n";
            echo "<hr/>";
            if ($row->approved == '0') {
                echo "</td></tr></table>\n";
            }
        }
        $fd = date("Y-m-d", mktime(0, 0, 0, $fdm, $fdd + 1, $fdy));
        echo "</td></tr></table>";
    }
    // display form functions
    echo "<table border=0 width=100%><tr><td align=left width=50%>";
    echo "<table width=100 cellspacing=0 cellpadding=2 align=left class=txtbox><tr><td bgcolor='{$unapprovedclr}' align=center><div class=normalfont>" . translate("Unapproved events") . "</div></td></tr></table>\n</td>";
    echo "<td align=right valign=middle width=50%>";
    echo "<form><div class=menufont>\n";
    echo "<b>" . translate("Go to week") . " </b>";
    // get week number
    echo "<select name=goweek onchange=\"javascript:gotoweek(this);\">\n";
    for ($i = 1; $i < 53; $i++) {
        echo "\t<option value=" . $i;
        if ($weeknumber == $i) {
            echo " selected ";
        }
        echo ">" . $i . "\n";
    }
    if (showWeek53($year) > 52) {
        for ($i = 53; $i <= showWeek53($year); $i++) {
            echo "\t<option value=" . $i;
            if ($weeknumber == $i) {
                echo " selected ";
            }
            echo ">" . $i . "\n";
        }
    }
    echo "</select>\n";
    echo "<b>" . translate("or month") . " </b>";
    // get months
    echo "<select name=gomonth onchange=\"javascript:gotomonth(this);\">\n";
    for ($i = 1; $i < 13; $i++) {
        echo "\t<option value=" . $i;
        if ($ldm == $i) {
            echo " selected ";
        }
        echo ">" . ucfirst($mth[$i]) . "\n";
    }
    echo "</select>&nbsp;&nbsp;<br/>\n";
    // Display the users to be selected
    echo "<b>" . translate("View events of user") . ": </b> &nbsp;";
    // get users
    $uquery = "select username,user_id from " . $USER_TB;
    $uresult = mysql_query($uquery);
    echo "<select name=huser onchange=\"Javascript:seeuser(this);\">\n";
    echo "\t<option value='-'";
    if ($uname == "-" || $uname == "") {
        echo " selected ";
    }
    echo ">--\n";
    while ($urow = mysql_fetch_object($uresult)) {
        echo "\t<option value='{$urow->username}'";
        if ($uname == "{$urow->username}") {
            echo " selected ";
        }
        echo ">" . $urow->username . "\n";
    }
    echo "</select>&nbsp;&nbsp;\n";
    echo "</div></form>";
    echo "</td></tr></table>";
}
<?php

require INC_DIR . "reporting_lib.inc";
require LIB_DIR . "date.inc";
include INC_DIR . "layout_helper.inc";
$current_year = currentYear();
// Get value from _POST or _GET
$selected_user = value_from_POST_GET('selected_user');
$selected_year = value_from_POST_GET('selected_year', $current_year);
// Assign value for Display
$DIS_Application = "Browse User Reports";
$DIS_ListYears = array();
$reporting_dirs = listOfKnownYear();
$listUserReports = array();
$listWeekRanges = array();
$weeks_range = range(1, 52);
while (list($k_week, $v) = each($weeks_range)) {
    if (strlen($k_week) < 2) {
        $k_week = '0' . $k_week;
    }
    if (userReportExists($selected_user, $selected_year, $k_week)) {
        $ufn = userFilename($selected_user, $selected_year, $k_week);
        $listUserReports[$k_week] = ContentOfFile($ufn);
        $listUserWeekRanges[$k_week] = "from " . strftime("%d/%m/%Y", firstDayOfWeek($k_week, $selected_year)) . " to " . strftime("%d/%m/%Y", lastDayOfWeek($k_week, $selected_year));
    }
}
krsort($listUserReports);
krsort($listUserWeekRanges);
$DIS_AllUsers = active_users() + inactive_users();
@($DIS_PostUsername_HTML_SELECT = userList_HTML_SELECT('selected_user', $DIS_AllUsers, 'Select username', $selected_user));