Пример #1
0
function getModuleFields($data_item_type)
{
    static $arrModuleField=array();
    if(!isset($arrModuleField[$data_item_type]))
    {
        $objSQL=new ClsAuieoSQL();
        $objFromCandidate=$objSQL->addFrom("auieo_fields");
        $objSQL->addWhere($objFromCandidate, "data_item_type", $data_item_type);
        $objSQL->addWhere($objFromCandidate, "site_id", $_SESSION['CATS']->getSiteID());
        $objSQL->addOrderBy("sequence");
        $sql=$objSQL->render();
        $db=  DatabaseConnection::getInstance();
        $arrFieldRecord=$db->getAllAssoc($sql);

        foreach($arrFieldRecord as $ind=>$record)
        {
            if($record["sequence"]>0) continue;
            $sql="update auieo_fields set sequence=".($ind+1)." where id={$record["id"]}";
            $db->query($sql);
            $arrFieldRecord[$ind]["sequence"]=$ind+1;
        }
        $arrCalculateField=getAVFields($data_item_type);
        if($arrCalculateField)
        foreach ($arrCalculateField as $ind=>$fieldinfo)
        {
            $arrFieldRecord[]=$fieldinfo["definition"];
        }
        $arrModuleField[$data_item_type]=$arrFieldRecord;
    }
    return $arrModuleField[$data_item_type];
}
Пример #2
0
    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;
    }
