Esempio n. 1
0
 /**
  * Return all open or all finished tasks of a given tasklist
  *
  * @param int $id Tasklist ID
  * @param int $status Status of the tasks (0 = finished, 1 = open)
  * @return array $tasks Details of the tasks
  */
 function getTasksFromList($id, $status = 1)
 {
     global $conn;
     $id = (int) $id;
     $status = (int) $status;
     $taskobj = new task();
     $sel = $conn->prepare("SELECT ID FROM tasks WHERE `liste` = ? AND `status` = ? ORDER BY `end`,`title` ASC");
     $sel->execute(array($id, $status));
     $tasks = array();
     while ($task = $sel->fetch()) {
         array_push($tasks, $taskobj->getTask($task["ID"]));
     }
     if (!empty($tasks)) {
         return $tasks;
     } else {
         return false;
     }
 }
Esempio n. 2
0
 function getProjectTrack($project, $user = 0, $task = 0, $start = 0, $end = 0, $lim = 50)
 {
     global $conn;
     $project = (int) $project;
     $user = (int) $user;
     $lim = (int) $lim;
     // make sure task is an array - this needs to be refactored
     if (!is_array($task)) {
         $task = array($task);
     }
     // make sure all the fields are ints
     for ($index = 0; $index < count($task); $index++) {
         $task[$index] = (int) $task[$index];
     }
     $task = join(',', $task);
     // $start = (int) $start; // those are strings, not numbers
     // $end = (int) $end; // those are strings, not numbers
     if ($user > 0) {
         $sql = "SELECT * FROM timetracker WHERE project = {$project} AND user = {$user}";
         $num = "SELECT COUNT(*) FROM timetracker WHERE project = {$project} AND user = {$user}";
         $order = " ORDER BY ended ASC";
     } else {
         $sql = "SELECT * FROM timetracker WHERE project = {$project}";
         $num = "SELECT COUNT(*) FROM timetracker WHERE project = {$project}";
         $order = " ORDER BY ended ASC";
     }
     if ($task > 0) {
         $sql .= " AND task in ({$task})";
         $num .= " AND task in ({$task})";
     }
     if ($start > 0 and $end > 0) {
         $start = strtotime($start);
         $end = strtotime($end . " +1 day");
         $end = $end - 1;
         $sql .= " AND ended >={$start} AND ended<={$end} ";
         $num .= " AND ended >={$start} AND ended<={$end} ";
     }
     if ($num) {
         $num = $conn->query($num)->fetch();
         $num = $num[0];
     } else {
         $num = 0;
     }
     $sql = $sql . $order;
     // needs to be refactored
     if ($lim > 0) {
         SmartyPaginate::connect();
         SmartyPaginate::setLimit($lim);
         SmartyPaginate::setTotal($num);
         $start = SmartyPaginate::getCurrentIndex();
         $lim = SmartyPaginate::getLimit();
         $limi = " LIMIT {$start},{$lim} ";
         $sql = $sql . $limi;
     }
     $sel = $conn->query($sql);
     $track = array();
     $ttask = new task();
     if (isset($sel)) {
         while ($data = @$sel->fetch()) {
             $endstring = date("H:i", $data["ended"]);
             $startstring = date("H:i", $data["started"]);
             $daystring = date(CL_DATEFORMAT, $data["ended"]);
             $tasks = $ttask->getTask($data["task"]);
             if (!empty($tasks)) {
                 $tasks = $tasks["title"];
                 $data["tname"] = $tasks;
             }
             $pname = $conn->query("SELECT name FROM projekte WHERE ID = {$data['project']}")->fetch();
             $pname = stripslashes($pname[0]);
             $uname = $conn->query("SELECT name FROM user WHERE ID = {$data['user']}")->fetch();
             $uname = stripslashes($uname[0]);
             $data["endstring"] = $endstring;
             $data["startstring"] = $startstring;
             $data["daystring"] = $daystring;
             $data["uname"] = $uname;
             $data["pname"] = $pname;
             $data["comment"] = stripslashes($data["comment"]);
             $data["comment"] = nl2br($data["comment"]);
             array_push($track, $data);
         }
     }
     if (!empty($track)) {
         return $track;
     } else {
         return false;
     }
 }
Esempio n. 3
0
     $template->display("error.tpl");
     die;
 }
 if (!chkproject($userid, $id)) {
     $errtxt = $langfile["notyourproject"];
     $noperm = $langfile["accessdenied"];
     $template->assign("errortext", "{$errtxt}<br>{$noperm}");
     $template->display("error.tpl");
     die;
 }
 $myproject = new project();
 $pro = $myproject->getProject($id);
 $projectname = $pro["name"];
 $title = $langfile['task'];
 $mytask = new task();
 $task = $mytask->getTask($tid);
 $members = $myproject->getProjectMembers($id, $myproject->countMembers($id));
 $tasklist = new tasklist();
 $tasklists = $tasklist->getProjectTasklists($id);
 $tl = $tasklist->getTasklist($task['liste']);
 $task['listid'] = $tl['ID'];
 $task['listname'] = $tl['name'];
 $tmp = $mytask->getUsers($task['ID']);
 if ($tmp) {
     foreach ($tmp as $value) {
         $task['users'][] = $value[0];
     }
 }
 $user = $mytask->getUser($task['ID']);
 $task['username'] = $user[1];
 $task['userid'] = $user[0];
