374 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			374 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| class NotesTheme extends Themelet {
 | |
|     public function note_button($image_id) {
 | |
| 		return '		
 | |
| 						<script type="text/javascript">
 | |
| 							function confirm_action() {
 | |
| 								var r=confirm("Are You Sure?");
 | |
| 								if (r==true) {
 | |
| 									return true;
 | |
| 									}
 | |
| 								else {
 | |
| 									return false;
 | |
| 									}
 | |
| 							}
 | |
| 						</script>
 | |
| 
 | |
| 						<!-- <a href="#" id="addnotelink" >Add a note</a> -->
 | |
| 						
 | |
| 						<form action="" method="">
 | |
| 						<input type="button" id="addnote" value="Add Note">
 | |
| 						<input type="hidden" name="image_id" value="'.$image_id.'">
 | |
| 						</form>
 | |
| 					';
 | |
| 	}
 | |
| 	public function request_button($image_id) {
 | |
| 		return '						
 | |
| 						
 | |
| 						<form action="'.make_link("note/add_request").'" method="POST">
 | |
| 						<input id="noterequest" type="submit" value="Add Note Request">
 | |
| 						<input type="hidden" name="image_id" value="'.$image_id.'">
 | |
| 						</form>
 | |
| 					';
 | |
| 	}
 | |
| 	public function nuke_notes_button($image_id) {
 | |
| 		return '
 | |
| 							<form action="'.make_link("note/nuke_notes").'" method="POST" ">
 | |
| 							<input id="noterequest" type="submit" value="Nuke Notes" onclick="return confirm_action()">
 | |
| 							<input type="hidden" name="image_id" value="'.$image_id.'">
 | |
| 							</form>
 | |
| 				';
 | |
| 	}
 | |
| 	public function nuke_requests_button($image_id) {
 | |
| 		return '
 | |
| 							
 | |
| 							<form action="'.make_link("note/nuke_requests").'" method="POST">
 | |
| 							<input id="noterequest" type="submit" value="Nuke Requests" onclick="return confirm_action()">
 | |
| 							<input type="hidden" name="image_id" value="'.$image_id.'">
 | |
| 							</form>
 | |
| 						';
 | |
| 	}
 | |
| 	
 | |
| 	public function search_notes_page(Page $page) { //IN DEVELOPMENT, NOT FULLY WORKING
 | |
| 		$html = '<form method="GET" action="/furpiledbeta/post/list/note=">
 | |
| 		<input id="search_input" type="text" name="search"/>
 | |
| 		<input type="submit" style="display: none;" value="Find"/>
 | |
| 		</form>';
 | |
| 	
 | |
| 		$page->set_title(html_escape("Search Note"));
 | |
| 		$page->set_heading(html_escape("Search Note"));
 | |
|         $page->add_block(new Block("Search Note", $html, "main", 10));
 | |
| 	}
 | |
| 		
 | |
| 		// check action POST on form	
 | |
| 	public function display_note_system(Page $page, $image_id, $recovered_notes, $adminOptions) {
 | |
| 		$html = "<script type='text/javascript'>
 | |
|         
 | |
|         notes = [";
 | |
|         
 | |
|         foreach($recovered_notes as $note)
 | |
|         {
 | |
|             $parsedNote = $note["note"];
 | |
|             $parsedNote = str_replace("\n", "\\n", $parsedNote);
 | |
|             $parsedNote = str_replace("\r", "\\r", $parsedNote);
 | |
| 
 | |
|             $html .= "{'x1':'".$note["x1"]."', ".
 | |
|                 "'y1':'".$note["y1"]."',".
 | |
|                 "'height':'".$note["height"]."',".
 | |
|                 "'width':'".$note["width"]."',".
 | |
|                 "'note':'".$parsedNote."',".
 | |
|                 "'note_id':'".$note["id"].
 | |
|                 "'},";
 | |
|         }
 | |
|         if (count($recovered_notes) > 0)
 | |
|         {
 | |
|             substr($html, 0, strlen($html) - 1); // remove final comma
 | |
|         }
 | |
| 
 | |
|         $html .= "];
 | |
|         ";
 | |
| 	
 | |
|         $html .= "$(document).ready(function() {
 | |
| 			$('#main_image').imgNotes(); //If your notes data is is not named notes pass it
 | |
|  
 | |
| 			$('#cancelnote').click(function(){
 | |
| 				$('#main_image').imgAreaSelect({ hide: true });
 | |
| 				$('#noteform').hide();
 | |
| 			});
 | |
| 
 | |
|                         $('#EditCancelNote').click(function() {
 | |
|                             $('#main_image').imgAreaSelect({ hide: true });
 | |
|                             $('#noteEditForm').hide();
 | |
|                         });
 | |
| 
 | |
| 			$('#addnote').click(function(){
 | |
|                                 $('#noteEditForm').hide();
 | |
| 				$('#main_image').imgAreaSelect({ onSelectChange: showaddnote, x1: 120, y1: 90, x2: 280, y2: 210 });
 | |
| 				return false;
 | |
| 			});
 | |
| 
 | |
|                         $('.note').click(function() {
 | |
|                                 $('#noteform').hide();
 | |
|                                 var imgOffset = $('#main_image').offset();
 | |
| 
 | |
|                                 var x1 = parseInt(this.style.left) - imgOffset.left;
 | |
|                                 var y1 = parseInt(this.style.top) - imgOffset.top;
 | |
|                                 var width = parseInt(this.style.width);
 | |
|                                 var height = parseInt(this.style.height);
 | |
|                                 var text = $(this).next('.notep').text().replace(/([^>]?)\\n{2}/g, '$1\\n');
 | |
|                                 var id = $(this).next('.notep').next('.noteID').text();
 | |
| 
 | |
|                                 $('#main_image').imgAreaSelect({ onSelectChange: showeditnote, x1: x1, y1: y1, x2: x1 + width, y2: y1 + height });
 | |
|                                 setEditNoteData(x1, y1, width, height, text, id);
 | |
|                         });
 | |
| 		});
 | |
| 		
 | |
| 	function showaddnote (img, area) {
 | |
| 		imgOffset = $(img).offset();
 | |
| 		form_left  = parseInt(imgOffset.left) + parseInt(area.x1);
 | |
| 		form_top   = parseInt(imgOffset.top) + parseInt(area.y1) + parseInt(area.height)+5;
 | |
| 
 | |
| 		$('#noteform').css({ left: form_left + 'px', top: form_top + 'px'});
 | |
| 
 | |
| 		$('#noteform').show();
 | |
| 
 | |
| 		$('#noteform').css('z-index', 10000);
 | |
| 		$('#NoteX1').val(area.x1);
 | |
| 		$('#NoteY1').val(area.y1);
 | |
| 		$('#NoteHeight').val(area.height);
 | |
| 		$('#NoteWidth').val(area.width);
 | |
| 	}
 | |
|         function showeditnote (img, area) {
 | |
|             imgOffset = $(img).offset();
 | |
|             form_left  = parseInt(imgOffset.left) + area.x1;
 | |
|             form_top   = parseInt(imgOffset.top) + area.y2;
 | |
| 
 | |
|             $('#noteEditForm').css({ left: form_left + 'px', top: form_top + 'px'});
 | |
| 
 | |
|             $('#noteEditForm').show();
 | |
| 
 | |
|             $('#noteEditForm').css('z-index', 10000);
 | |
|             $('#EditNoteX1').val(area.x1);
 | |
|             $('#EditNoteY1').val(area.y1);
 | |
|             $('#EditNoteHeight').val(area.height);
 | |
|             $('#EditNoteWidth').val(area.width);
 | |
|         }
 | |
|         function setEditNoteData(x1, y1, width, height, text, id)
 | |
|         {
 | |
|             $('#EditNoteX1').val(x1);
 | |
|             $('#EditNoteY1').val(y1);
 | |
|             $('#EditNoteHeight').val(height);
 | |
|             $('#EditNoteWidth').val(width);
 | |
|             $('#EditNoteNote').text(text);
 | |
|             $('#EditNoteID').val(id);
 | |
|             $('#DeleteNoteNoteID').val(id);
 | |
|         }
 | |
| 
 | |
| 	</script>
 | |
| 	
 | |
| 	<div id='noteform'>
 | |
| 		<form id='NoteAddForm' action='".make_link("note/add_note")."' method='POST'>
 | |
| 			<input type='hidden' name='image_id' value='".$image_id."' />
 | |
| 			<input name='note_x1' type='hidden' value='' id='NoteX1' />
 | |
| 			<input name='note_y1' type='hidden' value='' id='NoteY1' />
 | |
| 			<input name='note_height' type='hidden' value='' id='NoteHeight' />
 | |
| 			<input name='note_width' type='hidden' value='' id='NoteWidth' />
 | |
| 			
 | |
| 			<table>
 | |
| 				<tr>
 | |
| 					<td colspan='2'>
 | |
| 						<textarea name='note_text' id='NoteNote' ></textarea>
 | |
| 					</td>
 | |
| 				</tr>
 | |
| 				<tr>
 | |
| 					<td><input type='submit' value='Add Note' /></td>
 | |
| 					<td><input type='button' value='Cancel' id='cancelnote' /></td>
 | |
| 			  	</tr>
 | |
| 			</table>
 | |
| 			
 | |
| 		</form>
 | |
| 	</div>
 | |
|         <div id='noteEditForm'>
 | |
|             <form id='NoteEditForm' action='".make_link("note/edit_note")."' method='POST'>
 | |
|                 <input type='hidden' name='image_id' value='".$image_id."' />
 | |
|                 <input type='hidden' name='note_id' id='EditNoteID' value='' />
 | |
|                 <input name='note_x1' type='hidden' value='' id='EditNoteX1' />
 | |
|                 <input name='note_y1' type='hidden' value='' id='EditNoteY1' />
 | |
|                 <input name='note_height' type='hidden' value='' id='EditNoteHeight' />
 | |
|                 <input name='note_width' type='hidden' value='' id='EditNoteWidth' />
 | |
|                 <table>
 | |
|                     <tr>
 | |
|                         <td colspan='2'>
 | |
|                             <textarea name='note_text' id='EditNoteNote' ></textarea>
 | |
|                         </td>
 | |
|                     </tr>
 | |
|                     <tr>
 | |
|                         <td><input type='submit' value='Save Note' /></td>
 | |
|                         <td><input type='button' value='Cancel' id='EditCancelNote' /></td>
 | |
|                     </tr>
 | |
|                 </table>
 | |
|             </form>";
 | |
| 
 | |
|         if($adminOptions)
 | |
|             $html .= "
 | |
|             <form id='NoteDeleteForm' action='".make_link("note/delete_note")."' method='POST'>
 | |
|                 <input type='hidden' name='image_id' value='".$image_id."' />
 | |
|                 <input type='hidden' name='note_id' value='' id='DeleteNoteNoteID' />
 | |
|                 <table>
 | |
|                     <tr>
 | |
|                         <td><input type='submit' value='Delete note' /></td>
 | |
|                     </tr>
 | |
|                 </table>
 | |
|             </form>
 | |
| ";
 | |
| 
 | |
|         $html .= "</div>";
 | |
| 
 | |
| 	$page->add_block(new Block(null, $html, "main", 1));
 | |
| 	}
 | |
