示例#1
0
 function testdbWeeksModule()
 {
     //Create two weeks and add them to the database
     $days1 = array();
     for ($i = 9; $i < 16; $i++) {
         $days1[] = new RMHDate(date('y-m-d', mktime(0, 0, 0, 2, $i, 2015)), "house", array(), "");
     }
     $days2 = array();
     for ($i = 16; $i < 23; $i++) {
         $days2[] = new RMHDate(date('y-m-d', mktime(0, 0, 0, 2, $i, 2015)), "fam", array(), "");
     }
     $w1 = new Week($days1, "house", "archived");
     $w2 = new Week($days2, "fam", "unpublished");
     $this->assertTrue(insert_dbWeeks($w1));
     $this->assertTrue(insert_dbWeeks($w2));
     //retrieve the first Week and check its fields
     $w = get_dbWeeks("02-09-15:house");
     $this->assertTrue($w !== false);
     $this->assertTrue($w->get_status() == "archived");
     $this->assertTrue($w->get_venue() == "house");
     $a = get_all_dbWeeks("house");
     $this->assertEqual($a[0], $w1);
     //update the second Week by a change of status
     //	$w2 = new Week($days2,"fam","published");
     //	$this->assertTrue(update_dbWeeks($w2));
     //	$this->assertEqual(get_dbWeeks($w2->get_id())->get_status(),"published");
     //Remove the Weeks from the database
     $this->assertTrue(delete_dbWeeks($w1));
     $this->assertTrue(delete_dbWeeks($w2));
     echo "testdbWeeks complete";
 }
function remove_week($id)
{
    $week = get_dbWeeks($id);
    if ($week) {
        if ($week->get_status() == "unpublished" || $week->get_status() == "archived") {
            delete_dbWeeks($week);
            add_log_entry(sprintf('<a href="personEdit.php?id=%s">%s %s</a> removed the week of <a href="calendar.php?id=%s&edit=true">%s</a>.', $_SESSION['_id'], $_SESSION['f_name'], $_SESSION['l_name'], $week->get_id(), $week->get_name()));
            echo '<p>Week "' . $week->get_name() . '" removed.<br>';
        } else {
            echo '<p>Week "' . $week->get_name() . ' is published, so it cannot be removed.<br>';
        }
    }
}
include_once "header.php";
echo "</a>";
include_once 'accessController.php';
?>
    <div id="content">
        <?php 
