Unittesting begins

This commit is contained in:
Bel LaPointe
2019-11-12 13:45:32 -07:00
commit 8c4bc81694
35 changed files with 3231 additions and 0 deletions

13
public/images/COPYRIGHT Executable file
View File

@@ -0,0 +1,13 @@
Image files page_white_text.png and calendar.png and some icons in buttons.png
are (or based on) icons from Silk Icons set by Mark James (http://www.famfamfam.com/lab/icons/silk/),
licensed under the Creative Commons Attribution 2.5 License (http://creativecommons.org/licenses/by/2.5/).
Some icons in buttons.png are based on "Silk Companion 1" icons set by Damien Guard
(http://damieng.com/creative/icons/silk-companion-1-icons), licensed under the
Creative Commons Attribution 2.5 License (http://creativecommons.org/licenses/by/2.5/).
Icons in mzl.png are (or based on) icons from Mozilla Source Code,
(http://www.mozilla.org/MPL/#source-code), licensed under the terms
of tri-license (MPL 1.1/GPL 2.0/LGPL 2.1).
Other images in this directory were made by Max Pozdeev and licensed under the terms of GNU GPL v2+.

BIN
public/images/arrdown.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

BIN
public/images/arrdown2.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 B

BIN
public/images/closetag.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 B

BIN
public/images/corner_left.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 B

BIN
public/images/corner_right.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 B

BIN
public/images/icons.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

1
public/images/index.html Executable file
View File

@@ -0,0 +1 @@
Direct access disallowed!

BIN
public/images/loading1.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
public/images/loading1_24.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
public/images/tab_hover.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 B

358
public/index.php Executable file
View File

@@ -0,0 +1,358 @@
<?php header("Content-type: text/html; charset=utf-8"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<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_url'); ?>style.css?v=1.4.3" media="all"/>
<?php if (Config::get('rtl')): ?>
<link rel="stylesheet" type="text/css" href="<?php mttinfo('template_url'); ?>style_rtl.css?v=1.4.3" 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_url'); ?>pda.css?v=1.4.3" media="all"/>
<?php else: ?>
<link rel="stylesheet" type="text/css" href="<?php mttinfo('template_url'); ?>print.css?v=1.4.3" media="print"/>
<?php endif; ?>
</head>
<body>
<script type="text/javascript" src="<?php mttinfo('mtt_url'); ?>jquery/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="<?php mttinfo('mtt_url'); ?>jquery/jquery-ui-1.8.7.custom.min.js"></script>
<script type="text/javascript" src="<?php mttinfo('mtt_url'); ?>jquery/jquery.autocomplete-1.1.js"></script>
<script type="text/javascript" src="<?php mttinfo('mtt_url'); ?>mytinytodo.js?v=1.4.3"></script>
<script type="text/javascript" src="<?php mttinfo('mtt_url'); ?>mytinytodo_lang.php?v=1.4.3"></script>
<script type="text/javascript" src="<?php mttinfo('mtt_url'); ?>mytinytodo_ajax_storage.js?v=1.4.3"></script>
<script type="text/javascript">
$().ready(function () {
if (isMobileDevice() && getGetParamValue(window.location.href, 'pda') == null) {
window.location.href += '/?pda';
}
<?php if(isset($_GET['pda'])): ?>
$('body').width(screen.width);
$(window).resize(function () {
$('body').width(screen.width);
});
<?php endif; ?>
mytinytodo.mttUrl = "<?php mttinfo('mtt_url'); ?>";
mytinytodo.templateUrl = "<?php mttinfo('template_url'); ?>";
mytinytodo.db = new mytinytodoStorageAjax(mytinytodo);
mytinytodo.init({
needAuth: <?php echo $needAuth ? "true" : "false"; ?>,
isLogged: <?php echo ($needAuth && is_logged()) ? "true" : "false"; ?>,
showdate: <?php echo (Config::get('showdate') && !isset($_GET['pda'])) ? "true" : "false"; ?>,
singletab: <?php echo (isset($_GET['singletab']) || isset($_GET['pda'])) ? "true" : "false"; ?>,
duedatepickerformat: "<?php echo htmlspecialchars(Config::get('dateformat2')); ?>",
firstdayofweek: <?php echo (int)Config::get('firstdayofweek'); ?>,
autotag: <?php echo Config::get('autotag') ? "true" : "false"; ?>
<?php if (isset($_GET['list'])) echo ",openList: " . (int)$_GET['list']; ?>
<?php if (isset($_GET['pda'])) echo ", touchDevice: true"; ?>
}).loadLists(1);
});
</script>
<div id="wrapper">
<div id="container">
<div id="mtt_body">
<h2><?php mttinfo('title'); ?></h2>
<div id="loading"></div>
<div id="bar">
<div id="msg"><span class="msg-text"></span>
<div class="msg-details"></div>
</div>
<div class="bar-menu">
<span class="menu-owner" style="display:none">
<a href="#settings" id="settings"><?php _e('a_settings'); ?></a>
</span>
<span class="bar-delim" style="display:none"> | </span>
<span id="bar_auth">
<span id="bar_public" style="display:none"><?php _e('public_tasks'); ?> |</span>
<a href="#login" id="bar_login" class="nodecor"><u><?php _e('a_login'); ?></u> <span class="arrdown"></span></a>
<a href="#logout" id="bar_logout"><?php _e('a_logout'); ?></a>
</span>
</div>
</div>
<br clear="all"/>
<div id="page_tasks" style="display:none">
<div id="lists">
<ul class="mtt-tabs"></ul>
<div class="mtt-tabs-add-button" title="<?php _e('list_new'); ?>"><span></span>
</div>
<div id="tabs_buttons">
<div class="mtt-tabs-select-button mtt-tabs-button" title="<?php _e('list_select'); ?>">
<span></span></div>
</div>
<div id="list_all" class="mtt-tab mtt-tabs-alltasks mtt-tabs-hidden">
<a href="#alltasks"><span><?php _e('alltasks'); ?></span>
<div class="list-action"></div>
</a></div>
</div>
<div id="toolbar" class="mtt-htabs">
<div id="htab_search">
<table class="mtt-searchbox">
<tr>
<td>
<div class="mtt-searchbox-c">
<input type="text" name="search" value="" maxlength="250" id="search" autocomplete="off"/>
<div class="mtt-searchbox-icon mtt-icon-search"></div>
<div id="search_close" class="mtt-searchbox-icon mtt-icon-cancelsearch"></div>
</div>
</td>
</tr>
</table>
</div>
<div id="htab_newtask">
<table class="mtt-taskbox">
<tr>
<td class="mtt-tb-cell">
<div class="mtt-tb-c">
<form id="newtask_form" method="post">
<label id="task_placeholder" class="placeholding" for="task">
<input type="text" name="task" value="" maxlength="250" id="task" autocomplete="off"/>
<span><?php _e('htab_newtask'); ?></span>
</label>
<div id="newtask_submit" class="mtt-taskbox-icon mtt-icon-submittask" title="<?php _e('btn_add'); ?>"></div>
</form>
</div>
</td>
<td>
<a href="#" id="newtask_adv" class="mtt-img-button" title="<?php _e('advanced_add'); ?>"><span></span></a>
</td>
</tr>
</table>
</div>
<div id="searchbar" style="display:none"><?php _e('searching'); ?>
<span id="searchbarkeyword"></span></div>
<div style="clear:both"></div>
</div>
<h3>
<span id="taskview" class="mtt-menu-button"><span class="btnstr"><?php _e('tasks'); ?></span> (<span id="total">0</span>) <span class="arrdown"></span></span>
<span class="mtt-notes-showhide"><?php _e('notes'); ?>
<a href="#" id="mtt-notes-show"><?php _e('notes_show'); ?></a> / <a href="#" id="mtt-notes-hide"><?php _e('notes_hide'); ?></a></span>
<span id="mtt_filters"></span>
<span id="tagcloudbtn" class="mtt-menu-button"><?php _e('tagcloud'); ?>
<span class="arrdown2"></span></span>
</h3>
<div id="taskcontainer">
<ol id="tasklist" class="sortable"></ol>
</div>
</div> <!-- end of page_tasks -->
<div id="page_taskedit" style="display:none">
<div><a href="#" class="mtt-back-button"><?php _e('go_back'); ?></a></div>
<h3 class="mtt-inadd"><?php _e('add_task'); ?></h3>
<h3 class="mtt-inedit"><?php _e('edit_task'); ?>
<div id="taskedit-date" class="mtt-inedit">
(<span class="date-created" title="<?php _e('taskdate_created'); ?>"><span></span></span><span class="date-completed" title="<?php _e('taskdate_completed'); ?>"> &mdash; <span></span></span>)
</div>
</h3>
<form id="taskedit_form" name="edittask" method="post">
<input type="hidden" name="isadd" value="0"/>
<input type="hidden" name="id" value=""/>
<div class="form-row form-row-short">
<span class="h"><?php _e('priority'); ?></span>
<select name="prio">
<option value="2">+2</option>
<option value="1">+1</option>
<option value="0" selected="selected">&plusmn;0</option>
<option value="-1">&minus;1</option>
</select>
</div>
<div class="form-row form-row-short">
<span class="h"><?php _e('due'); ?> </span>
<input name="duedate" id="duedate" value="" class="in100" title="Y-M-D, M/D/Y, D.M.Y, M/D, D.M" autocomplete="off"/>
</div>
<div class="form-row-short-end"></div>
<div class="form-row">
<div class="h"><?php _e('task'); ?></div>
<input type="text" name="task" value="" class="in500" maxlength="250"/>
</div>
<div class="form-row">
<div class="h"><?php _e('note'); ?></div>
<textarea name="note" class="in500"></textarea></div>
<div class="form-row">
<div class="h"><?php _e('tags'); ?></div>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>
<input type="text" name="tags" id="edittags" value="" class="in500" maxlength="250"/>
</td>
<td class="alltags-cell">
<a href="#" id="alltags_show"><?php _e('alltags_show'); ?></a>
<a href="#" id="alltags_hide" style="display:none"><?php _e('alltags_hide'); ?></a>
</td>
</tr>
</table>
</div>
<div class="form-row" id="alltags" style="display:none;"><?php _e('alltags'); ?>
<span class="tags-list"></span></div>
<div class="form-row form-bottom-buttons">
<input type="submit" value="<?php _e('save'); ?>"/>
<input type="button" id="mtt_edit_cancel" class="mtt-back-button" value="<?php _e('cancel'); ?>"/>
</div>
</form>
</div> <!-- end of page_taskedit -->
<div id="authform" style="display:none">
<form id="login_form">
<div class="h"><?php _e('password'); ?></div>
<div><input type="password" name="password" id="password"/></div>
<div><input type="submit" value="<?php _e('btn_login'); ?>"/></div>
</form>
</div>
<div id="priopopup" style="display:none">
<span class="prio-neg prio-neg-1">&minus;1</span>
<span class="prio-zero">&plusmn;0</span>
<span class="prio-pos prio-pos-1">+1</span>
<span class="prio-pos prio-pos-2">+2</span>
</div>
<div id="taskviewcontainer" class="mtt-menu-container" style="display:none">
<ul>
<li id="view_tasks"><?php _e('tasks'); ?> (<span id="cnt_total">0</span>)</li>
<li id="view_past"><?php _e('f_past'); ?> (<span id="cnt_past">0</span>)</li>
<li id="view_today"><?php _e('f_today'); ?> (<span id="cnt_today">0</span>)</li>
<li id="view_soon"><?php _e('f_soon'); ?> (<span id="cnt_soon">0</span>)</li>
</ul>
</div>
<div id="tagcloud" style="display:none">
<a id="tagcloudcancel" class="mtt-img-button"><span></span></a>
<div id="tagcloudload"></div>
<div id="tagcloudcontent"></div>
</div>
<div id="listmenucontainer" class="mtt-menu-container" style="display:none">
<ul>
<li class="mtt-need-list mtt-need-real-list" id="btnRenameList"><?php _e('list_rename'); ?></li>
<li class="mtt-need-list mtt-need-real-list" id="btnDeleteList"><?php _e('list_delete'); ?></li>
<li class="mtt-need-list mtt-need-real-list" id="btnClearCompleted"><?php _e('list_clearcompleted'); ?></li>
<li class="mtt-need-list mtt-need-real-list mtt-menu-indicator" submenu="listexportmenucontainer">
<div class="submenu-icon"></div><?php _e('list_export'); ?></li>
<li class="mtt-menu-delimiter mtt-need-real-list"></li>
<li class="mtt-need-list mtt-need-real-list" id="btnPublish">
<div class="menu-icon"></div><?php _e('list_publish'); ?></li>
<li class="mtt-need-list mtt-need-real-list" id="btnRssFeed">
<div class="menu-icon"></div><?php _e('list_rssfeed'); ?></li>
<li class="mtt-menu-delimiter mtt-need-real-list"></li>
<li class="mtt-need-list mtt-need-real-list sort-item" id="sortByHand">
<div class="menu-icon"></div><?php _e('sortByHand'); ?>
<span class="mtt-sort-direction"></span></li>
<li class="mtt-need-list sort-item" id="sortByDateCreated">
<div class="menu-icon"></div><?php _e('sortByDateCreated'); ?>
<span class="mtt-sort-direction"></span></li>
<li class="mtt-need-list sort-item" id="sortByPrio">
<div class="menu-icon"></div><?php _e('sortByPriority'); ?>
<span class="mtt-sort-direction"></span></li>
<li class="mtt-need-list sort-item" id="sortByDueDate">
<div class="menu-icon"></div><?php _e('sortByDueDate'); ?>
<span class="mtt-sort-direction"></span></li>
<li class="mtt-need-list sort-item" id="sortByDateModified">
<div class="menu-icon"></div><?php _e('sortByDateModified'); ?>
<span class="mtt-sort-direction"></span></li>
<li class="mtt-menu-delimiter"></li>
<li class="mtt-need-list" id="btnShowCompleted">
<div class="menu-icon"></div><?php _e('list_showcompleted'); ?></li>
</ul>
</div>
<div id="listexportmenucontainer" class="mtt-menu-container" style="display:none">
<ul>
<li class="mtt-need-list mtt-need-real-list" id="btnExportCSV"><?php _e('list_export_csv'); ?></li>
<li class="mtt-need-list mtt-need-real-list" id="btnExportICAL"><?php _e('list_export_ical'); ?></li>
</ul>
</div>
<div id="taskcontextcontainer" class="mtt-menu-container" style="display:none">
<ul>
<li id="cmenu_edit"><b><?php _e('action_edit'); ?></b></li>
<li id="cmenu_note"><?php _e('action_note'); ?></li>
<li id="cmenu_prio" class="mtt-menu-indicator" submenu="cmenupriocontainer">
<div class="submenu-icon"></div><?php _e('action_priority'); ?></li>
<li id="cmenu_move" class="mtt-menu-indicator" submenu="cmenulistscontainer">
<div class="submenu-icon"></div><?php _e('action_move'); ?></li>
<li id="cmenu_delete"><?php _e('action_delete'); ?></li>
</ul>
</div>
<div id="cmenupriocontainer" class="mtt-menu-container" style="display:none">
<ul>
<li id="cmenu_prio:2">
<div class="menu-icon"></div>
+2
</li>
<li id="cmenu_prio:1">
<div class="menu-icon"></div>
+1
</li>
<li id="cmenu_prio:0">
<div class="menu-icon"></div>&plusmn;0
</li>
<li id="cmenu_prio:-1">
<div class="menu-icon"></div>&minus;1
</li>
</ul>
</div>
<div id="cmenulistscontainer" class="mtt-menu-container" style="display:none">
<ul>
</ul>
</div>
<div id="slmenucontainer" class="mtt-menu-container" style="display:none">
<ul>
<li id="slmenu_list:-1" class="list-id--1 mtt-need-list" <?php if (is_readonly()) echo 'style="display:none"' ?>>
<div class="menu-icon"></div>
<a href="#alltasks"><?php _e('alltasks'); ?></a></li>
<li class="mtt-menu-delimiter slmenu-lists-begin mtt-need-list" <?php if (is_readonly()) echo 'style="display:none"' ?>></li>
</ul>
</div>
<div id="page_ajax" style="display:none"></div>
</div>
<div id="space"></div>
</div>
<div id="footer">
<div id="footer_content">Powered by
<strong><a href="http://www.mytinytodo.net/">myTinyTodo</a></strong> 1.4.3
</div>
</div>
</div>
</body>
</html>
<!-- r390 -->

190
public/pda.css Executable file
View File

@@ -0,0 +1,190 @@
body {
margin: 0px;
font-size: 100%;
}
h2 {
margin: 0;
margin-bottom: 2px;
font-size: 1em;
}
h3 {
margin-bottom: 4px;
padding: 4px 0;
}
#body {
margin-left: 1px;
margin-right: 1px;
padding: 1px;
padding-bottom: 12px;
}
#bar_login, #bar_logout {
padding-right: 1px;
}
#tabs ul {
margin-top: 0px;
}
#tabs ul li {
width: 70px;
margin-right: 1px;
}
.tab-content {
padding: 4px;
}
#htab_search {
width: 40%;
max-width: 190px;
}
.mtt-searchbox {
float: right;
}
.mtt-searchbox td {
width: 40%;
}
#toolbar.mtt-intask #htab_search {
display: none;
}
#toolbar.mtt-insearch #htab_newtask {
display: none;
}
#toolbar.mtt-insearch #htab_search {
width: 100%;
}
#toolbar.mtt-insearch .mtt-searchbox td {
width: 40%;
}
#tasklist li {
padding: 0.5em 3px;
overflow: hidden;
}
.task-actions {
display: none;
}
.task-date {
display: none;
}
.task-note-actions {
display: block;
padding-top: 8px;
}
.task-note-block {
margin-left: 0px;
border-left: 1px solid #777777;
background: none;
padding-left: 4px;
margin-top: 1px;
padding-top: 0px;
display: none;
}
.task-note-area textarea {
width: 95%;
}
.task-middle {
margin-right: 0px;
}
#tasklist li .task-through {
white-space: nowrap;
overflow: hidden;
}
#tasklist li:hover {
background-color: #ffffff;
}
#tasklist li.task-expanded .task-note-block {
display: none;
}
/*#tasklist li.task-expanded .task-toggle { background-position:-32px 0; }*/
#tasklist li.clicked {
background-color: #f6f6f6;
}
#tasklist li.clicked .task-actions {
display: block;
}
#tasklist li.clicked .task-through {
white-space: normal;
display: inline;
}
#tasklist li.clicked.task-has-note .task-note-block {
display: block;
}
/*#tasklist li.clicked.task-has-note .task-toggle { background-position:-48px 0; } */
#tasklist li.clicked.doubleclicked.task-has-note .task-note-block {
display: none;
}
.task-toggle {
display: none;
}
.task-middle {
margin-left: 25px;
}
#page_taskedit {
max-width: 99.5%;
border: none;
position: static;
padding: 0;
}
#page_taskedit .form-table {
width: 100%;
}
#page_taskedit .form-row .in500 {
color: #444444;
}
#page_taskedit .form-row textarea {
height: 70px;
}
#loading {
padding: 0px;
padding-top: 1px;
padding-right: 1px;
height: 16px;
overflow: hidden;
}
#loading img { /*width:8px; height:8px;*/
}
#tagcloud {
max-width: 100%;
}
.mtt-settings-table .in350 {
min-width: 50px;
}
.mtt-notes-showhide {
display: none;
}

