public function &render($hookFunction)
    {
        $objSQL=new ClsAuieoSQL();
        $objFromCandidate=$objSQL->addFrom("auieo_fields");
        $objSQL->addWhere($objFromCandidate, "data_item_type", 100);
        $objSQL->addWhere($objFromCandidate, "site_id", $_SESSION['CATS']->getSiteID());
        $objSQL->addOrderBy("sequence", false);
        $sql=$objSQL->render();
        $db=  DatabaseConnection::getInstance();
        $arrFieldRecord=$db->getAllAssoc($sql);
        $arrRenderSerialize=array();
        $arrRender=array();
        /**
         * process fields from database
         */
        $record=$this->data;//trace($record);
        
        $eeoField=array();
        /*
         * $arrField=array();
    $arrField["definition"]=array("displaytype"=>1,"fieldlabel"=>"Email:","uitype"=>1,"sequence"=>100);
    $arrField["data"]=$record["email1"];
    $arrField["data"]
         */
    if($_REQUEST["a"]=="show")
    {
        if(isset($this->EEOSettingsRS['enabled']) && $this->EEOSettingsRS['enabled'] == 1)
        {
            for ($i = 0; $i < intval(count($this->EEOValues)/2); $i++)
            {
                $arrField=array();
                $arrField["definition"]=array("displaytype"=>1,"fieldname"=>$this->EEOValues[$i]['fieldName'],"fieldlabel"=>"{$this->EEOValues[$i]['fieldName']}:","uitype"=>1,"sequence"=>100);
                if($this->EEOSettingsRS['canSeeEEOInfo'])
                {
                    $arrField["data"]=$this->EEOValues[$i]['fieldValue'];
                }
                else
                { 
                    $arrField["data"]=="<i><a href='javascript:void(0);' title='Ask an administrator to see the EEO info, or have permission granted to see it.'>(Hidden)</a></i>";
                }
                $eeoField[]=$arrField;
            }

            for ($i = (intval(count($this->EEOValues))/2); $i < intval(count($this->EEOValues)); $i++)
            {
                $arrField=array();
                $arrField["definition"]=array("displaytype"=>1,"fieldname"=>$this->EEOValues[$i]['fieldName'],"fieldlabel"=>"{$this->EEOValues[$i]['fieldName']}:","uitype"=>1,"sequence"=>100);
                if($this->EEOSettingsRS['canSeeEEOInfo'])
                {
                    $arrField["data"]=$this->EEOValues[$i]['fieldValue'];
                }
                else
                { 
                    $arrField["data"]=="<i><a href='javascript:void(0);' title='Ask an administrator to see the EEO info, or have permission granted to see it.'>(Hidden)</a></i>";
                }
                $eeoField[]=$arrField;
            } 
        }
                
        //for handling upcoming events 
        $upcomingEvents=array();
        if($this->accessLevel >= ACCESS_LEVEL_EDIT)
        {
            $arrField=array();
            $arrField["definition"]=array("displaytype"=>1,"fieldname"=>"UpcomingEvents","fieldlabel"=>"UpcomingEvents:","uitype"=>1,"sequence"=>100);
            $arrField["data"]= "<a href='#' onclick='showPopWin(\"index.php?m=candidates&a=addActivityChangeStatus&candidateID={$this->candidateID}&jobOrderID=-1&onlyScheduleEvent=true\", 600, 350, null); return false;'>
                                        <img src='images/calendar_add.gif' width='16' height='16' border='0' alt='Schedule Event' class='absmiddle' />&nbsp;Schedule Event
                                    </a>";                                
            $upcomingEvents[]=$arrField;  
        }
        foreach ($this->calendarRS as $rowNumber => $calendarData)
        {//trace($this->calendarRS);
            $arrField=array();
            $arrField["definition"]=array("displaytype"=>1,"fieldname"=>"UpcomingEvents","fieldlabel"=>"UpcomingEvents:","uitype"=>1,"sequence"=>100);
            $arrField["data"]="<a href='index.php?m=calendar&view=DAYVIEW&month=<{$calendarData["month"]}&year=20{$calendarData["year"]}&day={$calendarData["day"]}&showEvent={$calendarData["eventID"]}'
                                <img src={$calendarData['typeImage']} alt='' border='0' />
                                {$calendarData['dateShow']}
                                {$calendarData['title']}
                                </a>";
                           
            $upcomingEvents[]=$arrField;                
        }
        foreach ($upcomingEvents as $ind=>$fieldinfo)
        {
            $arrFieldRecord[]=$fieldinfo["definition"];
            $this->data[$fieldinfo["definition"]["fieldname"]]=$fieldinfo["data"];
        }
        /*
        $attachments=array();
        if($this->accessLevel >= ACCESS_LEVEL_EDIT)
        {
            $arrField=array();
            $arrField["definition"]=array("displaytype"=>1,"fieldname"=>"UpcomingEvents","fieldlabel"=>"UpcomingEvents:","uitype"=>1,"sequence"=>100);
            $arrField["data"]= "<a href='#' onclick='(index.php?m=candidates&a=addActivityChangeStatus&candidateID={$this->candidateID}&jobOrderID=-1&onlyScheduleEvent=true, 600, 350, null); return false;'
                                        <img src='images/calendar_add.gif' width='16' height='16' border='0' alt='Schedule Event' class='absmiddle' />&nbsp;Schedule Event
                                    </a>";                                
            $attachments[]=$arrField;  
        }
        foreach ($this->attachmentsRS as $rowNumber => $attachmentsData)
        {
            if ($attachmentsData['isProfileImage'] != '1')
            {
            $arrField=array();
            $arrField["definition"]=array("displaytype"=>1,"fieldname"=>"attachments","fieldlabel"=>"Attachments:","uitype"=>1,"sequence"=>100);
            $arrField["data"]={$attachmentsData['retrievalLink']}<img src="{$attachmentsData['attachmentIcon']}" alt="" width="16" height="16" border="0" />{$attachmentsData['originalFilename']}
                           
            $attachments[]=$arrField;   
            }
        }
        foreach ($attachments as $ind=>$fieldinfo)
        {
            $arrFieldRecord[]=$fieldinfo["definition"];
            $this->data[$fieldinfo["definition"]["fieldname"]]=$fieldinfo["data"];
         */
        $notes=array();
        if ($this->isShortNotes)
        {//trace("======");
            $arrField=array();
            $arrField["definition"]=array("displaytype"=>1,"fieldname"=>"miscNotes","fieldlabel"=>"Misc. Notes:","uitype"=>1,"sequence"=>100);
            $arrField["data"]=$this->data['shortNotes']."<a href='#' class='moreText' onclick='toggleNotes(); return false;'>[More]</a>".$this->data['shortNotes']."<a href='#' class='moreText' onclick='toggleNotes(); return false;'>[Less]</a>";  
            $arrField["data"]="<div id='shortNotes' style='display:block;' class='data'>{$this->data['shortNotes']}<span class='moreText'>...</span><p><a href='#' class='moreText' onclick='toggleNotes(); return false;'>[More]</a></p></div><div id='shortNotesid' style='display:none;' class='data'>{$this->data['shortNotes']}<a href='#' class='moreText' onclick='toggleNotes(); return false;'>[Less]</a></div>";                   
            $notes[]=$arrField;
        }
        else
        {
            $arrField=array();
            $arrField["definition"]=array("displaytype"=>1,"fieldname"=>"miscNotes","fieldlabel"=>"Misc. Notes:","uitype"=>1,"sequence"=>100);
            $arrField["data"]=$this->data['shortNotes'];
            $notes[]=$arrField;
        }
        foreach ($notes as $ind=>$fieldinfo)
        {
            $arrFieldRecord[]=$fieldinfo["definition"];
            $this->data[$fieldinfo["definition"]["fieldname"]]=$fieldinfo["data"];
        }
        foreach ($eeoField as $ind=>$fieldinfo)
        {
            $arrFieldRecord[]=$fieldinfo["definition"];
            $this->data[$fieldinfo["definition"]["fieldname"]]=$fieldinfo["data"];
        }
    }    
        $arrCalculateField=getAVFields(100, $record);
        foreach ($arrCalculateField as $ind=>$fieldinfo)
        {
            $arrFieldRecord[]=$fieldinfo["definition"];
            $this->data[$fieldinfo["definition"]["fieldname"]]=$fieldinfo["data"];
        }
        /**
         * build sequence array
         */
        foreach($arrFieldRecord as $ind=>$fieldData)
        {
            $sequence=isset($fieldData["sequence"])?$fieldData["sequence"]:0;
            $arrFieldSeq[$sequence][]=$fieldData;
        }
        krsort($arrFieldSeq, SORT_NUMERIC);
                //trace($arrFieldSeq);
        foreach($arrFieldSeq as $sequence=>$arrField)
        {
            foreach($arrField as $ind=>$fieldData)
            {
                if($fieldData["displaytype"]<=0) continue;
                $fieldName=$fieldData["fieldname"];
                if(!isset($this->data[$fieldName])) continue;
                $v=$this->data[$fieldName];
                /**
                 * process hook
                 */
                $caption=getLangVar($fieldName,"candidates");
                $ret=$hookFunction($fieldName,$v,$this->data);//trace($this->data);
                if($ret)
                {
                    if($ret===true) 
                    {
                        $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                        $arrRenderSerialize[]=$v;
                    }
                    else if(is_string($ret))
                    {
                        $html_template_content=$ret;
                        $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                        $arrRenderSerialize[]=$this->loadTemplate($html_template_content, $this->data);
                    }
                    else if(is_numeric($ret)) 
                    {
                        $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                        $arrRenderSerialize[]=$ret;
                    }
                    else if(is_object($ret))
                    {
                        $html_template_content=(string)$ret;
                        $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                        $arrRenderSerialize[]=$this->loadTemplate($html_template_content, $this->data);
                    }
                }
            }
        }//trace($arrRenderSerialize);
        $columnPrefix="col";
        $arrRenderView =  multi_dimension_array($arrRenderSerialize, 4, $columnPrefix);//trace($arrRenderView);
        return $arrRenderView;
    }
