|
From: <ma...@us...> - 2012-12-09 15:07:14
|
Revision: 1193
http://openautomation.svn.sourceforge.net/openautomation/?rev=1193&view=rev
Author: makki1
Date: 2012-12-09 15:07:06 +0000 (Sun, 09 Dec 2012)
Log Message:
-----------
urltrigger-Widget and RSSlog/demo
Modified Paths:
--------------
CometVisu/trunk/visu/index.html
CometVisu/trunk/visu/plugins/rsslog/rsslog.php
CometVisu/trunk/visu/visu_config.xsd
Added Paths:
-----------
CometVisu/trunk/visu/structure/pure/urltrigger.js
CometVisu/trunk/visu/visu_config_demorss.xml
Modified: CometVisu/trunk/visu/index.html
===================================================================
--- CometVisu/trunk/visu/index.html 2012-12-08 18:29:18 UTC (rev 1192)
+++ CometVisu/trunk/visu/index.html 2012-12-09 15:07:06 UTC (rev 1193)
@@ -44,6 +44,7 @@
<script src="structure/pure/text.js" type="text/javascript"></script>
<script src="structure/pure/toggle.js" type="text/javascript"></script>
<script src="structure/pure/trigger.js" type="text/javascript"></script>
+ <script src="structure/pure/urltrigger.js" type="text/javascript"></script>
<script src="structure/pure/unknown.js" type="text/javascript"></script>
<script src="structure/pure/video.js" type="text/javascript"></script>
<script src="structure/pure/wgplugin_info.js" type="text/javascript"></script>
@@ -84,4 +85,4 @@
Loading ...
</div>
</body>
-</html>
\ No newline at end of file
+</html>
Modified: CometVisu/trunk/visu/plugins/rsslog/rsslog.php
===================================================================
--- CometVisu/trunk/visu/plugins/rsslog/rsslog.php 2012-12-08 18:29:18 UTC (rev 1192)
+++ CometVisu/trunk/visu/plugins/rsslog/rsslog.php 2012-12-09 15:07:06 UTC (rev 1193)
@@ -59,7 +59,6 @@
$log_content = $_GET['c'] ? $_GET['c'] : '<no content>';
$log_title = $_GET['h'] ? $_GET['h'] : '';
$log_state = $_GET['state'] ? $_GET['state'] : 0;
- $log_state = $_GET['value'] ? $_GET['value'] : 0;
if( mb_detect_encoding($log_content, 'UTF-8', true) != 'UTF-8' )
$log_content = utf8_encode($log_content);
if( mb_detect_encoding($log_title, 'UTF-8', true) != 'UTF-8' )
@@ -75,6 +74,7 @@
<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /></head><body>
<table border="1">
<?php
+ $records = 0;
echo '<tr><th>ID</th><th>DateTime</th><th>Timestamp</th><th>Title</th><th>Content</th><th>Tags</th><th>State</th></tr>';
while( sqlite_has_more($result) )
{
@@ -88,7 +88,9 @@
echo '<td>' . $row['tags'] . '</td>';
echo '<td>' . $row['state'] . '</td>';
echo "</tr>\n";
+ $records++;
}
+ echo '<tfoot><tr><td>Sum</td><td>' . $records . '</td></tr></tfoot>';
?>
</table>
</body></html>
@@ -229,7 +231,7 @@
$ok = sqlite_exec($db, $q, $error);
if (!$ok)
- die("Cannot execute query. $error (Content: $content Tags: $tags");
+ die("Cannot execute query. $error (Title: $itle Content: $content Tags: $tags State: $state)");
}
// return a handle to all the data
@@ -240,7 +242,7 @@
$filters[$i] = " (tags LIKE '%" . sqlite_escape_string($val) . "%') ";
}
- $q = "SELECT id, title, content, tags, state, strftime('%s', t) AS t FROM Logs WHERE" . implode('OR', $filters);;
+ $q = "SELECT id, title, content, tags, state, strftime('%s', t) AS t FROM Logs WHERE (" . implode('OR', $filters) . ")";
if (isset($state))
$q .= " AND state=" . $state . " ";
@@ -259,7 +261,7 @@
$filters[$i] = " (tags LIKE '%" . sqlite_escape_string($val) . "%') ";
}
- $q = "DELETE from Logs WHERE t < datetime($timestamp, 'unixepoch') AND " . implode('OR', $filters);
+ $q = "DELETE from Logs WHERE t < datetime($timestamp, 'unixepoch') AND (" . implode('OR', $filters) . ")";
$ok = sqlite_exec($db, $q, $error);
if (!$ok)
Added: CometVisu/trunk/visu/structure/pure/urltrigger.js
===================================================================
--- CometVisu/trunk/visu/structure/pure/urltrigger.js (rev 0)
+++ CometVisu/trunk/visu/structure/pure/urltrigger.js 2012-12-09 15:07:06 UTC (rev 1193)
@@ -0,0 +1,77 @@
+/* trigger.js (c) 2012 by Christian Mayer [CometVisu at ChristianMayer dot de]
+ * modified urltrigger.js (c) 2012 by mm...@el...
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 3 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ */
+
+basicdesign.addCreator('urltrigger', {
+ create: function( element, path, flavour, type ) {
+ var $e = $(element);
+ var layout = $e.children('layout')[0];
+ var style = layout ? 'style="' + extractLayout( layout, type ) + '"' : '';
+ var value = $e.attr('value') ? $e.attr('value') : 0;
+ var classes = 'widget clearfix trigger';
+ if( $e.attr('align') ) {
+ classes+=" "+$e.attr('align');
+ }
+ var ret_val = $('<div class="'+classes+'" ' + style + '/>');
+ ret_val.setWidgetLayout($e);
+ var label = extractLabel( $e.find('label')[0] );
+ var actor = '<div class="actor switchUnpressed ';
+ if ( $e.attr( 'align' ) )
+ actor += $e.attr( 'align' );
+ actor += '"><div class="value"></div></div>';
+ var $actor = $(actor);
+ var valueElement = $actor.find('.value');
+ var mappedValue = map( value, $e.attr('mapping') );
+ if( ('string' == typeof mappedValue) || ('number' == typeof mappedValue) )
+ {
+ valueElement.append( mappedValue );
+ } else
+ for( var i = 0; i < mappedValue.length; i++ )
+ {
+ valueElement.append( $(mappedValue[i]).clone() );
+ }
+ $actor.data( {
+ 'url' : $(element).attr('url'),
+ 'mapping' : $(element).attr('mapping'),
+ 'styling' : $(element).attr('styling'),
+ 'type' : 'urltrigger',
+ 'align' : $e.attr('align'),
+ 'params' : $(element).attr('params'),
+ 'sendValue': value //value is currently ignored in XHR! maybe for multitrigger
+ } ).bind( 'click', this.action ).bind( 'mousedown', function(){
+ $(this).removeClass('switchUnpressed').addClass('switchPressed');
+ } ).bind( 'mouseup mouseout', function(){ // not perfect but simple
+ $(this).removeClass('switchPressed').addClass('switchUnpressed');
+ } ).setWidgetStyling(value);
+ ret_val.append( label ).append( $actor );
+ return ret_val;
+ },
+ action: function() {
+ var data = $(this).data();
+ data.params = data.params ? data.params : '';
+ $.ajax({
+ type: "GET",
+ datatype: "html",
+ data: encodeURI(data.params),
+ url: data.url,
+ success: function(data){
+ //maybe do something useful with the response?
+ }
+ });
+ }
+});
+
Modified: CometVisu/trunk/visu/visu_config.xsd
===================================================================
--- CometVisu/trunk/visu/visu_config.xsd 2012-12-08 18:29:18 UTC (rev 1192)
+++ CometVisu/trunk/visu/visu_config.xsd 2012-12-09 15:07:06 UTC (rev 1193)
@@ -339,6 +339,7 @@
<xsd:element name="switch" type="switch" />
<xsd:element name="toggle" type="switch" />
<xsd:element name="trigger" type="trigger" />
+ <xsd:element name="urltrigger" type="urltrigger" />
<xsd:element name="multitrigger" type="multitrigger" />
<xsd:element name="infotrigger" type="infotrigger" />
<xsd:element name="designtoggle" type="designtoggle" />
@@ -396,6 +397,7 @@
<xsd:element name="switch" type="switch" />
<xsd:element name="toggle" type="switch" />
<xsd:element name="trigger" type="trigger" />
+ <xsd:element name="urltrigger" type="urltrigger" />
<xsd:element name="multitrigger" type="multitrigger" />
<xsd:element name="infotrigger" type="infotrigger" />
<xsd:element name="designtoggle" type="designtoggle" />
@@ -440,6 +442,7 @@
<xsd:element name="switch" type="switch" />
<xsd:element name="toggle" type="switch" />
<xsd:element name="trigger" type="trigger" />
+ <xsd:element name="urltrigger" type="urltrigger" />
<xsd:element name="multitrigger" type="multitrigger" />
<xsd:element name="infotrigger" type="infotrigger" />
<xsd:element name="designtoggle" type="designtoggle" />
@@ -529,6 +532,19 @@
<xsd:attribute ref="align" use="optional" />
</xsd:complexType>
+ <xsd:complexType name="urltrigger">
+ <xsd:choice maxOccurs="unbounded" minOccurs="1">
+ <xsd:element name="label" type="label" />
+ <xsd:element name="layout" type="layout" minOccurs="0" maxOccurs="1" />
+ </xsd:choice>
+ <xsd:attribute ref="value" use="optional" />
+ <xsd:attribute ref="mapping" use="optional" />
+ <xsd:attribute ref="styling" use="optional" />
+ <xsd:attribute ref="align" use="optional" />
+ <xsd:attribute name="url" type="xsd:string" use="required" />
+ <xsd:attribute name="params" type="xsd:string" use="optional" />
+ </xsd:complexType>
+
<xsd:complexType name="infotrigger">
<xsd:choice maxOccurs="unbounded" minOccurs="1">
<xsd:element name="label" type="label" />
Added: CometVisu/trunk/visu/visu_config_demorss.xml
===================================================================
--- CometVisu/trunk/visu/visu_config_demorss.xml (rev 0)
+++ CometVisu/trunk/visu/visu_config_demorss.xml 2012-12-09 15:07:06 UTC (rev 1193)
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" design="pure" xsi:noNamespaceSchemaLocation="visu_config.xsd">
+ <meta>
+ <plugins>
+ <plugin name="rss"/>
+ <plugin name="rsslog"/>
+ </plugins>
+ <mappings>
+ <mapping name="Open_Close">
+ <entry value="0">zu</entry>
+ <entry value="1">offen</entry>
+ </mapping>
+ <mapping name="Close_Open">
+ <entry value="0">offen</entry>
+ <entry value="1">zu</entry>
+ </mapping>
+ <mapping name="On_Off">
+ <entry value="0">Aus</entry>
+ <entry value="1">An</entry>
+ </mapping>
+ <mapping name="Off_On">
+ <entry value="0">An</entry>
+ <entry value="1">Aus</entry>
+ </mapping>
+ <mapping name="KonnexHVAC">
+ <entry value="auto">Auto</entry>
+ <entry value="comfort">Komfort</entry>
+ <entry value="standby">Stand By</entry>
+ <entry value="economy">Economy</entry>
+ <entry value="building_protection">Haus-Schutz</entry>
+ </mapping>
+ </mappings>
+ <stylings>
+ <styling name="Red_Green">
+ <entry value="0">red</entry>
+ <entry value="1">green</entry>
+ </styling>
+ <styling name="Green_Red">
+ <entry value="0">green</entry>
+ <entry value="1">red</entry>
+ </styling>
+ <styling name="Blue_Green_Red">
+ <entry range_min="-100" range_max="20">blue</entry>
+ <entry range_min="20" range_max="22">green</entry>
+ <entry range_min="22" range_max="100">red</entry>
+ </styling>
+ </stylings>
+ <statusbar>
+ <status type="html"><![CDATA[
+ <img src="icon/comet_64_ff8000.png" alt="CometVisu" /> by <a href="http://www.cometvisu.org/">CometVisu.org</a>
+ - <a href=".?forceReload=true">Reload</a>
+ - <a href="?config=demo">Widget Demo</a>
+ ]]></status>
+ <status type="html" condition="!edit" hrefextend="config"><![CDATA[
+ - <a href="edit_config.html">Edit</a>
+ ]]></status>
+ <status type="html" condition="edit" hrefextend="all"><![CDATA[
+ - <a href=".">normal Mode</a>
+ ]]></status>
+ <status type="html" hrefextend="config"><![CDATA[
+ - <a href="check_config.php">Check Config</a>
+ ]]></status>
+ </statusbar>
+ </meta>
+ <page name="Start">
+ <text align="center">Welcome to the CometVisu - Demo for urltrigger, RSSlog and RSS Plugin</text>
+ <line/>
+ <urltrigger value="Ins Log" url="plugins/rsslog/rsslog.php" params="t[]=aquarium&c=AQ1 Wasserwechsel">
+ <label>Aquarium 1 Wasser gewechselt</label>
+ </urltrigger>
+ <urltrigger value="Ins Log" url="plugins/rsslog/rsslog.php" params="t[]=WP&c=Filter gereinigt">
+ <label>WP Filter gereinigt</label>
+ </urltrigger>
+ <urltrigger value="Call me" url="/something/else.php">
+ <label>Any other local(!) URL/script</label>
+ </urltrigger>
+ <urltrigger value="AQ2 WW" url="plugins/rsslog/rsslog.php" params="t[]=aquarium&c=AQ2 Wasserwechsel"/>
+ <line/>
+ <text align="center">rsslog filter: Aquarium - 6 lines</text>
+ <rsslog src="plugins/rsslog/rsslog.php?f=aqua" refresh="300" limit="5" mode="last">
+ <layout rowspan="9" colspan="6"></layout>
+ </rsslog>
+ <line/>
+ <text align="center">rsslog filter: Sensoren - only last (click me!)</text>
+ <rsslog src="plugins/rsslog/rsslog.php?f=sensoren" mode="rollover"/>
+ <line/>
+ <text align="center">rsslog filter: WP</text>
+ <rsslog src="plugins/rsslog/rsslog.php?f=WP" mode="rollover"/>
+ <rsslog src="plugins/rsslog/rsslog.php?state=1" filter="security" refresh="300" mode="last" timeformat="%d.%m. %H:%M">
+ <label>Ereignisse state=1 Filter=security</label>
+ <layout rowspan="9" colspan="6"></layout>
+ </rsslog>
+ <rsslog src="plugins/rsslog/rsslog.php?state=0" filter="security" refresh="300" mode="last" timeformat="%d.%m. %H:%M">
+ <label>Ereignisse state=0 Filter=security</label>
+ <layout rowspan="9" colspan="6"></layout>
+ </rsslog>
+ <line/>
+ <page name="externe feeds">
+ <rss src="http://www.tagesschau.de/xml/rss2" refresh="3600" header="true"/>
+ </page>
+ </page>
+</pages>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|