116
public/print.css Executable file
View File

@@ -0,0 +1,116 @@
html {
height: 0;
}
body {
height: 0;
min-height: 0;
margin: 0;
}
h2 {
display: none;
}
h3 {
border-bottom: 2px solid #777777;
}
#lists {
display: none;
}
#toolbar {
display: none;
}
.small-bar {
display: none;
}
.task-actions {
display: none;
}
#bar {
display: none;
}
#taskviewcontainer {
border: none;
}
#taskviewcontainer img {
display: none;
}
#tasklist {
list-style-type: decimal;
list-style-position: outside;
}
#tasklist li {
padding-left: 0px;
margin-left: 30px;
border-bottom: none;
padding-bottom: 8px;
}
div.task-note-block {
border-left: 1px solid #777777;
background: none;
padding-left: 5px;
margin-top: 5px;
padding-top: 0px;
font-size: 9pt;
color: #333333;
}
.task-middle {
margin-left: 0px;
margin-right: 3px;
}
.task-left {
display: none;
}
.task-date {
white-space: nowrap;
margin-left: 10px;
}
#tasklist li.today, #tasklist li.past {
background-color: #ffffff;
border-color: #dedede;
}
.task-prio {
font-weight: bold;
}
li.task-completed {
opacity: 1;
}
#footer_content {
border-top: 1px solid #777777;
background: none;
}
#footer_content a {
text-decoration: none;
color: #000000;
}
#tagcloudbtn {
display: none;
}
.mtt-notes-showhide {
display: none;
}
#taskview img {
display: none;
}

