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();
$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';
$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; }
/** * 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; }