<?php class BlotterTheme extends Themelet { public function display_editor($entries) { global $page; $html = $this->get_html_for_blotter_editor($entries); $page->set_title("Blotter Editor"); $page->set_heading("Blotter Editor"); $page->add_block(new Block("Welcome to the Blotter Editor!", $html, "main", 10)); $page->add_block(new Block("Navigation", "<a href='".make_link()."'>Index</a>", "left", 0)); } public function display_blotter_page($entries) { global $page; $html = $this->get_html_for_blotter_page($entries); $page->set_title("Blotter"); $page->set_heading("Blotter"); $page->add_block(new Block("Blotter Entries", $html, "main", 10)); } public function display_blotter($entries) { global $page, $config; $html = $this->get_html_for_blotter($entries); $position = $config->get_string("blotter_position", "subheading"); $page->add_block(new Block(null, $html, $position, 20)); } private function get_html_for_blotter_editor($entries) { global $user; /** * Long function name, but at least I won't confuse it with something else ^_^ */ $html = ""; // Add_new stuff goes here. $table_header = " <tr> <th>Date</th> <th>Message</th> <th>Important?</th> <th>Action</th> </tr>"; $add_new = " <tr class='even'> ".make_form(make_link("blotter/add"))." <td colspan='2'><textarea style='text-align:left;' name='entry_text' rows='2' /></textarea></td> <td><input type='checkbox' name='important' /></td> <td><input type='submit' value='Add'></td> </form> </tr>"; // Now, time for entries list. $table_rows = ""; $num_entries = count($entries); for ($i = 0 ; $i < $num_entries ; $i++) { /** * Add table rows */ $id = $entries[$i]['id']; $entry_date = $entries[$i]['entry_date']; $entry_text = $entries[$i]['entry_text']; if($entries[$i]['important'] == 'Y') { $important = 'Y'; } else { $important = 'N'; } // Add the new table row(s) $table_rows .= "<tr> <td>$entry_date</td> <td>$entry_text</td> <td>$important</td> <td><form name='remove$id' method='post' action='".make_link("blotter/remove")."'> ".$user->get_auth_html()." <input type='hidden' name='id' value='$id' /> <input type='submit' style='width: 100%;' value='Remove' /> </form> </td> </tr>"; } $html = " <table id='blotter_entries' class='zebra'> <thead>$table_header</thead> <tbody>$add_new</tbody> <tfoot>$table_rows</tfoot> </table> <br /> <b>Help:</b><br /> <blockquote>Add entries to the blotter, and they will be displayed.</blockquote>"; return $html; } private function get_html_for_blotter_page($entries) { /** * This one displays a list of all blotter entries. */ global $config; $i_color = $config->get_string("blotter_color", "#FF0000"); $html = "<pre>"; $num_entries = count($entries); for ($i = 0 ; $i < $num_entries ; $i++) { /** * Blotter entries */ // Reset variables: $i_open = ""; $i_close = ""; $id = $entries[$i]['id']; $messy_date = $entries[$i]['entry_date']; $clean_date = date("y/m/d", strtotime($messy_date)); $entry_text = $entries[$i]['entry_text']; if($entries[$i]['important'] == 'Y') { $i_open = "<font color='#{$i_color}'>"; $i_close="</font>"; } $html .= "{$i_open}{$clean_date} - {$entry_text}{$i_close}<br /><br />"; } $html .= "</pre>"; return $html; } private function get_html_for_blotter($entries) { global $config; $i_color = $config->get_string("blotter_color", "#FF0000"); $position = $config->get_string("blotter_position", "subheading"); $entries_list = ""; $num_entries = count($entries); for ($i = 0 ; $i < $num_entries ; $i++) { /** * Blotter entries */ // Reset variables: $i_open = ""; $i_close = ""; $id = $entries[$i]['id']; $messy_date = $entries[$i]['entry_date']; $clean_date = date("m/d/y", strtotime($messy_date)); $entry_text = $entries[$i]['entry_text']; if($entries[$i]['important'] == 'Y') { $i_open = "<font color='#{$i_color}'>"; $i_close="</font>"; } $entries_list .= "<li>{$i_open}{$clean_date} - {$entry_text}{$i_close}</li>"; } $out_text = ""; $in_text = ""; $pos_break = ""; $pos_align = "text-align: right; position: absolute; right: 0px;"; if($position === "left") { $pos_break = "<br />"; $pos_align = ""; } if(count($entries) === 0) { $out_text = "No blotter entries yet."; $in_text = "Empty."; } else { $clean_date = date("m/d/y", strtotime($entries[0]['entry_date'])); $out_text = "Blotter updated: {$clean_date}"; $in_text = "<ul>$entries_list</ul>"; } $html = " <div id='blotter1' class='shm-blotter1'> <span>$out_text</span> {$pos_break} <span style='{$pos_align}'> <a href='#' id='blotter2-toggle' class='shm-blotter2-toggle'>Show/Hide</a> <a href='".make_link("blotter/list")."'>Show All</a> </span> </div> <div id='blotter2' class='shm-blotter2'>$in_text</div> "; return $html; } } ?>