Example #2
0
 public function &render($hookFunction=false)
 {
     //$data_item_type_id=100;
     $arrModule=getModules();
     $arrRender=array();
     foreach($arrModule as $data_item_type_id=>$moduleData)
     {
         $arrFieldRecord=getModuleFields($data_item_type_id,true);
         
         $arrRenderSerialize=array();
         /**
          * build sequence array
          */
         $arrFieldSeq=array();
         foreach($arrFieldRecord as $ind=>$fieldData)
         {
             $sequence=isset($fieldData["sequence"])?$fieldData["sequence"]:0;
             $arrFieldSeq[$sequence][]=$fieldData;
         }
         ksort($arrFieldSeq, SORT_NUMERIC);//trace($arrFieldSeq,2);
                 //trace($arrFieldSeq);
         foreach($arrFieldSeq as $sequence=>$arrField)
         {
             foreach($arrField as $ind=>$fieldData)
             {
                 //if($fieldData["displaytype"]<=0) continue;
                 $fieldName=$fieldData["fieldname"];
                 /**
                  * process hook
                  */
                 $caption=getLangVar($fieldName);
                 $arrRenderSerialize[]=empty($caption)?$fieldName:$caption;
                 /**
                  * check whether calculated field or database field
                  */
                 ///if it is database field
                 if(isset($fieldData["id"]))
                 {
                     if($fieldData["displaytype"]<=0)
                     {
                         $arrRenderSerialize[]="<input type='checkbox' name='field_hide[{$fieldData["id"]}]' onclick='javascript:updateField(\"{$moduleData["module"]}\",\"{$fieldName}\",this);' />";
                     }
                     else
                     {
                         $arrRenderSerialize[]="<input type='checkbox' checked name='field_hide[{$fieldData["id"]}]' onclick='javascript:updateField(\"{$moduleData["module"]}\",\"{$fieldName}\",this);' />";
                     }
                     if($fieldData["readonly"]<=0)
                     {
                         $arrRenderSerialize[]="<input type='checkbox' name='field_readonly[{$fieldData["id"]}]' onclick='javascript:updateFieldReadonly(\"{$moduleData["module"]}\",\"{$fieldName}\",this);' />";
                     }
                     else
                     {
                         $arrRenderSerialize[]="<input type='checkbox' checked name='field_readonly[{$fieldData["id"]}]' onclick='javascript:updateFieldReadonly(\"{$moduleData["module"]}\",\"{$fieldName}\",this);' />";
                     }
                     $arrRenderSerialize[]="<a href='index.php?m=settings&modulename={$moduleData["module"]}&a=moveUp&field_id={$fieldData["id"]}'>Up</a>";
                     $arrRenderSerialize[]="<a href='index.php?m=settings&modulename={$moduleData["module"]}&a=moveDown&field_id={$fieldData["id"]}'>Down</a>";
                     if($fieldData["is_extra"]>0)
                     {
                         $arrRenderSerialize[]="<a href='index.php?m=settings&modulename={$moduleData["module"]}&a=delete&field_id={$fieldData["id"]}'>Delete</a>";
                     }
                     else
                     {
                         $arrRenderSerialize[]="-";
                     }
                 }
                 else
                 {
                     if(!isset($fieldData["displaytype"]) || $fieldData["displaytype"]<=0)
                     {
                         $arrRenderSerialize[]="<input type='checkbox' disabled />";
                     }
                     else
                     {
                         $arrRenderSerialize[]="<input type='checkbox' checked disabled />";
                     }
                     if(!isset($fieldData["readyonly"]) || $fieldData["readyonly"]<=0)
                     {
                         $arrRenderSerialize[]="<input type='checkbox' disabled />";
                     }
                     else
                     {
                         $arrRenderSerialize[]="<input type='checkbox' checked disabled />";
                     }
                     $arrRenderSerialize[]="<input type='button' value='up' disabled />";
                     $arrRenderSerialize[]="<input type='button' value='down' disabled />";
                     $arrRenderSerialize[]="<input type='button' value='delete' disabled />";
                 }
             }
         }
         $columnPrefix="col";
         $arrRenderView =  multi_dimension_array($arrRenderSerialize, 6, $columnPrefix);
         $arrRender[$data_item_type_id]=$arrRenderView;
     }
     return $arrRender;
 }
 public function &render($hookFunction)
 {
     $objSQL=new ClsAuieoSQL();
     $objFromCandidate=$objSQL->addFrom("auieo_fields");
     $objSQL->addWhere($objFromCandidate, "data_item_type", 200);
     $objSQL->addWhere($objFromCandidate, "site_id", $_SESSION['CATS']->getSiteID());
     $objSQL->addOrderBy("sequence", false);
     $sql=$objSQL->render();
     $db=  DatabaseConnection::getInstance();
     $arrFieldRecord=$db->getAllAssoc($sql);
     $arrRenderSerialize=array();
     $arrRender=array();
     /**
      * process fields from database
      */
     $record=$this->data;//trace($record);
     $arrCalculateField=getAVFields(200, $record);
     foreach ($arrCalculateField as $ind=>$fieldinfo)
     {
         $arrFieldRecord[]=$fieldinfo["definition"];
         $this->data[$fieldinfo["definition"]["fieldname"]]=$fieldinfo["data"];
     }
     /**
      * build sequence array
      */
     foreach($arrFieldRecord as $ind=>$fieldData)
     {
         $sequence=isset($fieldData["sequence"])?$fieldData["sequence"]:0;
         $arrFieldSeq[$sequence][]=$fieldData;
     }
     krsort($arrFieldSeq, SORT_NUMERIC);
             //trace($arrFieldSeq);
     foreach($arrFieldSeq as $sequence=>$arrField)
     {
         foreach($arrField as $ind=>$fieldData)
         {
             if($fieldData["displaytype"]<=0) continue;
             $fieldName=$fieldData["fieldname"];
             //$k=  getAliasNameFromField($fieldName);
             //trace($this->data);
             //if(!isset($this->data["entered_by"])) continue;
             //if(!isset($this->data["billing_contact"])) continue;
             if($fieldName=="billing_contact") continue;
             $v=$this->data[$fieldName];//trace($this->data);
             /**
              * process hook
              */
             $caption=getLangVar($fieldName,"companies");
             $ret=$hookFunction($fieldName,$v,$this->data);//trace($this->data);
             if($ret)
             {
                 if($ret===true) 
                 {
                     $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                     $arrRenderSerialize[]=$v;
                 }
                 else if(is_string($ret))
                 {
                     $html_template_content=$ret;
                     $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                     $arrRenderSerialize[]=$this->loadTemplate($html_template_content, $this->data);
                 }
                 else if(is_numeric($ret)) 
                 {
                     $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                     $arrRenderSerialize[]=$ret;
                 }
                 else if(is_object($ret))
                 {
                     $html_template_content=(string)$ret;
                     $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                     $arrRenderSerialize[]=$this->loadTemplate($html_template_content, $this->data);
                 }
             }
         }
     }//trace($arrRenderSerialize);
     $columnPrefix="col";
     $arrRenderView =  multi_dimension_array($arrRenderSerialize, 4, $columnPrefix);//trace($arrRenderView);
     return $arrRenderView;
 }
