mirror of
				https://git.code.sf.net/p/seeddms/code
				synced 2025-10-26 18:51:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			219 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			219 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Implementation of KeywordChooser view
 | |
|  *
 | |
|  * @category   DMS
 | |
|  * @package    SeedDMS
 | |
|  * @license    GPL 2
 | |
|  * @version    @version@
 | |
|  * @author     Uwe Steinmann <uwe@steinmann.cx>
 | |
|  * @copyright  Copyright (C) 2002-2005 Markus Westphal,
 | |
|  *             2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli,
 | |
|  *             2010-2012 Uwe Steinmann
 | |
|  * @version    Release: @package_version@
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * Include parent class
 | |
|  */
 | |
| require_once("class.Bootstrap.php");
 | |
| 
 | |
| /**
 | |
|  * Class which outputs the html page for KeywordChooser view
 | |
|  *
 | |
|  * @category   DMS
 | |
|  * @package    SeedDMS
 | |
|  * @author     Markus Westphal, Malcolm Cowe, Uwe Steinmann <uwe@steinmann.cx>
 | |
|  * @copyright  Copyright (C) 2002-2005 Markus Westphal,
 | |
|  *             2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli,
 | |
|  *             2010-2012 Uwe Steinmann
 | |
|  * @version    Release: @package_version@
 | |
|  */
 | |