| 		
 | |
| 	
 | |
| 	public function display_note_list($images, $pageNumber, $totalPages) {
 | |
| 		global $page;
 | |
| 		$pool_images = '';
 | |
| 		foreach($images as $pair) {
 | |
| 			$image = $pair[0];
 | |
| 
 | |
| 			$thumb_html = $this->build_thumb_html($image);
 | |
| 
 | |
| 			$pool_images .= '<span class="thumb">'.
 | |
| 					   		'<a href="$image_link">'.$thumb_html.'</a>'.
 | |
| 					   '</span>';
 | |
| 
 | |
| 			
 | |
| 		}
 | |
| 		$this->display_paginator($page, "note/list", null, $pageNumber, $totalPages);
 | |
| 		
 | |
| 		$page->set_title("Notes");
 | |
| 		$page->set_heading("Notes");
 | |
| 		$page->add_block(new Block("Notes", $pool_images, "main", 20));
 | |
| 	}
 | |
| 	
 | |
| 	public function display_note_requests($images, $pageNumber, $totalPages) {
 | |
| 		global $page;
 | |
| 		$pool_images = '';
 | |
| 		foreach($images as $pair) {
 | |
| 			$image = $pair[0];
 | |
| 
 | |
| 			$thumb_html = $this->build_thumb_html($image);
 | |
| 
 | |
| 			$pool_images .= '<span class="thumb">'.
 | |
| 					   		'<a href="$image_link">'.$thumb_html.'</a>'.
 | |
| 					   '</span>';
 | |
| 
 | |
| 			
 | |
| 		}
 | |
| 		$this->display_paginator($page, "requests/list", null, $pageNumber, $totalPages);
 | |
| 		
 | |
| 		$page->set_title("Note Requests");
 | |
| 		$page->set_heading("Note Requests");
 | |
| 		$page->add_block(new Block("Note Requests", $pool_images, "main", 20));
 | |
| 	}
 | |
