$this->cfg->product = "phpfspot";
$this->cfg->version = "1.2";
+ $this->sort_orders= array(
+ 'date_asc' => 'Date ↑',
+ 'date_desc' => 'Date ↓',
+ 'name_asc' => 'Name ↑',
+ 'name_desc' => 'Name ↓'
+ );
+
/* Check necessary requirements */
if(!$this->checkRequirements()) {
exit(1);
* getPhotoSelection() will then only return the matching
* photos.
*/
- public function startSearch($searchfor, $sort_order, $from = 0, $to = 0)
+ public function startSearch($searchfor, $from = 0, $to = 0)
{
$this->get_tags();
$_SESSION['searchfor'] = $searchfor;
- $_SESSION['sort_order'] = $sort_order;
if($from != 0)
$_SESSION['from_date'] = strtotime($from);
else
} // startSearch()
+ /**
+ * updates sort order in session variable
+ *
+ * this function is invoked by RPC and will sort the requested
+ * sort order in the session variable.
+ */
+ public function updateSortOrder($order)
+ {
+ if(isset($this->sort_orders[$order])) {
+ $_SESSION['sort_order'] = $order;
+ return "ok";
+ }
+
+ return "unkown error";
+
+ } // updateSortOrder()
+
/**
* rotate image
*
*/
public function smarty_sort_select_list($params, &$smarty)
{
- $output = "<select name=\"sort_order\">";
+ $output = "";
- $sorter = array(
- 'date_asc' => 'Date ↑',
- 'date_desc' => 'Date ↓',
- 'name_asc' => 'Name ↑',
- 'name_desc' => 'Name ↓'
- );
-
- foreach($sorter as $key => $value) {
+ foreach($this->sort_orders as $key => $value) {
$output.= "<option value=\"". $key ."\"";
if($key == $_SESSION['sort_order']) {
$output.= " selected=\"selected\"";
}
$output.= ">". $value ."</option>";
}
- $output.= "</select>";
return $output;
request = request + '&from='+ from +'&to='+ to;
}
- var sort_order = document.getElementsByName('sort_order')[0];
- request = request + '&sort_order='+ sort_order.options[sort_order.selectedIndex].value;
-
HTML_AJAX.grab(encodeURI(request));
refreshAvailableTags();
}
+function update_sort_order(obj)
+{
+ var objTemp = new Object();
+ objTemp['value'] = obj.options[obj.selectedIndex].value;
+
+ var retr = HTML_AJAX.post('rpc.php?action=update_sort_order', objTemp);
+
+ if(retr == "ok") {
+ showPhotoIndex();
+ }
+ else {
+ window.alert(retr);
+ }
+
+} // update_sort_order()
+
+
var startup = 1;
var calendar_shown = 0;
var calendar_mode = '';
break;
case 'search':
- $fspot->startSearch($_GET['for'], $_GET['sort_order'], $_GET['from'], $_GET['to']);
+ $fspot->startSearch($_GET['for'], $_GET['from'], $_GET['to']);
if((isset($_GET['from']) && $fspot->isValidDate($_GET['from'])) &&
(isset($_GET['to']) && $fspot->isValidDate($_GET['to']))) {
}
else {
- $fspot->startSearch($_GET['for'], $_GET['sort_order']);
+ $fspot->startSearch($_GET['for']);
+ }
+ break;
+
+ case 'update_sort_order':
+ if(isset($_POST['value']) && is_string($_POST['value'])) {
+ print $fspot->updateSortOrder($_POST['value']);
}
break;
border: dashed 1px #888888;\r
vertical-align: middle;\r
}\r
+\r
+input.submit {\r
+ background-color: #ffffff;\r
+ border: 0px;\r
+}\r
+\r
+input, select, textarea {\r
+ background-color: #eeeeee;\r
+ color: #333333;\r
+ border: 1px solid #888888;\r
+ border-collapse: collapse;\r
+}\r
+\r
<input type="text" name="searchfor" value="{$searchfor}" size="15" />
</td>
<td>
- <input type="image" src="resources/doit.png" alt="Tag-Search" onclick="click(this);" />
+ <input type="image" class="submit" src="resources/doit.png" alt="start search" title="start search" onclick="click(this);" />
</td>
</tr>
<tr>
<td>Date:</td>
- <td>
+ <td style="white-space: nowrap;">
{ if ! $date_search_enabled }
<input type="checkbox" name="consider_date" value="Y" onclick="datesearch();">
{ else }
{$to_date} <a href="javascript:showCalendar('to');" onclick="click(this);"><img src="resources/date.png" id="topic" /></a>
</td>
<td>
- <input type="image" src="resources/doit.png" alt="Tag-Search" onclick="click(this);" />
+ <input type="image" class="submit" src="resources/doit.png" alt="start search" title="start search" onclick="click(this);" />
</td>
</tr>
<tr>
<td>
- Sort-Order:
+ Sort-Order:
</td>
<td>
- { sort_select_list }
+ <select name="sort_order" onchange="update_sort_order(this);">
+ { sort_select_list }
+ </select>
</td>
<td>
- <input type="image" src="resources/doit.png" alt="Tag-Search" onclick="click(this);" />
+
</td>
</tr>
</form>