| class SeedDMS_View_KeywordChooser extends SeedDMS_Bootstrap_Style {
 | |
| 
 | |
| 	function js() { /* {{{ */
 | |
| 		$form = $this->params['form'];
 | |
| 		header('Content-Type: application/javascript');
 | |
| ?>
 | |
| var targetObj = document.<?php echo $form ?>.keywords;
 | |
| var myTA;
 | |
| 
 | |
| function insertKeywords(keywords) {
 | |
| 
 | |
| 	if (navigator.appName == "Microsoft Internet Explorer") {
 | |
| 		myTA.value += " " + keywords;
 | |
| 	}
 | |
| 	//assuming Mozilla
 | |
| 	else {
 | |
| 		selStart = myTA.selectionStart;
 | |
| 		
 | |
| 		myTA.value = myTA.value.substring(0,myTA.selectionStart) + " " 
 | |
| 			+ keywords
 | |
| 			+ myTA.value.substring(myTA.selectionStart,myTA.value.length);
 | |
| 		
 | |
| 		myTA.selectionStart = selStart + keywords.length+1;
 | |
| 		myTA.selectionEnd = selStart + keywords.length+1;
 | |
| 	}				  
 | |
| 	myTA.focus();
 | |
| }
 | |
| 
 | |
| function cancel() {
 | |
| //	window.close();
 | |
| 	return true;
 | |
| }
 | |
| 
 | |
| function acceptKeywords() {
 | |
| 	targetObj.value = myTA.value;
 | |
| //	window.close();
 | |
| 	return true;
 | |
| }
 | |
| 
 | |
| obj = new Array();
 | |
| obj[0] = -1;
 | |
| obj[1] = -1;
 | |
| function showKeywords(which) {
 | |
| 	if (obj[which] != -1)
 | |
| 		obj[which].style.display = "none";
 | |
| 	
 | |
| 	list = document.getElementById("categories" + which);
 | |
| 	
 | |
| 	id = list.options[list.selectedIndex].value;
 | |
| 	if (id == -1)
 | |
| 		return;
 | |
| 	
 | |
| 	obj[which] = document.getElementById("keywords" + id);
 | |
| 	obj[which].style.display = "";
 | |
| }
 | |
| 
 | |
| $('#categories0').change(function(ev) {
 | |
| 	showKeywords(0);
 | |
| });
 | |
| 
 | |
| $('#categories1').change(function(ev) {
 | |
| 	showKeywords(1);
 | |
| });
 | |
| 
 | |
| $('.insertkeyword').click(function(ev) {
 | |
| 	attr_keyword = $(ev.currentTarget).attr('keyword');
 | |
| 	insertKeywords(attr_keyword);
 | |
| });
 | |
| 
 | |
| myTA = document.getElementById("keywordta");
 | |
| myTA.value = targetObj.value;
 | |
| myTA.focus();
 | |
| <?php
 | |
| 	} /* }}} */
 | |
| 
 | |
| 	function show() { /* {{{ */
 | |
| 		$dms = $this->params['dms'];
 | |
| 		$user = $this->params['user'];
 | |
| 		$categories = $this->params['categories'];
 | |
| 		$form = $this->params['form'];
 | |
| 
 | |
| //		$this->htmlStartPage(getMLText("use_default_keywords"));
 | |
| ?>
 | |
| 
 | |
| <div>
 | |
| <?php
 | |
| 		$this->contentContainerStart();
 | |
| ?>
 | |
| 
 | |
| <table>
 | |
| 
 | |
| 	<tr>
 | |
| 		<td valign="top" class="inputDescription"><?php echo getMLText("keywords")?>:</td>
 | |
| 		<td><textarea id="keywordta" rows="5" cols="30"></textarea></td>
 | |
| 	</tr>
 | |
| 	
 | |
| 	<tr>
 | |
| 		<td class="inputDescription"><?php echo getMLText("global_default_keywords")?>:</td>
 | |
| 		<td>
 | |
| 			<select _onchange="showKeywords(0)" id="categories0">
 | |
| 				<option value="-1"><?php echo getMLText("choose_category")?>
 | |
| <?php
 | |
| 				foreach ($categories as $category) {
 | |
| 					$owner = $category->getOwner();
 | |
| 					if (!$owner->isAdmin())
 | |
| 						continue;
 | |
| 					
 | |
| 					print "<option value=\"".$category->getID()."\">" . htmlspecialchars($category->getName());
 | |
| 				}
 | |
| ?>
 | |
| 			</select>
 | |
| 		</td>
 | |
| 	</tr>
 | |
| <?php
 | |
| 	foreach ($categories as $category) {
 | |
| 		$owner = $category->getOwner();
 | |
| 		if (!$owner->isAdmin())
 | |
| 			continue;
 | |
| ?>
 | |
| 	<tr id="keywords<?php echo $category->getID()?>" style="display : none;">
 | |
| 		<td valign="top" class="inputDescription"><?php echo getMLText("default_keywords")?>:</td>
 | |
| 		<td>
 | |
| 			<?php
 | |
| 				$lists = $category->getKeywordLists();
 | |
| 				
 | |
| 				if (count($lists) == 0) print getMLText("no_default_keywords");
 | |
| 				else {	
 | |
| 					print "<ul>";
 | |
| 					foreach ($lists as $list) {
 | |
| 						print "<li><a class=\"insertkeyword\" keyword=\"".htmlspecialchars($list["keywords"])."\">".htmlspecialchars($list["keywords"])."</a></li>";
 | |
| 					}
 | |
| 					print "</ul>";
 | |
| 				}
 | |
| 			?>
 | |
| 		</td>
 | |
| 	</tr>
 | |
| <?php } ?>
 | |
| 	<tr>
 | |
| 		<td class="inputDescription"><?php echo getMLText("personal_default_keywords")?>:</td>
 | |
| 		<td>
 | |
| 			<select _onchange="showKeywords(1)" id="categories1">
 | |
| 				<option value="-1"><?php echo getMLText("choose_category")?>
 | |
| <?php
 | |
| 				foreach ($categories as $category) {
 | |
| 					$owner = $category->getOwner();
 | |
| 					if ($owner->isAdmin())
 | |
| 						continue;
 | |
| 					
 | |
| 					print "<option value=\"".$category->getID()."\">" . htmlspecialchars($category->getName());
 | |
| 				}
 | |
| ?>
 | |
| 			</select>
 | |
| 		</td>
 | |
| 	</tr>
 | |
| <?php
 | |
| 		foreach ($categories as $category) {
 | |
| 			$owner = $category->getOwner();
 | |
| 			if ($owner->isAdmin())
 | |
| 				continue;
 | |
| ?>
 | |
| 		<tr id="keywords<?php echo $category->getID()?>" style="display : none;">
 | |
| 			<td valign="top" class="inputDescription"><?php echo getMLText("default_keywords")?>:</td>
 | |
| 			<td class="standardText">
 | |
| <?php
 | |
| 					$lists = $category->getKeywordLists();				
 | |
| 					if (count($lists) == 0) print getMLText("no_default_keywords");
 | |
| 					else {	
 | |
| 						print "<ul>";
 | |
| 						foreach ($lists as $list) {
 | |
| 							print "<li><a class=\"insertkeyword\" keyword=\"".htmlspecialchars($list["keywords"])."\">".htmlspecialchars($list["keywords"])."</a></li>";
 | |
| 						}
 | |
| 						print "</ul>";
 | |
| 					}
 | |
| ?>
 | |
| 		</td>
 | |
| 	</tr>
 | |
| <?php } ?>
 | |
| </table>
 | |
| 
 | |
| <?php
 | |
| 		$this->contentContainerEnd();
 | |
| 		echo '<script src="../out/out.KeywordChooser.php?action=js&'.$_SERVER['QUERY_STRING'].'"></script>'."\n";
 | |
| //		$this->htmlEndPage();
 | |
| //		echo "</body>\n</html>\n";
 | |
| 	} /* }}} */
 | |
| }
 | |
| ?>
 | 