| 	
 | |
| 	public function display_histories($histories, $pageNumber, $totalPages) {
 | |
| 		global $user, $page;
 | |
| 		
 | |
| 		$html = "<table id='poolsList' class='zebra'>".
 | |
| 				"<thead><tr>".
 | |
|             	"<th>Image</th>".
 | |
| 				"<th>Note</th>".
 | |
| 				"<th>Body</th>".
 | |
| 				"<th>Updater</th>".
 | |
|             	"<th>Date</th>";
 | |
| 				
 | |
| 		
 | |
| 		if(!$user->is_anonymous()){
 | |
| 			$html .= "<th>Action</th>";
 | |
| 		}
 | |
| 		
 | |
| 		$html .= "</tr></thead>".
 | |
| 				 "<tbody>";
 | |
| 		
 | |
| 		$n = 0;		
 | |
| 		foreach($histories as $history) {
 | |
| 			$oe = ($n++ % 2 == 0) ? "even" : "odd";
 | |
| 		
 | |
| 			$image_link = "<a href='".make_link("post/view/".$history['image_id'])."'>".$history['image_id']."</a>";
 | |
| 			$history_link = "<a href='".make_link("note/history/".$history['note_id'])."'>".$history['note_id'].".".$history['review_id']."</a>";
 | |
| 			$user_link = "<a href='".make_link("user/".$history['user_name'])."'>".$history['user_name']."</a>";
 | |
| 			$revert_link = "<a href='".make_link("note/revert/".$history['note_id']."/".$history['review_id'])."'>Revert</a>";
 | |
| 		
 | |
| 			$html .= "<tr class='$oe'>".
 | |
|                 	 "<td>".$image_link."</td>".
 | |
| 					 "<td>".$history_link."</td>".
 | |
| 					 "<td style='text-align:left;'>".$history['note']."</td>".
 | |
|                 	 "<td>".$user_link."</td>".
 | |
| 					 "<td>".autodate($history['date'])."</td>";
 | |
| 					 
 | |
| 			if(!$user->is_anonymous()){
 | |
| 				$html .= "<td>".$revert_link."</td>";
 | |
| 			}
 | |
|                 	 
 | |
| 		}
 | |
| 		
 | |
| 		$html .= "</tr></tbody></table>";
 | |
| 					
 | |
| 		$page->set_title("Note Updates");
 | |
| 		$page->set_heading("Note Updates");
 | |
| 		$page->add_block(new Block("Note Updates", $html, "main", 10));
 | |
| 		
 | |
| 		$this->display_paginator($page, "note/updated", null, $pageNumber, $totalPages);
 | |
| 	}
 | |