Example #4
0
 public function &render($hookFunction)
 {
     $objSQL=new ClsAuieoSQL();
     $objFromCandidate=$objSQL->addFrom("auieo_fields");
     $objSQL->addWhere($objFromCandidate, "data_item_type", 300);
     $objSQL->addWhere($objFromCandidate, "site_id", $_SESSION['CATS']->getSiteID());
     $objSQL->addOrderBy("sequence", false);
     $sql=$objSQL->render();
     $db=  DatabaseConnection::getInstance();
     $arrFieldRecord=$db->getAllAssoc($sql);
     $arrRenderSerialize=array();
     $arrRender=array();
     /**
      * process fields from database
      */
     $record=$this->data;//trace($record);
     if($_REQUEST["a"]=="show")
     {
         $upcomingEvents=array();
     if($this->accessLevel >= ACCESS_LEVEL_EDIT)
     {
         $arrField=array();
         $arrField["definition"]=array("displaytype"=>1,"fieldname"=>"UpcomingEvents","fieldlabel"=>"UpcomingEvents:","uitype"=>1,"sequence"=>100);
         $arrField["data"]= "<a href='#' onclick='(index.php?m=contacts&amp;a=addActivityScheduleEvent&amp;contactID={$this->data['contact_id']}&amp;onlyScheduleEvent=true', 600, 200, null); return false;'>
                                     <img src='images/calendar_add.gif' width='16' height='16' border='0' alt='Schedule Event' class='absmiddle' />&nbsp;Schedule Event
                                 </a>";                                
         $upcomingEvents[]=$arrField;  
     }
     foreach ($this->calendarRS as $rowNumber => $calendarData)
     {//trace($this->calendarRS);
         $arrField=array();
         $arrField["definition"]=array("displaytype"=>1,"fieldname"=>"UpcomingEvents","fieldlabel"=>"UpcomingEvents:","uitype"=>1,"sequence"=>100);
         $arrField["data"]="<a href='index.php?m=calendar&view=DAYVIEW&month=<{$calendarData["month"]}&year=20{$calendarData["year"]}&day={$calendarData["day"]}&showEvent={$calendarData["eventID"]}'
                             <img src={$calendarData['typeImage']} alt='' border='0' />
                             {$calendarData['dateShow']}
                             {$calendarData['title']}
                             </a>";
                        
         $upcomingEvents[]=$arrField;                
     }
     foreach ($upcomingEvents as $ind=>$fieldinfo)
     {
         $arrFieldRecord[]=$fieldinfo["definition"];
         $this->data[$fieldinfo["definition"]["fieldname"]]=$fieldinfo["data"];
     }
     }
     
     $arrCalculateField=getAVFields(300, $record);
     foreach ($arrCalculateField as $ind=>$fieldinfo)
     {
         $arrFieldRecord[]=$fieldinfo["definition"];
         $this->data[$fieldinfo["definition"]["fieldname"]]=$fieldinfo["data"];
     }
     /**
      * build sequence array
      */
     foreach($arrFieldRecord as $ind=>$fieldData)
     {
         $sequence=isset($fieldData["sequence"])?$fieldData["sequence"]:0;
         $arrFieldSeq[$sequence][]=$fieldData;
     }
     krsort($arrFieldSeq, SORT_NUMERIC);
             //trace($arrFieldSeq);
     foreach($arrFieldSeq as $sequence=>$arrField)
     {//trace($arrFieldSeq);
         foreach($arrField as $ind=>$fieldData)
         {//trace($fieldData);
             if($fieldData["displaytype"]<=0) continue;
             $fieldName=$fieldData["fieldname"];
             /*if($fieldData["fieldname"]=="email1")
             {
                 trace("=======");
             }*/
             //$k=  getAliasNameFromField($fieldName);
             //trace($this->data);
             //if(!isset($this->data["entered_by"])) continue;
             $v=$this->data[$fieldName];//trace($v);
             /**
              * process hook
              */
             $caption=getLangVar($fieldName,"contacts");
     
             $ret=$hookFunction($fieldName,$v,$this->data);//trace($this->data);
             if($ret)
             {
                 if($ret===true) 
                 {//trace("---");
                     $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                     $arrRenderSerialize[]=$v;
                 }
                 else if(is_string($ret))
                 {
                     $html_template_content=$ret;
                     $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                     $arrRenderSerialize[]=$this->loadTemplate($html_template_content, $this->data);
                 }
                 else if(is_numeric($ret)) 
                 {
                     $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                     $arrRenderSerialize[]=$ret;
                 }
                 else if(is_object($ret))
                 {
                     $html_template_content=(string)$ret;
                     $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                     $arrRenderSerialize[]=$this->loadTemplate($html_template_content, $this->data);
                 }
             }
         }
     }//trace($arrRenderSerialize);
     $columnPrefix="col";
     $arrRenderView =  multi_dimension_array($arrRenderSerialize, 4, $columnPrefix);//trace($arrRenderView);
     return $arrRenderView;
 }