Esempio n. 4
0
     $template->assign("errortext", "Permission denied.");
     $template->assign("mode", "error");
     $template->display("error.tpl");
     die;
 }
 // create task and user instance
 $task = new task();
 $user = new user();
 // get track to edit
 $track = $tracker->getTrack($tid);
 // get username
 $member = $user->getProfile($track["user"]);
 $track["username"] = $member["name"];
 if ($track["task"] != 0) {
     // get task
     $thetask = $task->getTask($track["task"]);
     if (empty($thetask["title"])) {
         $taskname = substr($thetask["text"], 0, 30);
     } else {
         $taskname = substr($thetask["title"], 0, 30);
     }
     $track["taskname"] = $taskname;
 }
 $template->assign("track", $track);
 $newtasks = $task->getProjectTasks($id);
 $oldtasks = $task->getProjectTasks($id, false);
 if ($newtasks and $oldtasks) {
     $tasks = array_merge($newtasks, $oldtasks);
 } else {
     $tasks = $newtasks;
 }
Esempio n. 5
0
 /**
  * Return all open or all finished tasks of a given tasklist
  *
  * @param int $id Tasklist ID
  * @param int $status Status of the tasks (0 = finished, 1 = open)
  * @return array $tasks Details of the tasks
  */
 function getTasksFromList($id, $status = 1)
 {
     $id = (int) $id;
     $status = (int) $status;
     $taskobj = new task();
     $sel = mysql_query("SELECT ID FROM tasks WHERE `liste` = {$id} AND `status` = {$status} ORDER BY ID DESC");
     $tasks = array();
     while ($task = mysql_fetch_array($sel)) {
         array_push($tasks, $taskobj->getTask($task["ID"]));
     }
     if (!empty($tasks)) {
         return $tasks;
     } else {
         return false;
     }
 }
    function getProjectTrack($project, $user = 0, $task = 0, $start = 0, $end = 0, $lim = 50)
    {
        $start = mysql_real_escape_string($start);
        $end = mysql_real_escape_string($end);
        $project = (int) $project;
        $user = (int) $user;
        $lim = (int) $lim;

        if ($user > 0)
        {
            $sql = "SELECT * FROM timetracker WHERE project = $project AND user = $user";
            $num = "SELECT COUNT(*) FROM timetracker WHERE project = $project AND user = $user";
            $order = " ORDER BY ended ASC";
        }
        else
        {
            $sql = "SELECT * FROM timetracker WHERE project = $project";
            $num = "SELECT COUNT(*) FROM timetracker WHERE project = $project";
            $order = " ORDER BY ended ASC";
        }

        if ($task > 0)
        {
            $sql .= " AND task = $task";
            $num .= " AND task = $task";
        }

        if ($start > 0 and $end > 0)
        {
            $start = strtotime($start);
            $end = strtotime($end . " +1 day");
            $end = $end - 1;
            $sql .= " AND ended >=$start AND ended<=$end ";
            $num .= " AND ended >=$start AND ended<=$end ";
        }

        if ($num)
        {
            $num = mysql_fetch_row(mysql_query($num));
            $num = $num[0];
        }
        else
        {
            $num = 0;
        }

        $sql = $sql . $order;
        SmartyPaginate::connect();
        SmartyPaginate::setLimit($lim);
        SmartyPaginate::setTotal($num);

        $start = SmartyPaginate::getCurrentIndex();
        $lim = SmartyPaginate::getLimit();

        $limi = " LIMIT $start,$lim ";
        $sql = $sql . $limi;

        $sel = mysql_query($sql);

        $track = array();
        $ttask = new task();

        if (isset($sel))
        {
            while ($data = @mysql_fetch_array($sel))
            {
                $endstring = date("H:i", $data["ended"]);
                $startstring = date("H:i", $data["started"]);
                $daystring = date("d.m.y", $data["ended"]);
                $tasks = $ttask->getTask($data["task"]);

                if (!empty($tasks))
                {
                    $tasks = $tasks["title"];
                    $data["tname"] = $tasks;
                }

                $pname = mysql_query("SELECT name FROM projekte WHERE ID = $data[project]");
                $pname = mysql_fetch_row($pname);
                $pname = stripslashes($pname[0]);

                $uname = mysql_query("SELECT name FROM user WHERE ID = $data[user]");
                $uname = mysql_fetch_row($uname);
                $uname = stripslashes($uname[0]);

                $data["endstring"] = $endstring;
                $data["startstring"] = $startstring;
                $data["daystring"] = $daystring;
                $data["uname"] = $uname;
                $data["pname"] = $pname;
                $data["comment"] = stripslashes($data["comment"]);
                $data["comment"] = nl2br($data["comment"]);
                array_push($track, $data);
            }
        }

        if (!empty($track))
        {
            return $track;
        }
        else
        {
            return false;
        }
    }