| 	
 | |
| 	public function display_history($histories, $pageNumber, $totalPages) {
 | |
| 		global $user, $page;
 | |
| 		
 | |
| 		$html = "<table id='poolsList' class='zebra'>".
 | |
| 				"<thead><tr>".
 | |
|             	"<th>Image</th>".
 | |
| 				"<th>Note</th>".
 | |
| 				"<th>Body</th>".
 | |
| 				"<th>Updater</th>".
 | |
|             	"<th>Date</th>";
 | |
| 				
 | |
| 		
 | |
| 		if(!$user->is_anonymous()){
 | |
| 			$html .= "<th>Action</th>";
 | |
| 		}
 | |
| 		
 | |
| 		$html .= "</tr></thead>".
 | |
| 				 "<tbody>";
 | |
| 		
 | |
| 		$n = 0;		
 | |
| 		foreach($histories as $history) {
 | |
| 			$oe = ($n++ % 2 == 0) ? "even" : "odd";
 | |
| 		
 | |
| 			$image_link = "<a href='".make_link("post/view/".$history['image_id'])."'>".$history['image_id']."</a>";
 | |
| 			$history_link = "<a href='".make_link("note/history/".$history['note_id'])."'>".$history['note_id'].".".$history['review_id']."</a>";
 | |
| 			$user_link = "<a href='".make_link("user/".$history['user_name'])."'>".$history['user_name']."</a>";
 | |
| 			$revert_link = "<a href='".make_link("note/revert/".$history['note_id']."/".$history['review_id'])."'>Revert</a>";
 | |
| 		
 | |
| 			$html .= "<tr class='$oe'>".
 | |
|                 	 "<td>".$image_link."</td>".
 | |
| 					 "<td>".$history_link."</td>".
 | |
| 					 "<td style='text-align:left;'>".$history['note']."</td>".
 | |
|                 	 "<td>".$user_link."</td>".
 | |
| 					 "<td>".autodate($history['date'])."</td>";
 | |
| 					 
 | |
| 			if(!$user->is_anonymous()){
 | |
| 				$html .= "<td>".$revert_link."</td>";
 | |
| 			}
 | |
|                 	 
 | |
| 		}
 | |
| 		
 | |
| 		$html .= "</tr></tbody></table>";
 | |
| 					
 | |
| 		$page->set_title("Note History");
 | |
| 		$page->set_heading("Note History");
 | |
| 		$page->add_block(new Block("Note History", $html, "main", 10));
 | |
| 		
 | |
| 		$this->display_paginator($page, "note/updated", null, $pageNumber, $totalPages);
 | |
| 	}
 | |
| 
 | |
|  }        
 | |
|  ?>
 |