include_once 'database/dbWeeks.php';
include_once 'calendarhouse_new.inc';
$edit = $_GET['edit'] == "true" ? true : false;
$venue = $_GET['venue'];
$week_id = $_GET['id'];
// If no week ID set, default to the current week
if (!$week_id) {
    $week_id = date("m-d-y", time());
}
$week = get_dbWeeks($week_id);
if ($week == null || $week->get_status() == "unpublished") {
    echo "This week's calendar is not available for viewing.";
    if ($_SESSION['access_level'] >= 2) {
        echo "<br/> <a href='addWeek.php'>Manage weeks</a>";
    }
} else {
    ?>
            <div style="text-align: center">
                <form method="get" action="addWeek.php">
                    <button type="submit">Manage weeks</button>
                </form>
            </div>
            <script type="text/javascript">
                makeCalendar(<?php 
    echo get_fullcalendar_json();
示例#4
0
    $week = get_dbWeeks($id);
    if ($week->get_status() == "unpublished") {
        $week->set_status("published");
    } else {
        if ($week->get_status() == "published") {
            $week->set_status("unpublished");
        }
    }
    update_dbWeeks($week);
    add_log_entry('<a href=\\"personEdit.php?id=' . $_SESSION['_id'] . '\\">' . $_SESSION['f_name'] . ' ' . $_SESSION['l_name'] . '</a> ' . $week->get_status() . ' the week of <a href=\\"calendar.php?id=' . $week->get_id() . '&edit=true\\">' . $week->get_name() . '</a>.');
    echo "<p>Week \"" . $week->get_name() . "\" " . $week->get_status() . ".<br>";
    include 'addWeek_newweek.inc';
} else {
    if (!$firstweek && $_GET['remove'] && $_SESSION['access_level'] >= 2) {
        $id = $_GET['remove'];
        $week = get_dbWeeks($id);
        if ($week) {
            if ($week->get_status() == "unpublished" || $week->get_status() == "archived") {
                delete_dbWeeks($week);
                add_log_entry('<a href=\\"personEdit.php?id=' . $_SESSION['_id'] . '\\">' . $_SESSION['f_name'] . ' ' . $_SESSION['l_name'] . '</a> removed the week of <a href=\\"calendar.php?id=' . $week->get_id() . '&edit=true\\">' . $week->get_name() . '</a>.');
                echo "<p>Week \"" . $week->get_name() . "\" removed.<br>";
            } else {
                echo "<p>Week \"" . $week->get_name() . "\" is published, so it cannot be removed.<br>";
            }
        }
        //include('addWeek_newweek.inc');
        //unset($_GET('remove'));
        echo "<br> (Back to <a href=\"addWeek.php?venue=" . $venue . "&archive=" . $_GET['archive'] . "\"><b>manage weeks</b></a>)";
    } else {
        if (!array_key_exists('_submit_check_newweek', $_POST)) {
            include 'addWeek_newweek.inc';
示例#5
0
     $week = get_dbWeeks($weekid);
     // get the week
     // if invalid week or unpublished week and not a manager
     if (!$week instanceof Week || $week->get_status() == "unpublished" && $_SESSION['access_level'] == 1) {
         echo 'This week\'s calendar is not available for viewing. ';
         if ($_SESSION['access_level'] >= 2) {
             echo '<a href="addWeek.php?archive=false&venue=' . $venue . '"> <br> Manage weeks</a>';
         }
     } else {
         $days = $week->get_dates();
         $year = date("Y", time());
         $doy = date("z", time()) + 1;
         // if notes were edited, processes notes
         if (array_key_exists('_submit_check_edit_notes', $_POST) && $_SESSION['access_level'] >= 1.5) {
             process_edit_notes($week, $venue, $_POST, $year, $doy);
             $week = get_dbWeeks($weekid);
         }
         // shows the previous week / next week navigation
         $week_nav = do_week_nav($week, $edit, $venue);
         echo $week_nav;
         // prevents archived weeks from being edited by anyone
         //    if ($week->get_status() == "archived")
         //        $edit = false;
         echo '<form method="POST">';
         show_week($days, $week, $edit, $year, $doy, $venue);
         if ($edit == true && !($days[6]->get_year() < $year || $days[6]->get_year() == $year && $days[6]->get_day_of_year() < $doy) && $_SESSION['access_level'] >= 1.5) {
             echo "<p align=\"center\"><input type=\"submit\" value=\"Save changes to all notes\" name=\"submit\">";
         }
         echo '</form>';
     }
 }
function testget_dbWeeks()
{
    $newWeek = new Week("03-30-14", "Bscah", "Active");
    $nd = insert_dbWeeks($newWeek);
    $id = "03-30-14";
    echo 'will test get_dbWeeks</br>';
    $result = get_dbWeeks($id);
    if ($result != null) {
        echo 'get_dbDates failed</br>';
    }
    $res = delete_dbWeeks($newWeek);
    if ($res == null) {
        echo 'Delete failed</br>';
    }
}
/**
 * @return Week[] all dbWeeks that are published
 */
function get_all_published_dbWeeks()
{
    connect();
    $query = "SELECT ID FROM WEEKS WHERE STATUS!='unpublished' ORDER BY END";
    $result = mysql_query($query);
    if (!$result) {
        error_log('ERROR on select in get_all_dbWeeks ' . mysql_error());
        die('Invalid query: ' . mysql_error());
    }
    mysql_close();
    $weeks = [];
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
        $weeks[] = get_dbWeeks($row['ID']);
    }
    return $weeks;
}
示例#8
0
/**
 * the full contents of dbWeeks, used by addWeek to list all scheduld weeks
 * @return mysql result array of weeks
 */
function get_all_dbWeeks($venue)
{
    connect();
    $query = "SELECT * FROM dbWeeks WHERE venue =\"" . $venue . "\" ORDER BY end";
    $result = mysql_query($query);
    mysql_close();
    $weeks = array();
    while ($result_row = mysql_fetch_assoc($result)) {
        error_log($result_row['id']);
        $w = get_dbWeeks($result_row['id']);
        $weeks[] = $w;
    }
    return $weeks;
}