Пример #3
0
 /**
  * Returns all relevent candidate information for a given candidate ID.
  *
  * @param integer Candidate ID.
  * @return array Associative result set array of candidate data, or array()
  *               if no records were returned.
  */
 public function get($candidateID)
 {
     $objSQL = new ClsAuieoSQL();
     $objFromCandidate = $objSQL->addFrom("auieo_fields");
     $objSQL->addWhere($objFromCandidate, "data_item_type", 100);
     $objSQL->addWhere($objFromCandidate, "site_id", $this->_siteID);
     $objSQL->addOrderBy("sequence", false);
     $sql = $objSQL->render();
     $arrField = $this->_db->getAllAssoc($sql);
     $objSQL = new ClsAuieoSQL();
     $objFromCandidate = $objSQL->addFrom("candidate");
     $joinIDCandidateID = $objFromCandidate->addJoinField("candidate_id");
     $joinIDCandidateEnteredBy = $objFromCandidate->addJoinField("entered_by");
     $joinIDCandidateOwner = $objFromCandidate->addJoinField("owner");
     $joinIDCandidateEEO = $objFromCandidate->addJoinField("eeo_ethnic_type_id");
     $joinIDCandidateEEOVeteran = $objFromCandidate->addJoinField("eeo_veteran_type_id");
     $objFromUserAssigned = $objSQL->addFrom("user", "entered_by_user");
     $joinIDEnteredUser = $objFromUserAssigned->addJoinField("user_id");
     $objFromUserOwner = $objSQL->addFrom("user", "owner_user");
     $joinIDOwnerUser = $objFromUserOwner->addJoinField("user_id");
     $objFromCandidateJoborder = $objSQL->addFrom("candidate_joborder");
     $joinIDCandidateJoborderCandidateID = $objFromCandidateJoborder->addJoinField("candidate_id");
     $objFromEEO = $objSQL->addFrom("eeo_ethnic_type");
     $joinIDEEOID = $objFromEEO->addJoinField("eeo_ethnic_type_id");
     $objFromEEOVeteran = $objSQL->addFrom("eeo_veteran_type");
     $joinIDEEOVeteranID = $objFromEEOVeteran->addJoinField("eeo_veteran_type_id");
     $objFromUserAssigned->setJoinWith($objFromCandidate, $joinIDCandidateEnteredBy, $joinIDEnteredUser);
     $objFromUserOwner->setJoinWith($objFromCandidate, $joinIDCandidateOwner, $joinIDOwnerUser);
     $objFromCandidateJoborder->setJoinWith($objFromCandidate, $joinIDCandidateID, $joinIDCandidateJoborderCandidateID);
     $objFromEEO->setJoinWith($objFromCandidate, $joinIDCandidateEEO, $joinIDEEOID);
     $objFromEEOVeteran->setJoinWith($objFromCandidate, $joinIDCandidateEEOVeteran, $joinIDEEOVeteranID);
     $objSQL->addWhere($objFromCandidate, "candidate_id", $this->_db->makeQueryInteger($candidateID));
     $objSQL->addWhere($objFromCandidate, "site_id", $this->_siteID);
     $objSQL->addGroupBy($objFromCandidate, "candidate_id");
     $objSQL->addSelect($objFromCandidate, "candidate_id");
     $objSQL->addSelect($objFromCandidate, "ownertype");
     foreach ($arrField as $ind => $field) {
         //$alias=getAliasNameFromField($field["fieldname"]);
         $objSQL->addSelect($objFromCandidate, $field["fieldname"]);
     }
     //trace($objSQL->render());
     /*$objSQL->addSelect($objFromCandidate, "candidate_id", "candidateID");
       $objSQL->addSelect($objFromCandidate, "is_active", "isActive");
       $objSQL->addSelect($objFromCandidate, "first_name", "firstName");
       $objSQL->addSelect($objFromCandidate, "middle_name", "middleName");
       $objSQL->addSelect($objFromCandidate, "last_name", "lastName");
       $objSQL->addSelect($objFromCandidate, "email1", "email1");
       $objSQL->addSelect($objFromCandidate, "email2", "email2");
       $objSQL->addSelect($objFromCandidate, "phone_home", "phoneHome");
       $objSQL->addSelect($objFromCandidate, "phone_work", "phoneWork");
       $objSQL->addSelect($objFromCandidate, "phone_cell", "phoneCell");
       $objSQL->addSelect($objFromCandidate, "address", "address");
       $objSQL->addSelect($objFromCandidate, "city", "city");
       $objSQL->addSelect($objFromCandidate, "state", "state");
       $objSQL->addSelect($objFromCandidate, "zip", "zip");
       $objSQL->addSelect($objFromCandidate, "source", "source");
       $objSQL->addSelect($objFromCandidate, "key_skills", "keySkills");
       $objSQL->addSelect($objFromCandidate, "current_employer", "currentEmployer");
       $objSQL->addSelect($objFromCandidate, "current_pay", "currentPay");
       $objSQL->addSelect($objFromCandidate, "desired_pay", "desiredPay");
       $objSQL->addSelect($objFromCandidate, "notes", "notes");
       $objSQL->addSelect($objFromCandidate, "owner", "owner");
       $objSQL->addSelect($objFromCandidate, "can_relocate", "canRelocate");
       $objSQL->addSelect($objFromCandidate, "web_site", "webSite");
       $objSQL->addSelect($objFromCandidate, "best_time_to_call", "bestTimeToCall");
       $objSQL->addSelect($objFromCandidate, "is_hot", "isHot");
       $objSQL->addSelect($objFromCandidate, "is_admin_hidden", "isAdminHidden");*/
     $objSQL->addSelectCustom("DATE_FORMAT(\n                    candidate.date_created, '%m-%d-%y (%h:%i %p)'\n                )", "dateCreated");
     $objSQL->addSelectCustom("DATE_FORMAT(\n                    candidate.date_modified, '%m-%d-%y (%h:%i %p)'\n                )", "dateModified");
     $objSQL->addSelectCustom("COUNT(\n                    candidate_joborder.joborder_id\n                )", "pipeline");
     $objSQL->addSelectCustom("(\n                    SELECT\n                        COUNT(*)\n                    FROM\n                        candidate_joborder_status_history\n                    WHERE\n                        candidate_id = " . $this->_db->makeQueryInteger($candidateID) . "\n                    AND\n                        status_to = " . PIPELINE_STATUS_SUBMITTED . "\n                    AND\n                        site_id = {$this->_siteID}\n                )", "submitted");
     $objSQL->addSelectCustom("CONCAT(\n                    candidate.first_name, ' ', candidate.last_name\n                )", "candidateFullName");
     $objSQL->addSelectCustom("CONCAT(\n                    entered_by_user.first_name, ' ', entered_by_user.last_name\n                )", "enteredByFullName");
     $objSQL->addSelectCustom("CONCAT(\n                    owner_user.first_name, ' ', owner_user.last_name\n                )", "ownerFullName");
     $objSQL->addSelect($objFromUserOwner, "email", "owner_email");
     $objSQL->addSelectCustom("DATE_FORMAT(\n                    candidate.date_available, '%m-%d-%y'\n                )", "dateAvailable");
     $objSQL->addSelect($objFromEEO, "type", "eeoEthnicType");
     $objSQL->addSelect($objFromEEOVeteran, "type", "eeoVeteranType");
     $objSQL->addSelect($objFromCandidate, "eeo_disability_status", "eeoDisabilityStatus");
     $objSQL->addSelect($objFromCandidate, "eeo_gender", "eeoGender");
     $objSQL->addSelectCustom("IF (candidate.eeo_gender = 'm',\n                    'Male',\n                    IF (candidate.eeo_gender = 'f',\n                        'Female',\n                        ''))", "eeoGenderText");
     $sql = $objSQL->render();
     /**
      * 
      */
     /*trace();
       $sql = sprintf(
           "SELECT candidate.candidate_id AS candidateID,candidate.is_active AS isActive,
               candidate.first_name AS firstName,candidate.middle_name AS middleName,
               candidate.last_name AS lastName,candidate.email1 AS email1,
               candidate.email2 AS email2,candidate.phone_home AS phoneHome,
               candidate.phone_work AS phoneWork,candidate.phone_cell AS phoneCell,
               candidate.address AS address,candidate.city AS city,
               candidate.state AS state,candidate.zip AS zip,
               candidate.source AS source,candidate.key_skills AS keySkills,
               candidate.current_employer AS currentEmployer,candidate.current_pay AS currentPay,
               candidate.desired_pay AS desiredPay,candidate.notes AS notes,
               candidate.owner AS owner,candidate.can_relocate AS canRelocate,
               candidate.web_site AS webSite,candidate.best_time_to_call AS bestTimeToCall,
               candidate.is_hot AS isHot,candidate.is_admin_hidden AS isAdminHidden,
               DATE_FORMAT(
                   candidate.date_created, '%%m-%%d-%%y (%%h:%%i %%p)'
               ) AS dateCreated,
               DATE_FORMAT(
                   candidate.date_modified, '%%m-%%d-%%y (%%h:%%i %%p)'
               ) AS dateModified,
               COUNT(
                   candidate_joborder.joborder_id
               ) AS pipeline,
               (
                   SELECT
                       COUNT(*)
                   FROM
                       candidate_joborder_status_history
                   WHERE
                       candidate_id = %s
                   AND
                       status_to = %s
                   AND
                       site_id = %s
               ) AS submitted,
               CONCAT(
                   candidate.first_name, ' ', candidate.last_name
               ) AS candidateFullName,
               CONCAT(
                   entered_by_user.first_name, ' ', entered_by_user.last_name
               ) AS enteredByFullName,
               CONCAT(
                   owner_user.first_name, ' ', owner_user.last_name
               ) AS ownerFullName,
               owner_user.email AS owner_email,
               DATE_FORMAT(
                   candidate.date_available, '%%m-%%d-%%y'
               ) AS dateAvailable,
               eeo_ethnic_type.type AS eeoEthnicType,
               eeo_veteran_type.type AS eeoVeteranType,
               candidate.eeo_disability_status AS eeoDisabilityStatus,
               candidate.eeo_gender AS eeoGender,
               IF (candidate.eeo_gender = 'm',
                   'Male',
                   IF (candidate.eeo_gender = 'f',
                       'Female',
                       ''))
                    AS eeoGenderText
           FROM
               candidate
           LEFT JOIN user AS entered_by_user
               ON candidate.entered_by = entered_by_user.user_id
           LEFT JOIN user AS owner_user
               ON candidate.owner = owner_user.user_id
           LEFT JOIN candidate_joborder
               ON candidate.candidate_id = candidate_joborder.candidate_id
           LEFT JOIN eeo_ethnic_type
               ON eeo_ethnic_type.eeo_ethnic_type_id = candidate.eeo_ethnic_type_id
           LEFT JOIN eeo_veteran_type
               ON eeo_veteran_type.eeo_veteran_type_id = candidate.eeo_veteran_type_id
           WHERE
               candidate.candidate_id = %s
           AND
               candidate.site_id = %s
           GROUP BY
               candidate.candidate_id",
           $this->_db->makeQueryInteger($candidateID),
           PIPELINE_STATUS_SUBMITTED,
           $this->_siteID,
           $this->_db->makeQueryInteger($candidateID),
           $this->_siteID
       );*/
     return $this->_db->getAssoc($sql);
 }