Example #5
0
    public function &render($hookFunction)
    {Logger::getLogger("AuieoATS")->info("inside render() under ClsJoborderView");
        $objSQL=new ClsAuieoSQL();
        $objFromCandidate=$objSQL->addFrom("auieo_fields");
        $objSQL->addWhere($objFromCandidate, "data_item_type", 400);
        $objSQL->addWhere($objFromCandidate, "site_id", $_SESSION['CATS']->getSiteID());
        $objSQL->addOrderBy("sequence", false);
        $sql=$objSQL->render();
        $db=  DatabaseConnection::getInstance();
        $arrFieldRecord=$db->getAllAssoc($sql);
        $arrRenderSerialize=array();
        $arrRender=array();
        /**
         * process fields from database
         */
        $record=$this->data;//trace($record);
        //for Company radio
        //trace($this->defaultCompanyID);
        $company=array();
        if($_REQUEST["a"]=="edit")
        {
            
        
            if ($this->defaultCompanyID !== false)
            {
                $arrField=array();
                $arrField["definition"]=array("displaytype"=>1,"fieldname"=>"Companyrtyrt7u","fieldlabel"=>"comp:","uitype"=>1,"sequence"=>100);
                if ($this->defaultCompanyID != $this->data['company_id'])
                {//trace("=========");
                    $value="checked";
                    $arrField["data"]="<input type='radio' name='typeCompany' {$value} onchange='document.getElementById('companyName').disabled = false; if (oldCompanyID != -1) document.getElementById('companyID').value = oldCompanyID;'>";
                    if($this->defaultCompanyID == $this->data['company_id'])
                    {
                        $val="disabled";
                        $arrField["data"]="<input type='text' name='companyName' id='companyName' tabindex='2' value='{$this->data['name']}' class='inputbox' style='width: 125px' onFocus='suggestListActivate('getCompanyNames', 'companyName', 'CompanyResults', 'companyID', 'ajaxTextEntryHover', 0, '{$this->sessionCookie}', 'helpShim');' {$val}/>";
                    }
                }
                else
                {//trace("===");
                    $val="disabled";
                    $arrField["data"]="<input type='text' name='companyName' id='companyName' tabindex='2' value='{$this->data['name']}' class='inputbox' style='width: 150px' onFocus='suggestListActivate('getCompanyNames', 'companyName', 'CompanyResults', 'companyID', 'ajaxTextEntryHover', 0, {$this->sessionCookie}, 'helpShim');' {$val}/>&nbsp;*";
                }

                $company[]=$arrField;  
            }
        
        //for attachment
            $contact=array();
            $arrField=array();
            $arrField["definition"]=array("displaytype"=>1,"fieldname"=>"Contact","fieldlabel"=>"Contact:","uitype"=>1,"sequence"=>100);
            $dataval="<select tabindex='3' id='contactID' name='contactID' class='inputbox' style='width: 150px;'>";   
            $dataval=$dataval."<option value='-1'>None</option>";
            foreach ($this->contactsRS as $rowNumber => $contactsData)
            {
            if ($this->data['contact_id'] == $contactsData['contactID'])
            {
                $dataval=$dataval."<option selected value='{$contactsData["contactID"]}'>{$contactsData['lastName']}, {$contactsData['firstName']}</option>";
            }
            else
            {
                $dataval=$dataval."<option value='{$contactsData['contactID']}'>{$contactsData['lastName']}, {$contactsData['firstName']}</option>";
            }
            $dataval=$dataval."</select>";
            $arrField["data"]=$dataval;
            }
            $contact[]=$arrField;
                foreach ($contact as $ind=>$fieldinfo)
                {//trace($fieldinfo);
                    $arrFieldRecord[]=$fieldinfo["definition"];
                    $this->data[$fieldinfo["definition"]["fieldname"]]=$fieldinfo["data"];//trace($fieldinfo["data"]);
                }
                foreach ($company as $ind=>$fieldinfo)
                {//trace($fieldinfo);
                    $arrFieldRecord[]=$fieldinfo["definition"];
                    $this->data[$fieldinfo["definition"]["fieldname"]]=$fieldinfo["data"];//trace($fieldinfo["data"]);
                }
        }    

        //trace($this->attachmentsRS);
        /*foreach ($this->attachmentsRS as $rowNumber => $attachmentsData)
        {//trace($attachmentsData);
            $arrField=array();
            $arrField["definition"]=array("displaytype"=>1,"fieldname"=>$this->EEOValues[$i]['fieldName'],"fieldlabel"=>"{$this->EEOValues[$i]['fieldName']}:","uitype"=>1,"sequence"=>100);
            //$arrField["data"]={$attachmentsData['retrievalLink']}."<img src={$attachmentsData['attachmentIcon']} alt='' width='16' height='16' border='0' />".{$attachmentsData['originalFilename']};  
            
        }*/
        
        /*if($this->accessLevel >= ACCESS_LEVEL_DELETE)
        {
            $arrField=array();
            $arrField["definition"]=array("displaytype"=>1,"fieldname"=>"UpcomingEvents","fieldlabel"=>"UpcomingEvents:","uitype"=>1,"sequence"=>100);
            $arrField["data"]= "<a href='index.php?m=joborders&amp;a=deleteAttachment&amp;jobOrderID{$this->data["joborder_id"]}&amp;attachmentID={$attachmentsData['attachmentID']}  title='Delete' onclick='javascript:return confirm('Delete this attachment?');'
                                        <img src='images/actions/delete.gif' width='16' height='16' border='0' />
                                    </a>";                                
            $attachment[]=$arrField;  
        }*/
        //for pipeline
        //trace($this->pipelineGraph);
        /*if($_REQUEST["a"]=="show")
        {
            $pipeline=array();    
            $arrField=array();
            $arrField["definition"]=array("displaytype"=>1,"fieldname"=>"pipeline","fieldlabel"=>"JobOrder Pipeline","uitype"=>1,"sequence"=>100);
            $arrField["data"]=$this->pipelineGraph;                                
            $pipeline[]=$arrField;  
            
            foreach ($pipeline as $ind=>$fieldinfo)
            {trace($fieldinfo);
                $arrFieldRecord[]=$fieldinfo["definition"];
                $this->data[$fieldinfo["definition"]["fieldname"]]=$fieldinfo["data"];//trace($fieldinfo["data"]);
            }
        
        }
        */
        
        //trace($record);
        
        
        $arrCalculateField=getAVFields(400, $record);
        foreach ($arrCalculateField as $ind=>$fieldinfo)
        {//trace($fieldinfo);
            $arrFieldRecord[]=$fieldinfo["definition"];
            $this->data[$fieldinfo["definition"]["fieldname"]]=$fieldinfo["data"];
        }//trace($arrCalculateField);
        /**
         * build sequence array
         */
        foreach($arrFieldRecord as $ind=>$fieldData)
        {
            $sequence=isset($fieldData["sequence"])?$fieldData["sequence"]:0;
            $arrFieldSeq[$sequence][]=$fieldData;
        }
        krsort($arrFieldSeq, SORT_NUMERIC);
                //trace($arrFieldSeq);
        foreach($arrFieldSeq as $sequence=>$arrField)
        {//trace($arrFieldSeq);
            foreach($arrField as $ind=>$fieldData)
            {
                if($fieldData["displaytype"]<=0) continue;//trace($fieldData);
				//if(!isset($this->data["entered_by"])) continue;
                $fieldName=$fieldData["fieldname"];//trace($fieldData);
                //$k=  getAliasNameFromField($fieldName);
                
               // if(!isset($this->data["entered_by"])) continue;trace($this->data);
                $v=$this->data[$fieldName];
				
                /**
                 * process hook
                 
				 if($fieldName=="experience")
				 {
					$caption=getLangVar($fieldName);//trace($caption);
				 }*/
                $caption=getLangVar($fieldName,"joborders");//trace($fieldName);
                $ret=$hookFunction($fieldName,$v,$this->data);//trace($fieldData);
                if($ret)
                {
                    if($ret===true) 
                    {//trace($fieldData);
                        $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                        $arrRenderSerialize[]=$v;
                    }
                    else if(is_string($ret))
                    {//trace("==========");
                        $html_template_content=$ret;
                        $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                        $arrRenderSerialize[]=$this->loadTemplate($html_template_content, $this->data);
                    }
                    else if(is_numeric($ret)) 
                    {//trace("==========");
                        $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                        $arrRenderSerialize[]=$ret;
                    }
                    else if(is_object($ret))
                    {//trace("==========");
                        $html_template_content=(string)$ret;
                        $arrRenderSerialize[]=empty($caption)?$fieldData["fieldlabel"]:$caption;
                        $arrRenderSerialize[]=$this->loadTemplate($html_template_content, $this->data);
                    }
                }
            }
        }
		//trace($this->data);
		//trace($arrRenderSerialize);
        $columnPrefix="col";
        $arrRenderView =  multi_dimension_array($arrRenderSerialize, 4, $columnPrefix);//trace($arrRenderView);
        return $arrRenderView;
    }