* corrected urls in get_mttinfo() and ajax requests

* new name of session cookie
This commit is contained in:
Max Pozdeev 2010-02-07 16:26:11 +03:00
parent 301a75f779
commit 19ed24a621
6 changed files with 59 additions and 52 deletions

View file

@ -24,6 +24,7 @@ var page = {cur:'', prev:''};
var mytinytodo = {
actions: {},
menus: {},
mttUrl: '',
addAction: function(action, proc)
{
@ -74,7 +75,7 @@ function loadTasks(opts)
var tag = filter.tag ? '&t='+encodeURIComponent(filter.tag) : '';
var nocache = '&rnd='+Math.random();
var setCompl = opts.setCompl != null ? '&setCompl=1' : '';
$.getJSON('ajax.php?loadTasks&list='+curList.id+'&compl='+curList.showCompl+'&sort='+curList.sort+search+tag+'&tz='+tz()+setCompl+nocache, function(json){
$.getJSON(mytinytodo.mttUrl+'ajax.php?loadTasks&list='+curList.id+'&compl='+curList.showCompl+'&sort='+curList.sort+search+tag+'&tz='+tz()+setCompl+nocache, function(json){
taskList = new Array();
taskOrder = new Array();
taskCnt.total = taskCnt.past = taskCnt.today = taskCnt.soon = 0;
@ -150,7 +151,7 @@ function submitNewTask(form)
{
if(form.task.value == '') return false;
var nocache = '&rnd='+Math.random();
$.post('ajax.php?newTask'+nocache, { list:curList.id, title: form.task.value, tz:tz(), tag:filter.tag }, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?newTask'+nocache, { list:curList.id, title: form.task.value, tz:tz(), tag:filter.tag }, function(json){
if(!parseInt(json.total)) return;
$('#total').text( parseInt($('#total').text()) + 1 );
taskCnt.total++;
@ -197,7 +198,7 @@ function deleteTask(id)
return false;
}
var nocache = '&rnd='+Math.random();
$.getJSON('ajax.php?deleteTask='+id+nocache, function(json){
$.getJSON(mytinytodo.mttUrl+'ajax.php?deleteTask='+id+nocache, function(json){
if(!parseInt(json.total)) return;
var item = json.list[0];
taskOrder.splice($.inArray(id,taskOrder), 1);
@ -215,7 +216,7 @@ function completeTask(id,ch)
var compl = 0;
if(ch.checked) compl = 1;
var nocache = '&rnd='+Math.random();
$.getJSON('ajax.php?completeTask='+id+'&compl='+compl+nocache, function(json){
$.getJSON(mytinytodo.mttUrl+'ajax.php?completeTask='+id+'&compl='+compl+nocache, function(json){
if(!parseInt(json.total)) return;
var item = json.list[0];
if(item.compl) $('#taskrow_'+id).addClass('task-completed');
@ -264,7 +265,7 @@ function cancelTaskNote(id)
function saveTaskNote(id)
{
var nocache = '&rnd='+Math.random();
$.post('ajax.php?editNote='+id+nocache, {note: $('#notetext'+id).val()}, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?editNote='+id+nocache, {note: $('#notetext'+id).val()}, function(json){
if(!parseInt(json.total)) return;
var item = json.list[0];
taskList[id].note = item.note;
@ -302,7 +303,7 @@ function showEditForm(isAdd)
document.edittask.isadd.value = 1;
if($('#task').val() != '')
{
$.post('ajax.php?parseTaskStr'+'&rnd='+Math.random(), { list:curList.id, title: $('#task').val(), tz:tz(), tag:filter.tag }, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?parseTaskStr'+'&rnd='+Math.random(), { list:curList.id, title: $('#task').val(), tz:tz(), tag:filter.tag }, function(json){
if(!json) return;
document.edittask.task.value = json.title
document.edittask.tags.value = json.tags;
@ -366,7 +367,7 @@ function saveTask(form)
if(flag.needAuth && !flag.isLogged) return false;
if(form.isadd.value != 0) return submitFullTask(form);
var nocache = '&rnd='+Math.random();
$.post('ajax.php?editTask='+form.id.value+nocache, { list:curList.id, tz:tz(), title: form.task.value, note:form.note.value, prio:form.prio.value, tags:form.tags.value, duedate:form.duedate.value }, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?editTask='+form.id.value+nocache, { list:curList.id, tz:tz(), title: form.task.value, note:form.note.value, prio:form.prio.value, tags:form.tags.value, duedate:form.duedate.value }, function(json){
if(!parseInt(json.total)) return;
var item = json.list[0];
changeTaskCnt(item, 0, taskList[item.id]);
@ -430,7 +431,7 @@ function orderChanged(event,ui)
}
}
var nocache = '&rnd='+Math.random();
$.post('ajax.php?changeOrder'+nocache, { order: s }, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?changeOrder'+nocache, { order: s }, function(json){
}, 'json');
}
@ -492,7 +493,7 @@ function updateAccessStatus()
function doAuth(form)
{
$.post('ajax.php?rnd='+Math.random(), { login:1, password: form.password.value }, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?rnd='+Math.random(), { login:1, password: form.password.value }, function(json){
form.password.value = '';
if(json.logged)
{
@ -509,7 +510,7 @@ function doAuth(form)
function logout()
{
$.post('ajax.php?rnd='+Math.random(), { logout:1 }, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?rnd='+Math.random(), { logout:1 }, function(json){
flag.isLogged = false;
loadLists(0,1);
}, 'json');
@ -595,7 +596,7 @@ function prioClick(prio, el)
function setTaskPrio(id, prio)
{
$.getJSON('ajax.php?setPrio='+id+'&prio='+prio+'&rnd='+Math.random(), function(json){
$.getJSON(mytinytodo.mttUrl+'ajax.php?setPrio='+id+'&prio='+prio+'&rnd='+Math.random(), function(json){
});
taskList[id].prio = prio;
var $t = $('#taskrow_'+id);
@ -623,7 +624,7 @@ function setSort(v, init)
if(!init)
{
changeTaskOrder();
$.post('ajax.php?setSort'+'&rnd='+Math.random(), { list:curList.id, sort:curList.sort }, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?setSort'+'&rnd='+Math.random(), { list:curList.id, sort:curList.sort }, function(json){
}, 'json');
}
}
@ -679,7 +680,7 @@ function changeTaskOrder(id)
function loadTags(callback)
{
$.getJSON('ajax.php?tagCloud&list='+curList.id+'&rnd='+Math.random(), function(json){
$.getJSON(mytinytodo.mttUrl+'ajax.php?tagCloud&list='+curList.id+'&rnd='+Math.random(), function(json){
if(!parseInt(json.total)) tagsList = [];
else tagsList = json.cloud;
var cloud = '';
@ -807,7 +808,7 @@ function mttTabSelected(id, indx)
$('#searchbar').hide();
}
//if(tabLists[indx].published)
$('#rss_icon').find('a').attr('href', 'feed.php?list='+tabLists[indx].id);
$('#rss_icon').find('a').attr('href', mytinytodo.mttUrl+'feed.php?list='+tabLists[indx].id);
mytinytodo.doAction('listSelected', tabLists[indx]);
}
curList = tabLists[indx];
@ -883,7 +884,7 @@ function loadLists(onInit, updAccess)
$('#searchbar').hide();
}
var nocache = '&rnd='+Math.random();
$.getJSON('ajax.php?loadLists'+nocache, function(json){
$.getJSON(mytinytodo.mttUrl+'ajax.php?loadLists'+nocache, function(json){
tabLists = new Array();
var ti = '';
if(parseInt(json.total))
@ -903,7 +904,7 @@ function loadLists(onInit, updAccess)
curList = tabLists[0];
loadTasks();
//if(curList.published)
$('#rss_icon').find('a').attr('href', 'feed.php?list='+curList.id);
$('#rss_icon').find('a').attr('href', mytinytodo.mttUrl+'feed.php?list='+curList.id);
if(flag.needAuth && !flag.isLogged) $('#bar_public').show();
}
else {
@ -928,7 +929,7 @@ function addList()
var r = prompt(lang.addList, lang.addListDefault);
if(r == null) return;
var nocache = '&rnd='+Math.random();
$.post('ajax.php?'+nocache, { addList:1, name:r }, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?'+nocache, { addList:1, name:r }, function(json){
if(!parseInt(json.total)) return;
var item = json.list[0];
var i = tabLists.length;
@ -950,7 +951,7 @@ function renameCurList()
var r = prompt(lang.renameList, dehtml(curList.name));
if(r == null || r == '') return;
var nocache = '&rnd='+Math.random();
$.post('ajax.php?'+nocache, { renameList:1, id:curList.id, name:r }, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?'+nocache, { renameList:1, id:curList.id, name:r }, function(json){
if(!parseInt(json.total)) return;
var item = json.list[0];
item.i = curList.i;
@ -966,7 +967,7 @@ function deleteCurList()
if(!curList) return false;
var r = confirm(lang.deleteList);
if(!r) return;
$.post('ajax.php?'+'&rnd='+Math.random(), { deleteList:1, id:curList.id }, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?'+'&rnd='+Math.random(), { deleteList:1, id:curList.id }, function(json){
if(!parseInt(json.total)) return;
loadLists();
}, 'json');
@ -1033,7 +1034,7 @@ function addEditTag(tag)
function showSettings()
{
if(page.cur == 'settings') return false;
$('#page_ajax').load('settings.php?ajax=yes',null,function(){
$('#page_ajax').load(mytinytodo.mttUrl+'settings.php?ajax=yes',null,function(){
showhide($('#page_ajax').addClass('mtt-page-settings'), $('#page_tasks'));
page.prev = page.cur;
page.cur = 'settings';
@ -1054,7 +1055,7 @@ function saveSettings(frm)
var params = { save:'ajax' };
$(frm).find("input:text,input:checked,select,:password").filter(":enabled").each(function() { params[this.name || '__'] = this.value; });
$(frm).find(":submit").attr('disabled','disabled').blur();
$.post('settings.php?'+'&rnd='+Math.random(), params, function(json){
$.post(mytinytodo.mttUrl+'settings.php?'+'&rnd='+Math.random(), params, function(json){
if(json.saved) {
flashInfo(lang.settingsSaved);
setTimeout('window.location.reload();', 1000);
@ -1066,7 +1067,7 @@ function submitFullTask(form)
{
if(flag.needAuth && !flag.isLogged) return false;
var nocache = '&rnd='+Math.random();
$.post('ajax.php?fullNewTask'+nocache, { list:curList.id, tag:filter.tag, title: form.task.value, note:form.note.value, prio:form.prio.value, tags:form.tags.value, duedate:form.duedate.value }, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?fullNewTask'+nocache, { list:curList.id, tag:filter.tag, title: form.task.value, note:form.note.value, prio:form.prio.value, tags:form.tags.value, duedate:form.duedate.value }, function(json){
if(!parseInt(json.total)) return;
form.task.value = '';
var item = json.list[0];
@ -1088,7 +1089,7 @@ function publishCurList()
{
if(!curList) return false;
var nocache = '&rnd='+Math.random();
$.post('ajax.php?publishList'+nocache, { list:curList.id, publish:curList.published?0:1 }, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?publishList'+nocache, { list:curList.id, publish:curList.published?0:1 }, function(json){
if(!parseInt(json.total)) return;
curList.published = curList.published?0:1;
if(curList.published) $('#btnPublish').addClass('mtt-item-checked');
@ -1265,7 +1266,7 @@ function mttMenu(container, options)
function moveTaskToList(taskId, listId)
{
if(curList.id == listId) return;
$.post('ajax.php?moveTask&rnd='+Math.random(), { id:taskId, from:curList.id, to:listId }, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?moveTask&rnd='+Math.random(), { id:taskId, from:curList.id, to:listId }, function(json){
if(!parseInt(json.total)) return;
changeTaskCnt(taskList[taskId], -1)
delete taskList[taskId];
@ -1312,7 +1313,7 @@ function showCompletedToggle()
function listOrderChanged(event, ui)
{
var order = $(this).sortable("serialize");
$.post('ajax.php?changeListOrder'+'&rnd='+Math.random(), order, function(json){
$.post(mytinytodo.mttUrl+'ajax.php?changeListOrder'+'&rnd='+Math.random(), order, function(json){
}, 'json');
}

View file

@ -281,7 +281,7 @@ elseif(isset($_POST['login']))
}
elseif(isset($_POST['logout']))
{
$_SESSION = array();
unset($_SESSION['logged']);
$t = array('logged' => 0);
echo json_encode($t);
exit;

View file

@ -67,6 +67,8 @@ class Config
'mysql.user' => array('default'=>'user', 'type'=>'s'),
'mysql.password' => array('default'=>'', 'type'=>'s'),
'prefix' => array('default'=>'', 'type'=>'s'),
'url' => array('default'=>'', 'type'=>'s'),
'mtt_url' => array('default'=>'', 'type'=>'s'),
'title' => array('default'=>'', 'type'=>'s'),
'lang' => array('default'=>'en', 'type'=>'s'),
'password' => array('default'=>'', 'type'=>'s'),

View file

@ -42,15 +42,18 @@ function get_mttinfo($v)
if(isset($_mttinfo[$v])) return $_mttinfo[$v];
switch($v)
{
case 'template_uri':
$_mttinfo['template_uri'] = url_dir($_SERVER['REQUEST_URI']). 'themes/'. Config::get('template') . '/';
return $_mttinfo['template_uri'];
case 'template_url':
$_mttinfo['template_url'] = get_mttinfo('url'). 'themes/'. Config::get('template') . '/';
$_mttinfo['template_url'] = get_mttinfo('mtt_url'). 'themes/'. Config::get('template') . '/';
return $_mttinfo['template_url'];
case 'url':
$_mttinfo['url'] = 'http://'.$_SERVER['HTTP_HOST'] .($_SERVER['SERVER_PORT'] != 80 ? ':'.$_SERVER['SERVER_PORT'] : ''). url_dir($_SERVER['REQUEST_URI']);
$_mttinfo['url'] = Config::get('url');
if($_mttinfo['url'] == '')
$_mttinfo['url'] = 'http://'.$_SERVER['HTTP_HOST'] .($_SERVER['SERVER_PORT'] != 80 ? ':'.$_SERVER['SERVER_PORT'] : ''). parse_url($url, PHP_URL_PATH);
return $_mttinfo['url'];
case 'mtt_url':
$_mttinfo['mtt_url'] = Config::get('mtt_url');
if($_mttinfo['mtt_url'] == '') $_mttinfo['mtt_url'] = url_dir($_SERVER['REQUEST_URI']);
return $_mttinfo['mtt_url'];
case 'title':
$_mttinfo['title'] = (Config::get('title') != '') ? htmlarray(Config::get('title')) : $lang->get('My Tiny Todolist');
return $_mttinfo['title'];

View file

@ -45,7 +45,8 @@ if($needAuth && !isset($dontStartSession))
ini_set('session.use_cookies', true);
ini_set('session.use_only_cookies', true);
session_set_cookie_params(1209600, substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], '/') + 1)); #14 days session cookie lifetime
session_set_cookie_params(1209600, url_dir(Config::get('url')=='' ? $_SERVER['REQUEST_URI'] : Config::get('url'))); # 14 days session cookie lifetime
session_name('mtt-session');
session_start();
}
@ -57,14 +58,13 @@ function is_logged()
function timestampToDatetime($timestamp, $tz)
{
global $lang;
$format = Config::get('dateformat') .' '. (Config::get('clock') == 12 ? 'g:i A' : 'H:i');
return formatTime($format, $timestamp, $tz);
}
function formatTime($format, $timestamp=0, $tz=null)
{
global $lang;
$lang = Lang::instance();
if($timestamp == 0) $timestamp = time();
if(is_null($tz)) $tz = round(date('Z')/60);
$newformat = strtr($format, array('F'=>'%1', 'M'=>'%2'));

View file

@ -15,29 +15,30 @@ function datepickerformat()
<HEAD>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title><?php mttinfo('title'); ?></title>
<link rel="stylesheet" type="text/css" href="<?php mttinfo('template_uri'); ?>style.css?v=@VERSION" media="all">
<link rel="stylesheet" type="text/css" href="<?php mttinfo('template_url'); ?>style.css?v=@VERSION" media="all">
<?php if(Config::get('rtl')): ?>
<link rel="stylesheet" type="text/css" href="<?php mttinfo('template_uri'); ?>style_rtl.css?v=@VERSION" media="all">
<link rel="stylesheet" type="text/css" href="<?php mttinfo('template_url'); ?>style_rtl.css?v=@VERSION" media="all">
<?php endif; ?>
<?php if(isset($_GET['pda'])): ?>
<meta name="viewport" id="viewport" content="width=device-width">
<link rel="stylesheet" type="text/css" href="<?php mttinfo('template_uri'); ?>pda.css?v=@VERSION" media="all">
<link rel="stylesheet" type="text/css" href="<?php mttinfo('template_url'); ?>pda.css?v=@VERSION" media="all">
<?php else: ?>
<link rel="stylesheet" type="text/css" href="<?php mttinfo('template_uri'); ?>print.css?v=@VERSION" media="print">
<link rel="stylesheet" type="text/css" href="<?php mttinfo('template_url'); ?>print.css?v=@VERSION" media="print">
<?php endif; ?>
</HEAD>
<body>
<script type="text/javascript" src="jquery/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="jquery/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript" src="ajax.lang.php?v=@VERSION"></script>
<script type="text/javascript" src="ajax.js?v=@VERSION"></script>
<script type="text/javascript" src="jquery/jquery.autocomplete.min.js"></script>
<script type="text/javascript" src="<?php mttinfo('template_uri'); ?>functions.js?v=@VERSION"></script>
<script type="text/javascript" src="<?php mttinfo('mtt_url'); ?>jquery/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="<?php mttinfo('mtt_url'); ?>jquery/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript" src="<?php mttinfo('mtt_url'); ?>ajax.lang.php?v=@VERSION"></script>
<script type="text/javascript" src="<?php mttinfo('mtt_url'); ?>ajax.js?v=@VERSION"></script>
<script type="text/javascript" src="<?php mttinfo('mtt_url'); ?>jquery/jquery.autocomplete.min.js"></script>
<script type="text/javascript" src="<?php mttinfo('template_url'); ?>functions.js?v=@VERSION"></script>
<script type="text/javascript">
$().ready(function(){
mytinytodo.mttUrl = "<?php mttinfo('mtt_url'); ?>";
$("#tasklist").sortable({cancel:'span,input,a,textarea', delay: 150, update:orderChanged, start:sortStart, items:'> :not(.task-completed)'});
$("#tasklist").bind("click", tasklistClick);
$("#edittags").autocomplete('ajax.php?suggestTags', {scroll: false, multiple: true, selectFirst:false, max:8, extraParams:{list:function(){return curList.id}}});
@ -52,7 +53,7 @@ $().ready(function(){
echo "\tloadLists(1, 1);\n";
?>
$("#duedate").datepicker({dateFormat: '<?php echo datepickerformat(); ?>', firstDay: <?php echo Config::get('firstdayofweek'); ?>,
showOn: 'button', buttonImage: '<?php mttinfo('template_uri'); ?>images/calendar.png', buttonImageOnly: true, changeMonth:true,
showOn: 'button', buttonImage: '<?php mttinfo('template_url'); ?>images/calendar.png', buttonImageOnly: true, changeMonth:true,
changeYear:true, constrainInput: false, duration:'', nextText:'&gt;', prevText:'&lt;', dayNamesMin:lang.daysMin,
dayNames:lang.daysLong, monthNamesShort:lang.monthsLong });
<?php if(!isset($_GET['pda'])): ?>
@ -78,7 +79,7 @@ $().ready(function(){
<h2><?php mttinfo('title'); ?></h2>
<div id="loading"><img src="<?php mttinfo('template_uri'); ?>images/loading1.gif"></div>
<div id="loading"><img src="<?php mttinfo('template_url'); ?>images/loading1.gif"></div>
<div id="bar">
<div id="msg"><span class="msg-text" onClick="toggleMsgDetails()"></span><div class="msg-details"></div></div>
@ -89,7 +90,7 @@ $().ready(function(){
<span class="bar-delim" style="display:none"> | </span>
<span id="bar_auth">
<span id="bar_public" style="display:none"><?php _e('public_tasks');?> |</span>
<span id="bar_login"><a href="#login" class="nodecor" onClick="showAuth(this);return false;"><u><?php _e('a_login');?></u> <img src="<?php mttinfo('template_uri'); ?>images/arrdown.gif" border=0></a></span>
<span id="bar_login"><a href="#login" class="nodecor" onClick="showAuth(this);return false;"><u><?php _e('a_login');?></u> <img src="<?php mttinfo('template_url'); ?>images/arrdown.gif" border=0></a></span>
<a href="#logout" id="bar_logout" onClick="logout();return false"><?php _e('a_logout');?></a>
</span>
</div>
@ -105,10 +106,10 @@ $().ready(function(){
</div>
<div id="toolbar" class="mtt-htabs">
<span id="rss_icon"><a href="#" title="<?php _e('rss_feed');?>"><img src="<?php mttinfo('template_uri'); ?>images/feed_bw.png" onMouseOver="this.src='<?php mttinfo('template_uri'); ?>images/feed.png'" onMouseOut="this.src='<?php mttinfo('template_uri'); ?>images/feed_bw.png'"></a></span>
<span id="rss_icon"><a href="#" title="<?php _e('rss_feed');?>"><img src="<?php mttinfo('template_url'); ?>images/feed_bw.png" onMouseOver="this.src='<?php mttinfo('template_url'); ?>images/feed.png'" onMouseOut="this.src='<?php mttinfo('template_url'); ?>images/feed_bw.png'"></a></span>
<span id="htab_newtask"><?php _e('htab_newtask');?>
<form onSubmit="return submitNewTask(this)"><input type="text" name="task" value="" maxlength="250" id="task"> <input type="submit" value="<?php _e('btn_add');?>"></form>
<a href="#" onClick="showEditForm(1);return false;" title="<?php _e('advanced_add');?>"><img src="<?php mttinfo('template_uri'); ?>images/page_white_edit_bw.png" onMouseOver="this.src='<?php mttinfo('template_uri'); ?>images/page_white_edit.png'" onMouseOut="this.src='<?php mttinfo('template_uri'); ?>images/page_white_edit_bw.png'"></a>
<a href="#" onClick="showEditForm(1);return false;" title="<?php _e('advanced_add');?>"><img src="<?php mttinfo('template_url'); ?>images/page_white_edit_bw.png" onMouseOver="this.src='<?php mttinfo('template_url'); ?>images/page_white_edit.png'" onMouseOut="this.src='<?php mttinfo('template_url'); ?>images/page_white_edit_bw.png'"></a>
&nbsp;&nbsp;| <a href="#" class="htab-toggle" onClick="addsearchToggle(1);this.blur();return false;"><?php _e('htab_search');?></a>
</span>
<span id="htab_search" style="display:none"><?php _e('htab_search');?>
@ -119,8 +120,8 @@ $().ready(function(){
</div>
<h3>
<span id="taskview" onClick="btnMenu(this);return false;" class="mtt-btnmenu"><span class="btnstr"><?php _e('tasks');?></span> (<span id="total">0</span>) &nbsp;<img src="<?php mttinfo('template_uri'); ?>images/arrdown.gif"></span>
<span id="tagcloudbtn" onClick="showTagCloud(this);"><span class="btnstr"><?php _e('tags');?></span> <img src="<?php mttinfo('template_uri'); ?>images/arrdown.gif"></span>
<span id="taskview" onClick="btnMenu(this);return false;" class="mtt-btnmenu"><span class="btnstr"><?php _e('tasks');?></span> (<span id="total">0</span>) &nbsp;<img src="<?php mttinfo('template_url'); ?>images/arrdown.gif"></span>
<span id="tagcloudbtn" onClick="showTagCloud(this);"><span class="btnstr"><?php _e('tags');?></span> <img src="<?php mttinfo('template_url'); ?>images/arrdown.gif"></span>
<span class="mtt-notes-showhide"><?php _e('notes');?> <a href="#" onClick="toggleAllNotes(1);this.blur();return false;"><?php _e('notes_show');?></a> / <a href="#" onClick="toggleAllNotes(0);this.blur();return false;"><?php _e('notes_hide');?></a></span>
</h3>
@ -187,7 +188,7 @@ $().ready(function(){
<div id="tagcloud" style="display:none">
<div id="tagcloudcancel" onClick="cancelTagFilter();tagCloudClose();"><?php _e('tagfilter_cancel');?></div>
<div id="tagcloudload"><img src="<?php mttinfo('template_uri'); ?>images/loading1_24.gif"></div>
<div id="tagcloudload"><img src="<?php mttinfo('template_url'); ?>images/loading1_24.gif"></div>
<div id="tagcloudcontent"></div>
</div>