Пример #4
0
 public function getRecordCount(ClsAuieoSQL &$objSQL)
 {
     $this->setQuery($objSQL->render(true));
     $arrRow = $this->getAllAssoc();
     return $arrRow[0]["count"];
 }
Пример #5
0
 /**
  * Returns the entire job orders list.
  *
  * @param flag job order status flag
  * @param integer assigned-to owner/recruiter user ID (optional)
  * @param integer assigned-to company ID (optional)
  * @param integer assigned-to contact ID (optional)
  * @param boolean only hot job orders
  * @return array job orders data
  */
 public function getAllByProject($projectID, $status = 'Active')
 {
     switch ($status) {
         case JOBORDERS_STATUS_ACTIVE:
             $statusCriterion = "AND joborder.status = 'Active'";
             break;
         case JOBORDERS_STATUS_ONHOLDFULL:
             $statusCriterion = "AND joborder.status IN ('OnHold', 'Full')";
             break;
         case JOBORDERS_STATUS_ACTIVEONHOLDFULL:
             $statusCriterion = "AND joborder.status IN ('Active', 'OnHold', 'Full')";
             break;
         case JOBORDERS_STATUS_CLOSED:
             $statusCriterion = "AND joborder.status = 'Closed'";
             break;
         case JOBORDERS_STATUS_ALL:
         default:
             $statusCriterion = '';
             break;
     }
     $objProjectsJoborderFrom = new ClsAuieoSQLFrom();
     $objSQL = new ClsAuieoSQL();
     $objJoborderFrom = $objSQL->addFrom("joborder");
     $joinJoborder = $objJoborderFrom->addJoinField("joborder_id");
     $objProjectsJoborderFrom = $objSQL->addFrom("auieo_projects_joborder");
     $joinProjectJoborder = $objProjectsJoborderFrom->addJoinField("joborderid");
     $objProjectsJoborderFrom->setJoinWith($objJoborderFrom, $joinJoborder, $joinProjectJoborder);
     $objSQL->addSelect($objJoborderFrom, "joborder_id", "id");
     $objSQL->addSelect($objJoborderFrom, "title", "joborder");
     $objSQL->addSelect($objProjectsJoborderFrom, "startdate");
     $objSQL->addSelect($objProjectsJoborderFrom, "targetenddate");
     $objSQL->addWhere($objProjectsJoborderFrom, "projectsid", $projectID);
     $sql = $objSQL->render();
     if (!eval(Hooks::get('JO_GET_ALL_SQL'))) {
         return;
     }
     return $this->_db->getAllAssoc($sql);
 }
