diff --git a/src/ajax.js b/src/ajax.js
index a278dd9..754c804 100644
--- a/src/ajax.js
+++ b/src/ajax.js
@@ -17,10 +17,12 @@ var tz = 0;
var img = {
'note': ['images/page_white_text_add_bw.png','images/page_white_text_add.png'],
'edit': ['images/page_white_edit_bw.png','images/page_white_edit.png'],
- 'del': ['images/page_cross_bw.png','images/page_cross.png']
+ 'del': ['images/page_cross_bw.png','images/page_cross.png'],
+ 'toggle': ['images/toggle_plus.gif','images/toggle_minus.gif']
};
var taskCnt = { total:0, past: 0, today:0, soon:0 };
var tmp = {};
+var oBtnMenu = {};
function loadTasks()
{
@@ -60,11 +62,12 @@ function prepareTaskStr(item)
'
'+
'
'+
'
'+
- '
'+
+ ''+
''+prepareDuedate(item.duedate, item.dueClass, item.dueStr)+
'
'+preparePrio(prio,id)+''+prepareHtml(item.title)+''+
prepareTagsStr(item.tags)+''+lang.taskDate(item.date)+''+
- '
'+
+ '
'+
'
'+prepareHtml(item.note)+'
'+
'
'+
'
'+lang.actionNoteSave+
@@ -837,3 +840,78 @@ function editFormResize(startstop, event)
}
else $('#page_taskedit textarea').height(f.height() - tmp.editformdiff);
}
+
+function mttTabSelected(el, indx)
+{
+ $(el.parentNode.parentNode).children('.mtt-tabs-selected').removeClass('mtt-tabs-selected');
+ $(el.parentNode).addClass('mtt-tabs-selected');
+
+}
+
+function btnMenu(el)
+{
+ if(!el.id) return;
+ oBtnMenu.container = el.id+'container';
+ oBtnMenu.targets = [el.id, oBtnMenu.container];
+ w = $('#'+oBtnMenu.container);
+ if(w.css('display') == 'none')
+ {
+ oBtnMenu.h = [];
+ $(w).children('.li').each( function(i,o){
+ if(o.onclick) {
+ oBtnMenu.h[i] = o.onclick;
+ $(o).bind("click2", o.onclick);
+ o.onclick = function(event) { $('#'+oBtnMenu.container).hide(); $(o).trigger('click2'); btnMenuClose(); }
+ } else {
+ oBtnMenu.h[i] = null;
+ }
+ } );
+ offset = $(el).offset();
+ w.css({ position: 'absolute', top: offset.top+el.offsetHeight-1, left: offset.left , 'min-width': $(el).width() }).show();
+ $(document).bind("click", btnMenuClose);
+ }
+ else {
+ el.blur();
+ btnMenuClose();
+ }
+}
+
+function btnMenuClose(e)
+{
+ if(e) {
+ if(isParentId(e.target, oBtnMenu.targets)) return;
+ }
+ $(document).unbind("click", btnMenuClose);
+ $('#'+oBtnMenu.container).hide().children('.li').each( function(i,o){
+ if(oBtnMenu.h[i]) {
+ o.onclick = oBtnMenu.h[i];
+ $(o).unbind('click2');
+ }
+ });
+ oBtnMenu = {};
+}
+
+function toggleNote(id)
+{
+ var o = $('#taskrow_'+id+'>div>div.task-note-block');
+ if(o.is('.hidden')) $('#taskrow_'+id+'>div>.mtt-toggle').attr('src', img.toggle[1]);
+ else $('#taskrow_'+id+'>div>.mtt-toggle').attr('src', img.toggle[0]);
+ o.toggleClass('hidden');
+}
+
+function toggleAllNotes(showhide)
+{
+ for(id in taskList)
+ {
+ if(taskList[id].note == '') continue;
+ if(showhide) {
+ $('#taskrow_'+id+'>div>.mtt-toggle').attr('src', img.toggle[1]);
+ $('#taskrow_'+id+'>div>div.task-note-block').removeClass('hidden');
+ }
+ else {
+ $('#taskrow_'+id+'>div>.mtt-toggle').attr('src', img.toggle[0]);
+ $('#taskrow_'+id+'>div>div.task-note-block').addClass('hidden');
+ }
+ }
+}
+
diff --git a/src/class.db.sqlite.php b/src/class.db.sqlite.php
deleted file mode 100644
index fcadcb1..0000000
--- a/src/class.db.sqlite.php
+++ /dev/null
@@ -1,158 +0,0 @@
-parent = $h;
- $this->query = $query;
-
- if($resultless) $this->q = @$this->parent->dbh->queryExec($query, $error);
- else $this->q = @$this->parent->dbh->query($query, 0, $error);
-
- if(!$this->q)
- {
- if($error) throw new Exception($error);
- else throw new Exception(sqlite_error_string($this->parent->dbh->lastError()));
- }
- }
-
- function rows()
- {
- if (!is_null($this->rows)) return $this->rows;
- $this->rows = $this->q->numRows();
- return $this->rows;
- }
-
- function fetch_row()
- {
- return $this->q->fetch(SQLITE_NUM);
- }
-
- function fetch_assoc()
- {
- return $this->q->fetch(SQLITE_ASSOC);
- }
-
-}
-
-class Database_Sqlite
-{
- var $dbh;
- private $affected = null;
-
- function __construct()
- {
- }
-
- function connect($filename, $mode=0666)
- {
- try {
- $this->dbh = new SQLiteDatabase($filename, 0666, $error);
- }
- catch(Exception $e) {
- throw new Exception($error);
- }
- return true;
- }
-
- function sq($query, $p = NULL)
- {
- $q = $this->_dq($query, $p);
-
- if($q->rows()) $res = $q->fetch_row();
- else return NULL;
-
- if(sizeof($res) > 1) return $res;
- else return $res[0];
- }
-
- function sqa($query, $p = NULL)
- {
- $q = $this->_dq($query, $p);
-
- if($q->rows()) $res = $q->fetch_assoc();
- else return NULL;
-
- if(sizeof($res) > 1) return $res;
- else return $res[0];
- }
-
- function dq($query, $p = NULL)
- {
- return $this->_dq($query, $p);
- }
-
- /*
- for resultless queries like INSERT,UPDATE
- */
- function ex($query, $p = NULL)
- {
- return $this->_dq($query, $p, 1);
- }
-
- private function _dq($query, $p = NULL, $resultless = 0)
- {
- if(!isset($p)) $p = array();
- elseif(!is_array($p)) $p = array($p);
-
- $m = explode('?', $query);
-
- if(sizeof($p)>0)
- {
- if(sizeof($m)< sizeof($p)+1) {
- throw new Exception("params to set MORE than query params");
- }
- if(sizeof($m)> sizeof($p)+1) {
- throw new Exception("params to set LESS than query params");
- }
- $query = "";
- for($i=0; $iquote($p[$i]);
- }
- $query .= $m[$i];
- }
- return new DatabaseResult_Sqlite($query, $this, $resultless);
- }
-
- function affected()
- {
- if(is_null($this->affected))
- {
- $this->affected = $this->dbh->changes();
- }
- return $this->affected;
- }
-
- function quote($s)
- {
- return '\''. sqlite_escape_string($s). '\'';
- }
-
- function quoteForLike($format, $s)
- {
- $s = str_replace(array('\\','%','_'), array('\\\\','\%','\_'), $s);
- return $this->quote(sprintf($format, $s));
- }
-
- function last_insert_id()
- {
- return $this->dbh->lastInsertRowid();
- }
-
- function table_exists($table)
- {
- $table = $this->quote($table);
- $q = @$this->dbh->query("SELECT 1 FROM $table WHERE 1=0");
- if($q === false) return false;
- else return true;
- }
-}
-
-?>
\ No newline at end of file
diff --git a/src/db/config.php.default b/src/db/config.php.default
index 2250ccc..4027271 100644
--- a/src/db/config.php.default
+++ b/src/db/config.php.default
@@ -6,9 +6,6 @@ $config = array();
# Uncomment this line if you want to use Mysql, in format: array("host","login","password","database");
#$config['mysql'] = array("localhost","user","password", "mytinytodo");
-# To use old SQLite2 (instead of SQLite3) uncomment the line below
-#$config['sqlite'] = 2;
-
# Language pack
$config['lang'] = "en";
diff --git a/src/images/toggle_minus.gif b/src/images/toggle_minus.gif
new file mode 100644
index 0000000..19d433b
Binary files /dev/null and b/src/images/toggle_minus.gif differ
diff --git a/src/images/toggle_plus.gif b/src/images/toggle_plus.gif
new file mode 100644
index 0000000..14a7ab2
Binary files /dev/null and b/src/images/toggle_plus.gif differ
diff --git a/src/index.php b/src/index.php
index 83c0f52..441d524 100644
--- a/src/index.php
+++ b/src/index.php
@@ -56,7 +56,7 @@ function __($s)