function fillCustomers($tmp_src, $table, $json, $userdetails, $tmp_src_subitems=0) { $block_no = new Template($this->viewroot, $tmp_src->returnloop('block_no')); $block_no=$block_no->output(); $block_norows = new Template($this->viewroot, $tmp_src->returnloop('block_norows')); $block_norows=$block_norows->output(); $checkbox_th = new Template($this->viewroot, $tmp_src->returnloop('checkbox_th')); $checkbox_td = new Template($this->viewroot, $tmp_src->returnloop('checkbox_td')); $loop_table_row = new Template($this->viewroot, $tmp_src->returnloop('loop_table_row')); $block_dir = array(); $block_dir[0] = new Template($this->viewroot, $tmp_src->returnloop('block_dir0')); $block_dir[1] = new Template($this->viewroot, $tmp_src->returnloop('block_dir1')); $block_dir[0] = $block_dir[0]->output(); $block_dir[1] = $block_dir[1]->output(); $loopdata = ""; $loopdata.=$checkbox_th->output(); $cols = array(); $cols[] = 'ID'; $cols[] = 'Date'; $cols[] = 'Phone'; $cols[] = 'Market'; $cols[] = 'DesiredRooms'; $cols[] = 'HouseTypes'; $cols[] = 'Districts'; $cols[] = 'User'; $cols[] = 'MaxCost'; $cols[] = 'Firstname'; $cols[] = 'Surname'; $districts = $this->model->getList('districts'); $housetypes = $this->model->getList('housetypes'); $desiredrooms = $this->model->getList('desiredrooms'); $emptyinfo = file_get_contents($this->viewroot.'/templates/emptyinfo.htt'); $c = 0; // ajax_echo_r ($json); // ajax_echo_r ($table[1]); $thistable = ""; if (sizeof($table)) { $thisidcolumnname = $json->tablename."_ID"; // echo $thisidcolumnname."<br>"; foreach ($table as $item) { $loop_table_row->reload(); $thisrow = ""; $checkbox_td->reload(); $checkbox_td->fill('%checked%' , 'checked' ); $checkbox_td->fill('%id%' , $item->$thisidcolumnname ); $thisrow.=$checkbox_td->output(); $loop_table_row->fill( "%ID%", $item->ID); $loop_table_row->fill( "%calldiretion%", $block_dir[$item->DirectionID]); $item->Districts = ""; $ids = explode(";",$item->DistrictIDs); foreach ($ids as $id_itm) { if ($id_itm) { $id = substr($id_itm, strpos($id_itm, "_")+1); if ($item->Districts) $item->Districts .= ", "; $item->Districts .= $districts[$id]->Description; } } $item->HouseTypes = ""; $ids = explode(";",$item->HouseTypeIDs); foreach ($ids as $id_itm) { if ($id_itm) { $id = substr($id_itm, strpos($id_itm, "_")+1); if ($id) { if ($item->HouseTypes) $item->HouseTypes .= ", "; $item->HouseTypes .= $housetypes[$id]->Description; } } } $item->DesiredRooms = ""; $ids = explode(";",$item->DesiredRoomsIDs); foreach ($ids as $id_itm) { if ($id_itm) { $id = substr($id_itm, strpos($id_itm, "_")+1); if ($item->DesiredRooms) $item->DesiredRooms .= ", "; $item->DesiredRooms .= $desiredrooms[$id]->Description; } } foreach ($cols as $cv) { $k=$cv; $v = $item->$k; if ($k && ($k!='CustomerID')) { if ($k==$json->tablename."_AuxInfo") { if (trim($v)=="") $v=$emptyinfo; } switch ($cv) { case ('MaxCost'): $loop_table_row->fill( "%".$k."%", formatCost($v)); break; default: $loop_table_row->fill( "%".$k."%", (((int)$v==0) && ((string)(int)$v==$v) && ($k!='Cost'))?$block_no:($v)); break; } } } $loop_table_row->fillloop('loop_table_cell',$thisrow); // $loop_table_row->fill("%c%", ($c%2) + ((date_timestamp_get(date_create($item->DateTarget))<date_timestamp_get(date_create()) )?0:2) ); $loop_table_row->fill("%c%", $c%2); // echo (date_timestamp_get(date_create($item->DateTarget))."-".date_timestamp_get(date_create())."<br>"); if ($tmp_src_subitems) { if ($json->r_viewmode=='objects') { $objects = $this->fillCustomers(clone $tmp_src_subitems, $item->subitems, $json, $userdetails); } else { $objects = $this->fillObjects (clone $tmp_src_subitems, $item->subitems, $json, $userdetails); } $loop_table_row->fill("%objects%", $objects->output()); } $loop_table_row->fill("%id%" , $item->ID ); $loop_table_row->fill("%tablename%" , $json->tablename ); $thistable.=$loop_table_row->output(); $c++; } } else { /* $thisrow = ""; $thisrow.=$block_norows; $loop_table_row->fillloop('loop_table_cell',$thisrow); $loop_table_row->fill("%c%", $c%2); $thistable.=$loop_table_row->output(); */ $tmp_src->fillloop('loop_table', $block_norows); } $tmp_src->removeloop('loop_table'); $tmp_src->fillloop('loop_table_row',$thistable); $tmp_src->fillloop( "block_no","" ); $tmp_src->fillloop( "block_norows","" ); $tmp_src->fillloop( "block_dir0","" ); $tmp_src->fillloop( "block_dir1","" ); $tmp_src->fill("%numrows%",sizeof($table[1])); return $tmp_src; }
function getProjectSteps($json, $htt='editor_projects.htt') { $loop = ""; $usergroup = $this->userdetails->usergroup; // ajax_echo_r ($usergroup); $json->IsFull = $this->getIsFull(); // ajax_echo_r ($json); if ($json->ID) $json->ProjectID = $json->ID; if ((!$json->DateMeasure) || (!$json->DateInstall)) { $project = $this->model->getProject($json->ProjectID); $json->DateMeasure = $project->DateMeasure; $json->DateInstall = $project->DateInstall; $json->HasDoors = $project->HasDoors; } // ajax_echo_r ($json); // ajax_echo_r ($project); if ($json->ProjectID) { $loop_par = new Template($this->viewroot, $htt); // load common parent template $loop_par = $this->fillStricts($loop_par); $loop_par->fill( '%ProjectID%', $json->ProjectID ); $loop_par->fill( '%imgfolder%', $this->imgfolder ); $loop_par->fill( '%viewroot%', $this->viewroot ); $loop_step = new Template($this->viewroot, $loop_par->returnloop('loop_step' )); $loop_stepa = new Template($this->viewroot, $loop_par->returnloop('loop_stepa')); $loop_files = new Template($this->viewroot, $loop_step->returnloop('loop_files' )); $loop_filesa = new Template($this->viewroot, $loop_stepa->returnloop('loop_filesa')); $list = $this->model->getProjectSteps($json); $list = $this->model->getProjectStepsPictures($json, $list); // ajax_echo_r ($list); $prevMode = 'active'; $daynames = getDayNames(); $n = 1; $vars = $loop_step->getVariables(); $varsa = $loop_stepa->getVariables(); if (sizeof($list)) { foreach ($list as $data) { // ajax_echo_r ($data); $k = 'Step'.$data->ID; if (((($data->ID==12) && ($json->HasDoors)) || ($data->ID!=12)) && ($usergroup->$k>0)) { // ajax_echo_r ($data); $Auxinfo = ""; if (($data->NeedDate)) { switch ($data->ID) { case (2): if ($data->Mode=='active') { $data->Auxinfo = dateTimeAdaptRead($json->DateMeasure).", ".$daynames[dayWeekAdaptRead($json->DateMeasure)]; } else { // $data->Auxinfo = "..."; } break; case (13): if ($data->Mode=='active') { $data->Auxinfo = dateTimeAdaptRead($json->DateInstall).", ".$daynames[dayWeekAdaptRead($json->DateInstall)]; } else { // $data->Auxinfo = "..."; } break; } } if (($prevMode!=$data->Mode) && ($usergroup->$k==2)) { $prevMode=$data->Mode; $loop_stepa->reload(); $loop_stepa->fill('%last%', ($n==sizeof($list)?"hidden":"")); $files_str = ""; if ($data->Files) { foreach ($data->Files as $File) { $loop_filesa->reload(); $filename = $File; $loop_filesa->fill( '%filename%', $filename); $loop_filesa->fill( '%filename_full%', str_replace("thb_", "full_", $filename)); $files_str .= $loop_filesa->output(); } } $loop_stepa->fillloop('loop_filesa', $files_str); foreach ($varsa as $var) { if ($var) { $loop_stepa->fill( "%".$var."%" , $data->$var); } } $loop.=$loop_stepa->output(); } else { $loop_step->reload(); $loop_step->fill('%last%', ($n==sizeof($list)?"hidden":"")); $files_str = ""; if ($data->Files) { foreach ($data->Files as $File) { $loop_files->reload(); $filename = $File; $loop_files->fill( '%filename%', $filename); $loop_files->fill( '%filename_full%', str_replace("thb_", "full_", $filename)); $files_str .= $loop_files->output(); } } $loop_step->fillloop('loop_files', $files_str); foreach ($vars as $var) { if ($var) { $loop_step->fill( "%".$var."%" , $data->$var); } } $loop.=$loop_step->output(); } } $n++; } } } return localize($loop); // show it }