Пример #6
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;
 }
Пример #7
0
/**
 * add the where condition for listing the record
 * @param type $dgModule
 * @return string
 */
function loadPermittedRecordWhere(ClsAuieoSQL &$objSQL, $data_item_type)
{
    $access_level = Users::getInstance()->getUserInfo("access_level");
    if ($access_level == 500) {
        return;
    }
    $from = $objSQL->getDefaultFrom();
    if (getSharingAccess($data_item_type) <= 0) {
        $obj = Users::getInstance();
        $objSQL->setWhereGroupStart();
        $objSQL->setWhereGroupStart();
        //$arrTmpWhere[]="({$dgTable}.owner = ".$_SESSION["CATS"]->getUserID()." and {$dgTable}.ownertype=0)";
        $objSQL->addWhere($from, "owner", $_SESSION["CATS"]->getUserID());
        $whr1 = $objSQL->addWhere($from, "ownertype", 0);
        $whr1->setBoolean("OR");
        $objSQL->setWhereGroupEnd();
        $objSQL->setWhereGroupStart();
        $arrUserAllowed = $obj->getChildRolesUsers();
        if ($arrUserAllowed) {
            foreach ($arrUserAllowed as $userAllowed) {
                $objSQL->setWhereGroupStart();
                $objSQL->addWhere($from, "owner", $userAllowed);
                $whr2 = $objSQL->addWhere($from, "ownertype", 0);
                $whr2->setBoolean("OR");
                $objSQL->setWhereGroupEnd();
            }
        }
        $arrGroup = $obj->getAllGroups();
        if ($arrGroup) {
            foreach ($arrGroup as $group) {
                $objSQL->setWhereGroupStart();
                $objSQL->addWhere($from, "owner", $group);
                $whr3 = $objSQL->addWhere($from, "ownertype", 1);
                $whr3->setBoolean("OR");
                $objSQL->setWhereGroupend();
            }
        }
        $objSQL->setWhereGroupEnd();
    }
}
Пример #8
0
 public function buildFilter(ClsAuieoSQL &$objSQL)
 {
     $objFromCandidate=$objSQL->getFromObjectByTableName($this->table);
     $arrWhere=array();
     $objRequest=ClsNaanalRequest::getInstance();
     $arrFieldFilter=$objRequest->getData("fldfilter");
     if($arrFieldFilter)
     {
         $data=$objRequest->getData("data");
         $condition=$objRequest->getData("condition");
         $boolean=$objRequest->getData("boolean");
         $group=$objRequest->getData("boolean");
         foreach($arrFieldFilter as $ind=>$fldFilter)
         {
             if(empty($data[$ind])) continue;
             $arrWhere[]=array("field"=>$fldFilter,"data"=>$data[$ind],"condition"=>$condition[$ind],"boolean"=>$boolean[$ind],"group"=>$group[$ind]==1?true:false);
         }
     }
     $where="";
     if($arrWhere)
     foreach($arrWhere as $ind=>$whr)
     {
         if(is_numeric($whr["field"]))
         {
             $sql="select * from extra_field_settings where extra_field_settings_id={$whr["field"]}";
             $db = DatabaseConnection::getInstance();
             $arrRow=$db->getAllAssoc($sql);
             $field_name=$arrRow[0]["field_name"];
             $ctable="STABLE{$ind}";
             $cfield="`STABLE{$ind}`.`{$field_name}`";
             $cquery="select {$this->table}.{$this->table}_id as `parent_table_id{$ind}`,`ext{$ind}`.`value` AS `{$field_name}` from {$this->table} left join `extra_field` AS `ext{$ind}` ON {$this->table}.{$this->table}_id = ext{$ind}.data_item_id  AND ext{$ind}.field_name='{$field_name}'";
             $cfrom=$objSQL->addQuery($cquery,$ctable);
             $cjoin=$cfrom->addJoinField("parent_table_id{$ind}");
             $ccandidate=new ClsAuieoSQLFrom();
             $ccandidate->setTable("candidate");
             $ccjoin=$ccandidate->addJoinField("candidate_id");//trace($cjoin);
             $cfrom->setJoinWith($ccandidate,$ccjoin, $cjoin);
             $objSQL->addSelect($cfrom, $field_name);
             $objWhere=$objSQL->addWhere($cfrom, $field_name, $whr["data"]);
         }
         else
         {
             $objWhere=$objSQL->addWhere($objFromCandidate, $whr["field"], $whr["data"]);
             $boolean=$arrWhere[$ind]["boolean"];
             $objWhere->setBoolean($boolean);
         }
         if($whr["group"]==1)
         {
             $objWhere->setGroup();
         }
         if(empty($where))
         {
             if($whr["condition"]=="equals")
             {
             }
             else
             {
                 $objWhere->setCondition("like");
             }
         }
         else
         {
             if($whr["condition"]=="equals")
             {
             }
             else
             {
                 $objWhere->setCondition("like");
             }
         }
     }
 }
Пример #9
0
 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;
 }
Пример #10
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;
    }