1358
public/style.css Executable file

File diff suppressed because it is too large Load Diff

137
public/style_rtl.css Executable file
View File

@@ -0,0 +1,137 @@
body {
direction: rtl;
}
h2 {
float: right;
padding-left: 10px;
padding-right: 0px;
}
.bar-menu {
float: left;
}
#loading {
float: right;
}
#lists .mtt-tabs {
float: right;
}
.mtt-tabs li {
float: right;
margin: 1px 0 0 3px;
border-left: none;
border-right: 1px solid #ededed;
background: #fbfbfb url(images/tab_hover.gif) no-repeat top left;
}
.mtt-tabs li.mtt-tabs-selected {
border-left: none;
border-right: 1px solid #ededed;
background: #ededed url(images/corner_left.gif) no-repeat top left;
}
#tabs_buttons {
float: left;
}
.mtt-tabs-button {
float: right;
}
#tagcloudbtn {
float: left;
}
#htab_search {
float: left;
}
#task {
padding: 2px 2px 2px 18px;
}
#task_placeholder span {
right: 0px;
left: auto;
}
.mtt-taskbox-icon.mtt-icon-submittask {
left: 4px;
right: auto;
}
.mtt-searchbox-icon.mtt-icon-search {
right: 4px;
left: auto;
}
.mtt-searchbox-icon.mtt-icon-cancelsearch {
left: 4px;
right: auto;
}
.task-actions {
float: left;
text-align: left;
width: 15px;
}
.task-left {
float: right;
}
.task-toggle {
float: right;
}
.task-middle {
margin-right: 40px;
margin-left: 25px;
}
.task-date {
margin-right: 4px;
}
.duedate {
float: left;
margin-left: 0;
margin-right: 5px;
}
.duedate-arrow {
display: none;
}
.duedate:before {
content: '\2190';
}
.task-through-right {
float: left;
}
#taskedit-date {
float: left;
}
#page_taskedit .form-row-short {
float: right;
margin-left: 12px;
margin-right: 0;
}
.task-prio {
float: right;
margin-left: 4px;
margin-right: 0;
}
.alltags-cell {
padding-left: 0;
padding-right: 5px;
}