Esempio n. 1
0
    // stop job
    $jobInst->fill(tool::securePostAll());
    $jobInst->id = tool::securePost('id');
    $jobInst->taskId = $taskInst->id;
    $jobInst->start = $toolInst->timestampToSec(tool::securePost('startyear'), tool::securePost('startmonth'), tool::securePost('startday'), tool::securePost('starthour'), tool::securePost('startmin'));
    $jobInst->stop = $toolInst->timestampToSec(tool::securePost('stopyear'), tool::securePost('stopmonth'), tool::securePost('stopday'), tool::securePost('stophour'), tool::securePost('stopmin'));
    $saveflags = 0;
    // handle job flags
    if (tool::securePost('privatejob') == "1") {
        $saveflags += JOB_FLAG_PRIVATE;
    }
    $jobInst->flags = $saveflags;
    $jobInst->stop();
    if (tool::securePost('taskdone') == "1") {
        $taskInst->stop();
        $taskInst->update();
    }
} elseif (tool::securePost('action') == "save") {
    // start job
    $jobInst->fill(tool::securePostAll());
    $jobInst->taskId = $taskInst->id;
    $jobInst->start = $toolInst->timestampToSec(tool::securePost('startyear'), tool::securePost('startmonth'), tool::securePost('startday'), tool::securePost('starthour'), tool::securePost('startmin'));
    $saveflags = 0;
    // handle job flags
    if (tool::securePost('privatejob') == "1") {
        $saveflags += JOB_FLAG_PRIVATE;
    }
    $jobInst->flags = $saveflags;
    $jobId = $jobInst->start();
    $jobInst->activate($jobId);
} elseif (tool::securePost('action') == "deleteattach") {
Esempio n. 2
0
 function start()
 {
     global $dbInst, $loginInst, $toolInst;
     if (!$loginInst->hasAccess("job.start")) {
         return false;
     }
     if (!$this->check()) {
         return false;
     }
     if (isset($this->id)) {
         $otherTask = $dbInst->getValue("select task_id from " . $dbInst->config['table_job'] . " where id != '" . $this->id . "' and user_id = '{$loginInst->id}' and stop = '0'");
         if ($otherTask) {
             $taskInst = new task($otherTask);
             $toolInst->errorStatus("theres allready a running job in "" . substr($taskInst->subject, 0, 20) . "..."");
             return false;
         }
     }
     // set task to "in progress"
     $taskInst = new task($this->taskId);
     $taskInst->start();
     $taskInst->update();
     $query = "insert into " . $dbInst->config['table_job'] . " " . "(task_id,user_id,comment,start,stop,flags) " . "values (" . "'" . $this->taskId . "'," . "'" . $loginInst->id . "'," . "'" . $this->comment . "'," . "'" . $this->start . "'," . "'0'," . "'" . $this->flags . "')";
     $result = $dbInst->query($query);
     $id = $dbInst->getValue("select distinct last_insert_id() from " . $dbInst->config['table_job']);
     $dbInst->status($result[1], "i");
     if ($result[1] == 1 || $result[1] == 0) {
         return $id;
     } else {
         return false;
     }
 }
Esempio n. 3
0
 /**
  * boolean update()
  * updates a task in database
  * @return true on success, else false
  * @access public
  */
 function update()
 {
     global $dbInst, $config, $toolInst, $loginInst;
     if (!$loginInst->hasAccess("task.update")) {
         return false;
     }
     if (!$this->check()) {
         return false;
     }
     if ($this->id == $this->mountId) {
         $toolInst->errorStatus("recursion error: unable to mount task into itself");
         return false;
     }
     if (in_array($this->id, $this->treeId($this->mountId))) {
         $toolInst->errorStatus("recursion error: unable to mount task into one of its members");
         return false;
     }
     $query = "update " . $dbInst->config['table_task'] . " set " . "finish = '" . $this->finish . "'," . "plannedhours = '" . $this->plannedHours . "',";
     if ($loginInst->hasAccess("task.fixedPrice")) {
         $query .= "fixedprice = '" . str_replace(',', '.', $this->fixedPrice) . "',";
     }
     $query .= "body = '" . $this->body . "'," . "type_id = '" . $this->typeId . "'," . "user_id = '" . $this->userId . "'," . "subject = '" . $this->subject . "'," . "mount_id = '" . $this->mountId . "'," . "status_id = '" . $this->statusId . "'," . "poster_id = '" . $this->posterId . "'," . "project_id = '" . $this->projectId . "'," . "priority_id = '" . $this->priorityId . "' where id = '" . $this->id . "'";
     $result = $dbInst->query($query);
     $dbInst->status($result[1], "u");
     if ($result[1] == 1 || $result[1] == 0) {
         // notification mail to manager, if task set to done
         if ($result[1] == 1 && $this->isDone()) {
             $projectInst = new project($this->projectId);
             $this->mail($projectInst->managerId, " --== TASK DONE ==--\n\nused time: " . $toolInst->formatTime($this->getSummary()));
         }
         // logging
         $userInst = new user($this->userId);
         $this->logger->info("changed task (" . $this->subject . ") for " . $userInst->name);
         if (tool::secureFiles('userfile', 'name') && @file_exists(tool::secureFiles('userfile', 'tmp_name'))) {
             // attachment successfully uploaded, we can save it
             $attach = new attachment();
             $attach->taskId = $this->id;
             $attach->insert();
             $this->logger->info("added attachment (" . $this->file . ") to task " . $this->subject);
             unset($_FILES['userfile']);
         }
         // process all childs
         $childs = $this->childs();
         while ($element = current($childs)) {
             $child = new task($element);
             // we need to update the project id in all child tasks
             $child->projectId = $this->projectId;
             // task is set to status "done", we should start all child tasks now
             if ($this->isDone()) {
                 $child->start();
                 $child->mail($child->userId, "There's an automatically started task for you:");
             }
             $child->update();
             next($childs);
         }
         return true;
     }
     return false;
 }
Esempio n. 4
0
<?php 
$taskInst = new task();
// set default search values (only, if no submit was pressed)
if (!tool::securePost('action')) {
    $taskInst->filterStatusId = TASK_STATUS_DONE;
    $taskInst->filterInvertStatus = 1;
}
#######################################################################
## perform action
$recordType = "new";
$action = tool::securePost('action');
if ($action == "update") {
    $taskInst->id = tool::securePost('id');
    $taskInst->fill(tool::securePostAll());
    if ($taskInst->update()) {
        $taskInst->clear();
        $recordType = "new";
    } else {
        $recordType = "edit";
    }
}
if ($action == "new") {
    $taskInst->fill(tool::securePostAll());
    if ($taskInst->insert()) {
        $taskInst->clear();
    }
}
if ($action == "search") {
    if (tool::securePost('lastrecordtype')) {
        $recordType = tool::securePost('lastrecordtype');