本文整理汇总了PHP中Task::fetch方法的典型用法代码示例。如果您正苦于以下问题:PHP Task::fetch方法的具体用法?PHP Task::fetch怎么用?PHP Task::fetch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Task
的用法示例。
在下文中一共展示了Task::fetch方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: handleRequest
protected function handleRequest(array $request)
{
$listId = $request[self::FIELD_LIST_ID];
$title = $request[self::FIELD_TITLE];
$description = $request[self::FIELD_DESCRIPTION];
$beforeId = $request[self::FIELD_BEFORE_TASK_ID];
if (isset($request[self::FIELD_AFTER_LAST_OPEN])) {
if ($request[self::FIELD_AFTER_LAST_OPEN]) {
$beforeId = Task::findNextTaskIdAfterLastOpenTask($listId);
}
}
TasksList::lock($listId);
$ord = null;
if ($beforeId) {
$beforeTask = Task::fetch($beforeId);
if ($beforeTask->getListId() !== $listId) {
throw new Exception("Insertion point for a new task is in another list", EndPoint::STATUS_BAD_REQUEST);
}
$ord = $beforeTask->getOrd();
Task::shiftRight($listId, $ord);
} else {
$ord = Task::getNextOrd($listId);
}
$taskId = Task::create($listId, $ord, $title, $description);
return array(self::FIELD_TASK_ID => $taskId);
}
示例2: handleRequest
protected function handleRequest(array $request)
{
$taskId = $request[self::FIELD_TASK_ID];
$task = Task::fetch($taskId);
$listId = $task->getListId();
TasksList::lock($listId);
Task::erase($taskId);
Task::shiftLeft($listId, $task->getOrd());
}
示例3: getNumberRejectedTasks
static function getNumberRejectedTasks($userid)
{
$task = new Task();
$qry = 'select count(t.id) as number ' . 'from task t ' . 'where t.userid = ' . $userid . ' and t.status = -1';
$task->query($qry);
if ($task->fetch()) {
$number = $task->number;
}
return $number;
}
示例4: _updateTimeTask
function _updateTimeTask(&$db, $id_task, $fk_user, $ref_task, $duration, $progress, $desc, $label_task, $progress)
{
global $user;
$task = new Task($db);
$task->id = $id_task;
$task->ref = $ref_task;
$task->label = $label_task;
$task->duration_effective = $duration * 3600;
//duration est en heures dans le webservice et en secondes en bd
$task->progress = $progress;
$r = $task->fetch($id_task, $ref_task);
if ($r > 0) {
$task->addTimeSpent($user);
} else {
exit("taskCantBeFetched =>" . $ref_task);
}
}
示例5: visu_project_task
function visu_project_task(&$db, $fk_project_task, $mode, $name)
{
if (!$fk_project_task) {
return ' - ';
}
require_once DOL_DOCUMENT_ROOT . '/projet/class/task.class.php';
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php';
$projectTask = new Task($db);
$projectTask->fetch($fk_project_task);
$link = '<a href="' . DOL_URL_ROOT . '/projet/tasks/task.php?id=' . $fk_project_task . '">' . img_picto('', 'object_projecttask.png') . $projectTask->ref . '</a>';
if ($projectTask->progress == 0) {
$imgStatus = img_picto('En attente', 'statut0.png');
} elseif ($projectTask->progress < 100) {
$imgStatus = img_picto('En cours', 'statut3.png');
} else {
$imgStatus = img_picto('Terminée', 'statut4.png');
}
if ($mode == 'edit') {
$formother = new FormOther($db);
return $link . ' - ' . $formother->select_percent($projectTask->progress, $name) . ' ' . $imgStatus;
} else {
return $link . ' - ' . $projectTask->progress . ' % ' . $imgStatus;
}
}
示例6: handleRequest
protected function handleRequest(array $request)
{
$taskId = $request[self::FIELD_TASK_ID];
$dstListId = $request[self::FIELD_LIST_ID];
$beforeTaskId = $request[self::FIELD_BEFORE_TASK_ID];
if (isset($request[self::FIELD_AFTER_LAST_OPEN])) {
if ($request[self::FIELD_AFTER_LAST_OPEN]) {
$beforeTaskId = Task::findNextTaskIdAfterLastOpenTask($dstListId);
}
}
$task = Task::fetch($taskId);
$srcListId = $task->getListId();
if ($srcListId !== $dstListId) {
$srcList = TasksList::fetch($srcListId);
$dstList = TasksList::fetch($dstListId);
if ($srcList->getProjectId() !== $dstList->getProjectId()) {
throw new Exception("Insertion point for a task is in another project list", EndPoint::STATUS_BAD_REQUEST);
}
}
TasksList::lock($srcListId, $dstListId);
if ($beforeTaskId) {
Task::shiftLeft($srcListId, $task->getOrd());
if ($beforeTaskId === $taskId) {
throw new Exception("Can't move task before itself", EmdPoint::STATUS_BAD_REQUEST);
}
$beforeTask = Task::fetch($beforeTaskId);
if ($beforeTask->getListId() !== $dstListId) {
throw new Exception("Insertion point for a task is not in destination list", EndPoint::STATUS_BAD_REQUEST);
}
Task::shiftRight($dstListId, $beforeTask->getOrd());
Task::updateListAndOrd($taskId, $dstListId, $beforeTask->getOrd());
} else {
Task::shiftLeft($srcListId, $task->getOrd());
Task::updateListAndOrd($taskId, $dstListId, Task::getNextOrd($dstListId));
}
}
示例7: foreach
if ($id > 0) {
// We store HOURS in seconds
if ($matches[2] == 'hour') {
$timespent_duration[$id] += $time * 60 * 60;
}
// We store MINUTES in seconds
if ($matches[2] == 'min') {
$timespent_duration[$id] += $time * 60;
}
}
}
}
}
if (count($timespent_duration) > 0) {
foreach ($timespent_duration as $key => $val) {
$task->fetch($key);
$task->progress = GETPOST($key . 'progress', 'int');
$task->timespent_duration = $val;
$task->timespent_fk_user = $user->id;
$task->timespent_date = dol_mktime(12, 0, 0, $_POST["{$key}month"], $_POST["{$key}day"], $_POST["{$key}year"]);
$task->addTimeSpent($user);
}
setEventMessage($langs->trans("RecordSaved"));
// Redirect to avoid submit twice on back
header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $projectid . ($mode ? '&mode=' . $mode : ''));
exit;
} else {
setEventMessage($langs->trans("ErrorTimeSpentIsEmpty"), 'errors');
}
}
/*
示例8: Task
/**
* Function to build a document on disk using the generic odt module.
*
* @param Commande $object Object source to build document
* @param Translate $outputlangs Lang output object
* @param string $srctemplatepath Full path of source filename for generator using a template file
* @return int 1 if OK, <=0 if KO
*/
function write_file($object, $outputlangs, $srctemplatepath)
{
global $user, $langs, $conf, $mysoc, $hookmanager;
if (empty($srctemplatepath)) {
dol_syslog("doc_generic_odt::write_file parameter srctemplatepath empty", LOG_WARNING);
return -1;
}
if (!is_object($outputlangs)) {
$outputlangs = $langs;
}
$sav_charset_output = $outputlangs->charset_output;
$outputlangs->charset_output = 'UTF-8';
$outputlangs->load("main");
$outputlangs->load("dict");
$outputlangs->load("companies");
$outputlangs->load("projects");
if ($conf->projet->dir_output) {
// If $object is id instead of object
if (!is_object($object)) {
$id = $object;
$object = new Task($this->db);
$result = $object->fetch($id);
if ($result < 0) {
dol_print_error($this->db, $object->error);
return -1;
}
}
$project = new Project($this->db);
$project->fetch($object->fk_project);
$dir = $conf->projet->dir_output . "/" . $project->ref . "/";
$objectref = dol_sanitizeFileName($object->ref);
if (!preg_match('/specimen/i', $objectref)) {
$dir .= "/" . $objectref;
}
$file = $dir . "/" . $objectref . ".odt";
if (!file_exists($dir)) {
print '$dir' . $dir;
if (dol_mkdir($dir) < 0) {
$this->error = $langs->transnoentities("ErrorCanNotCreateDir", $dir);
return -1;
}
}
if (file_exists($dir)) {
//print "srctemplatepath=".$srctemplatepath; // Src filename
$newfile = basename($srctemplatepath);
$newfiletmp = preg_replace('/\\.(ods|odt)/i', '', $newfile);
$newfiletmp = preg_replace('/template_/i', '', $newfiletmp);
$newfiletmp = preg_replace('/modele_/i', '', $newfiletmp);
$newfiletmp = $objectref . '_' . $newfiletmp;
//$file=$dir.'/'.$newfiletmp.'.'.dol_print_date(dol_now(),'%Y%m%d%H%M%S').'.odt';
$file = $dir . '/' . $newfiletmp . '.odt';
//print "newdir=".$dir;
//print "newfile=".$newfile;
//print "file=".$file;
//print "conf->societe->dir_temp=".$conf->societe->dir_temp;
dol_mkdir($conf->projet->dir_temp);
$socobject = $object->thirdparty;
// Make substitution
$substitutionarray = array('__FROM_NAME__' => $this->emetteur->name, '__FROM_EMAIL__' => $this->emetteur->email);
complete_substitutions_array($substitutionarray, $langs, $object);
// Open and load template
require_once ODTPHP_PATH . 'odf.php';
try {
$odfHandler = new odf($srctemplatepath, array('PATH_TO_TMP' => $conf->projet->dir_temp, 'ZIP_PROXY' => 'PclZipProxy', 'DELIMITER_LEFT' => '{', 'DELIMITER_RIGHT' => '}'));
} catch (Exception $e) {
$this->error = $e->getMessage();
return -1;
}
// After construction $odfHandler->contentXml contains content and
// [!-- BEGIN row.lines --]*[!-- END row.lines --] has been replaced by
// [!-- BEGIN lines --]*[!-- END lines --]
//print html_entity_decode($odfHandler->__toString());
//print exit;
// Make substitutions into odt of user info
$array_user = $this->get_substitutionarray_user($user, $outputlangs);
$array_soc = $this->get_substitutionarray_mysoc($mysoc, $outputlangs);
$array_thirdparty = $this->get_substitutionarray_thirdparty($socobject, $outputlangs);
$array_objet = $this->get_substitutionarray_object($project, $outputlangs);
$array_other = $this->get_substitutionarray_other($outputlangs);
$tmparray = array_merge($array_user, $array_soc, $array_thirdparty, $array_objet, $array_other);
complete_substitutions_array($tmparray, $outputlangs, $object);
foreach ($tmparray as $key => $value) {
try {
if (preg_match('/logo$/', $key)) {
if (file_exists($value)) {
$odfHandler->setImage($key, $value);
} else {
$odfHandler->setVars($key, 'ErrorFileNotFound', true, 'UTF-8');
}
} else {
$odfHandler->setVars($key, $value, true, 'UTF-8');
}
//.........这里部分代码省略.........
示例9: Project
$project=new Project($db);
llxHeader("",$langs->trans("Task"));
$html = new Form($db);
if ($_GET["id"] > 0)
{
/*
* Fiche projet en mode visu
*/
$task = new Task($db);
$projectstatic = new Project($db);
$userstatic = new User($db);
if ($task->fetch($_GET["id"]) >= 0 )
{
$result=$projectstatic->fetch($task->fk_project);
if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);
// To get role of users
//$userAccess = $projectstatic->restrictedProjectArea($user); // We allow task affected to user even if a not allowed project
//$arrayofuseridoftask=$task->getListContactId('internal');
$head=task_prepare_head($task);
dol_fiche_head($head, 'time', $langs->trans("Task"),0,'projecttask');
if ($mesg) print $mesg.'<br>';
if ($_GET["action"] == 'deleteline')
示例10: Task
$object = new Task($db);
$extrafields = new ExtraFields($db);
$projectstatic = new Project($db);
// fetch optionals attributes and labels
$extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
/*
* Actions
*/
if ($action == 'update' && !$_POST["cancel"] && $user->rights->projet->creer) {
$error = 0;
if (empty($_POST["label"])) {
$error++;
setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentities("Label")), 'errors');
}
if (!$error) {
$object->fetch($id, $ref);
$tmparray = explode('_', $_POST['task_parent']);
$task_parent = $tmparray[1];
if (empty($task_parent)) {
$task_parent = 0;
}
// If task_parent is ''
$object->label = $_POST["label"];
$object->description = $_POST['description'];
$object->fk_task_parent = $task_parent;
$object->planned_workload = $planned_workload;
$object->date_start = dol_mktime($_POST['dateohour'], $_POST['dateomin'], 0, $_POST['dateomonth'], $_POST['dateoday'], $_POST['dateoyear'], 'user');
$object->date_end = dol_mktime($_POST['dateehour'], $_POST['dateemin'], 0, $_POST['dateemonth'], $_POST['dateeday'], $_POST['dateeyear'], 'user');
$object->progress = $_POST['progress'];
// Fill array 'array_options' with data from add form
$ret = $extrafields->setOptionalsFromPost($extralabels, $object);
示例11: shiftTaskDate
/**
* Shift project task date from current date to delta
*
* @param timestamp $old_project_dt_start old project start date
* @return int 1 if OK or < 0 if KO
*/
function shiftTaskDate($old_project_dt_start)
{
global $user, $langs, $conf;
$error = 0;
$taskstatic = new Task($this->db);
// Security check
$socid = 0;
if ($user->societe_id > 0) {
$socid = $user->societe_id;
}
$tasksarray = $taskstatic->getTasksArray(0, 0, $this->id, $socid, 0);
foreach ($tasksarray as $tasktoshiftdate) {
$to_update = false;
// Fetch only if update of date will be made
if (!empty($tasktoshiftdate->date_start) || !empty($tasktoshiftdate->date_end)) {
//dol_syslog(get_class($this)."::shiftTaskDate to_update", LOG_DEBUG);
$to_update = true;
$task = new Task($this->db);
$result = $task->fetch($tasktoshiftdate->id);
if (!$result) {
$error++;
$this->error .= $task->error;
}
}
//print "$this->date_start + $tasktoshiftdate->date_start - $old_project_dt_start";exit;
//Calcultate new task start date with difference between old proj start date and origin task start date
if (!empty($tasktoshiftdate->date_start)) {
$task->date_start = $this->date_start + ($tasktoshiftdate->date_start - $old_project_dt_start);
}
//Calcultate new task end date with difference between origin proj end date and origin task end date
if (!empty($tasktoshiftdate->date_end)) {
$task->date_end = $this->date_start + ($tasktoshiftdate->date_end - $old_project_dt_start);
}
if ($to_update) {
$result = $task->update($user);
if (!$result) {
$error++;
$this->error .= $task->error;
}
}
}
if ($error != 0) {
return -1;
}
return $result;
}
示例12: Form
/*
* View
*/
llxHeader("",$langs->trans("Task"));
$html = new Form($db);
$formother = new FormOther($db);
$project = new Project($db);
if ($taskid)
{
$task = new Task($db);
$projectstatic = new Project($db);
if ($task->fetch($taskid) >= 0 )
{
$result=$projectstatic->fetch($task->fk_project);
if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);
// To verify role of users
//$userAccess = $projectstatic->restrictedProjectArea($user); // We allow task affected to user even if a not allowed project
//$arrayofuseridoftask=$task->getListContactId('internal');
if ($mesg) print $mesg;
$head=task_prepare_head($task);
dol_fiche_head($head, 'task', $langs->trans("Task"),0,'projecttask');
if ($_GET["action"] == 'edit' && $user->rights->projet->creer)
示例13:
if(preg_match("/([0-9]+)(hour|min)/",$key,$matches))
{
$id = $matches[1];
// We store HOURS in seconds
if($matches[2]=='hour') $timespent_duration += $time*60*60;
// We store MINUTES in seconds
if($matches[2]=='min') $timespent_duration += $time*60;
}
}
}
if ($timespent_duration > 0)
{
$task->fetch($id);
$task->timespent_duration = $timespent_duration;
$task->timespent_fk_user = $user->id;
$task->timespent_date = dol_mktime(12,0,0,$_POST["{$id}month"],$_POST["{$id}day"],$_POST["{$id}year"]);
$task->addTimeSpent($user);
}
else
{
$mesg='<div class="error">'.$langs->trans("ErrorTimeSpentIsEmpty").'</div>';
}
}
/*
* View
*/
示例14: formObjectOptions
/** Overloading the doActions function : replacing the parent's function with the one below
* @param parameters meta datas of the hook (context, etc...)
* @param object the object you want to process (an invoice if you are in invoice module, a propale in propale's module, etc...)
* @param action current action (if set). Generally create or edit or null
* @return void
*/
function formObjectOptions($parameters, &$object, &$action, $hookmanager)
{
global $langs, $db, $conf;
if ((in_array('ordercard', explode(':', $parameters['context'])) || in_array('propalcard', explode(':', $parameters['context']))) && !empty($conf->of->enabled) && !empty($object->id)) {
?>
<tr>
<td>Fin de production prévisionnelle</td>
<td rel="date_fin_prod">
<?php
$is_commande = in_array('ordercard', explode(':', $parameters['context']));
if ($is_commande) {
$res = $db->query("SELECT rowid FROM " . MAIN_DB_PREFIX . "assetOf \n\t \t\tWHERE fk_commande = " . $object->id . " AND status IN ('VALID','OPEN','CLOSE')");
$TOfId = array();
while ($obj = $db->fetch_object($res)) {
$TOfId[] = $obj->rowid;
}
if (!empty($TOfId)) {
// l'of existe déjà et est valide
$res = $db->query("SELECT MAX(date_estimated_end) as date_estimated_end \n\t\t\t\t\t\t\tFROM " . MAIN_DB_PREFIX . "projet_task t \n\t\t\t\t\t\t\tLEFT JOIN " . MAIN_DB_PREFIX . "projet_task_extrafields tex ON (tex.fk_object=t.rowid)\n\t\t\t\t\t\t\t\tWHERE tex.fk_of IN (" . implode(',', $TOfId) . ")");
if ($obj = $db->fetch_object($res)) {
$t = strtotime($obj->date_estimated_end);
print dol_print_date($t, 'day') . img_info('Temps actuel présent dans l\'ordonnancement. Attention, peut-être revu à tout moment');
} else {
print 'Pas de tâche ordonnancée ou restant à ordonnancer';
}
} else {
print '<a href="javascript:simulOrdo(' . $object->id . ')">Simuler l\'ordonnancement</a>';
}
} else {
print '<a href="javascript:simulOrdo(' . $object->id . ')">Simuler l\'ordonnancement</a>';
}
?>
<script type="text/javascript">
function simulOrdo(fk_object) {
$('td[rel="date_fin_prod"]').html("Patientez svp...");
$.ajax({
url:"<?php
echo dol_buildpath('/scrumboard/script/interface.php', 1);
?>
"
,data:{
get:'task-ordo-simulation'
,fk_object: fk_object
,type_object : "<?php
echo $is_commande ? 'order' : 'propal';
?>
"
}
}).done(function(data) {
$('td[rel="date_fin_prod"]').html(data+'<?php
echo addslashes(img_info('Temps calculé sur base automatique avec un lancement immédiat. Ne peut être qu\'indicatif. Non contractuel'));
?>
');
});
}
</script>
</td>
</tr>
<?php
} else {
if (in_array('projectcard', explode(':', $parameters['context']))) {
if ($object->id > 0) {
?>
<tr>
<td>Fin de production prévisionnelle</td>
<td rel="date_fin_prod">
<?php
$res = $db->query("SELECT MAX(date_estimated_end) as date_estimated_end \n\t\t\t\t\tFROM " . MAIN_DB_PREFIX . "projet_task t \n\t\t\t\t\tLEFT JOIN " . MAIN_DB_PREFIX . "projet_task_extrafields tex ON (tex.fk_object=t.rowid)\n\t\t\t\t\t\tWHERE t.fk_projet = " . $object->id);
if ($obj = $db->fetch_object($res)) {
$t = strtotime($obj->date_estimated_end);
if ($t != '-62169987208') {
print dol_print_date($t, 'day') . img_info('Temps actuel présent dans l\'ordonnancement. Attention, peut-être revu à tout moment');
} else {
print 'Pas de tâche ordonnancée';
}
} else {
print 'Pas de tâche ordonnancée';
}
?>
</td></tr>
<?php
}
} else {
if (in_array('actioncard', explode(':', $parameters['context']))) {
$fk_task = 0;
if ($action != 'create') {
$object->fetchObjectLinked();
//var_dump($object->linkedObjectsIds['task']);
if (!empty($object->linkedObjectsIds['task'])) {
list($key, $fk_task) = each($object->linkedObjectsIds['task']);
//.........这里部分代码省略.........
示例15: _tasks_ordo
function _tasks_ordo(&$db, &$TWorkstation, $status, $fk_workstation = 0)
{
global $conf;
$sql = "SELECT t.rowid,t.label,t.ref,t.fk_task_parent,t.fk_projet, t.grid_col,t.grid_row,ex.fk_workstation,ex.needed_ressource\n ,t.planned_workload,t.progress,t.datee,t.dateo,p.fk_soc,t.date_estimated_end";
if (!empty($conf->asset->enabled)) {
$sql .= ',ex.fk_product';
}
// SCRUM_GROUP_TASK_BY_RAL est la conf qui crée les 2 extrafields au dessous
if (!empty($conf->global->SCRUM_GROUP_TASK_BY_RAL)) {
$sql .= ",ex.fk_product_ral";
}
$sql .= " FROM " . MAIN_DB_PREFIX . "projet_task t \n LEFT JOIN " . MAIN_DB_PREFIX . "projet p ON (t.fk_projet=p.rowid)\n LEFT JOIN " . MAIN_DB_PREFIX . "projet_task_extrafields ex ON (t.rowid=ex.fk_object) ";
if ($status == 'ideas') {
$sql .= " WHERE t.progress=0 AND t.datee IS NULL";
} else {
if ($status == 'todo') {
$sql .= " WHERE t.progress=0";
} else {
if ($status == 'inprogress|todo') {
$sql .= " WHERE t.progress>=0 AND t.progress<100 AND t.planned_workload>0";
} else {
if ($status == 'inprogress') {
$sql .= " WHERE t.progress>0 AND t.progress<100";
} else {
if ($status == 'finish') {
$sql .= " WHERE t.progress=100\n ";
}
}
}
}
}
$sql .= " AND p.fk_statut IN (0,1)";
if ($fk_workstation > 0) {
$sql .= " AND ex.fk_workstation=" . (int) $fk_workstation;
}
if (empty($conf->global->SCRUM_ALLOW_ALL_TASK_IN_GRID)) {
$sql .= " AND ex.grid_use=1 ";
}
$sql .= " ORDER BY t.grid_row, t.grid_col ";
$res = $db->query($sql);
$TTask = array();
while ($obj = $db->fetch_object($res)) {
$fk_workstation = (int) $obj->fk_workstation;
if (!isset($TWorkstation[$fk_workstation])) {
continue;
}
$workstation = $TWorkstation[$fk_workstation];
$TUser = array();
if (!empty($workstation['TUser'])) {
foreach ($workstation['TUser'] as $idUser => $user) {
$TUser[$idUser] = array('name' => $user->firstname . ' ' . $user->lastname, 'selected' => 0);
}
$task = new Task($db);
$task->fetch($obj->rowid);
$TIdContact = $task->getListContactId('internal');
foreach ($TIdContact as $idContact) {
$TUser[$idContact]['selected'] = 1;
}
}
$TTask[] = array('status' => $status, 'id' => $obj->rowid, 'fk_projet' => $obj->fk_projet, 'label' => $obj->label, 'ref' => $obj->ref, 'grid_col' => $obj->grid_col, 'grid_row' => $obj->grid_row, 'fk_workstation' => $fk_workstation, 'fk_product' => (int) $obj->fk_product, 'fk_product_ral' => empty($conf->global->SCRUM_GROUP_TASK_BY_RAL) ? 0 : (int) $obj->fk_product_ral, 'fk_task_parent' => (int) $obj->fk_task_parent, 'needed_ressource' => $obj->needed_ressource ? $obj->needed_ressource : 1, 'planned_workload' => $obj->planned_workload / 3600, 'progress' => $obj->progress, 'fk_soc' => $obj->fk_soc, 'TUser' => $TUser, 'date_start' => strtotime($obj->dateo), 'date_end' => strtotime($obj->datee), 'date_estimated_end' => strtotime($obj->date_estimated_end));
}
return $TTask;
}