Example #1
0
  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;
  }
Example #2
0
  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
  }