function loadSearchTerms()
 {
     //---------------------------------------------------------------------
     // data loaded in $this->lNumTerms and $this->terms
     //---------------------------------------------------------------------
     $this->lNumTerms = 0;
     $this->terms = array();
     $cACO = new madmin_aco();
     $sqlStr = "SELECT\n               crs_lKeyID, crs_lReportID, crs_lFieldID, crs_strFieldID,\n               crs_lTableID, crs_lNumLParen, crs_lNumRParen, crs_lSortIDX,\n               crs_lCompareOpt,\n               crs_bCompareBool, crs_lCompVal, crs_strCompVal, crs_curCompVal, crs_dteCompVal,\n               crs_bNextTermBoolAND,\n               crs_lOriginID, crs_lLastUpdateID,\n\n               pff_lCurrencyACO,\n               pff_strFieldNameUser, pff_enumFieldType, pft_strUserTableName, pft_enumAttachType\n            FROM creport_search\n               LEFT JOIN uf_fields ON pff_lKeyID   = crs_lFieldID\n               LEFT JOIN uf_tables ON pff_lTableID = pft_lKeyID\n            WHERE 1 {$this->strWhereExtra}\n            ORDER BY crs_lSortIDX, crs_lKeyID;";
     $query = $this->db->query($sqlStr);
     $this->lNumTerms = $lNumTerms = $query->num_rows();
     if ($lNumTerms == 0) {
         $this->terms[0] = new stdClass();
         $term =& $this->terms[0];
         $term->lKeyID = $term->lReportID = $term->lTableID = $term->lFieldID = $term->strFieldID = $term->enumFieldType = $term->enumAttachType = $term->strFieldNameUser = $term->strUserTableName = $term->lNumLParen = $term->lNumRParen = $term->lSortIDX = $term->lCompareOpt = $term->bCompareBool = $term->lCompVal = $term->curCompVal = $term->lCurrencyACO = $term->strCompVal = $term->mdteCompVal = $term->bNextTermBoolAND = $term->lOriginID = $term->lLastUpdateID = null;
     } else {
         $idx = 0;
         foreach ($query->result() as $row) {
             $this->terms[$idx] = new stdClass();
             $term =& $this->terms[$idx];
             $term->lKeyID = (int) $row->crs_lKeyID;
             $term->lReportID = (int) $row->crs_lReportID;
             $term->lTableID = (int) $row->crs_lTableID;
             $term->lFieldID = (int) $row->crs_lFieldID;
             $term->strFieldID = $row->crs_strFieldID;
             if ($term->lTableID <= 0) {
                 crptFieldPropsParentTable($term->lTableID, $term->strFieldID, $term->strUserTableName, $term->enumFieldType, $term->strFieldNameUser, $term->enumAttachType);
             } else {
                 $term->enumFieldType = $row->pff_enumFieldType;
                 $term->strUserTableName = $row->pft_strUserTableName;
                 $term->strFieldNameUser = $row->pff_strFieldNameUser;
                 $term->enumAttachType = $row->pft_enumAttachType;
             }
             $term->lNumLParen = (int) $row->crs_lNumLParen;
             $term->lNumRParen = (int) $row->crs_lNumRParen;
             $term->lSortIDX = (int) $row->crs_lSortIDX;
             $term->lCompareOpt = (int) $row->crs_lCompareOpt;
             $term->bCompareBool = (bool) $row->crs_bCompareBool;
             $term->lCompVal = (int) $row->crs_lCompVal;
             $term->lCurrencyACO = (int) $row->pff_lCurrencyACO;
             if ($term->lCurrencyACO > 0) {
                 $cACO->loadCountries(false, true, true, $term->lCurrencyACO);
                 $term->ACO = clone $cACO->countries[0];
             }
             $term->curCompVal = $row->crs_curCompVal;
             $term->strCompVal = $row->crs_strCompVal;
             $term->mdteCompVal = $row->crs_dteCompVal;
             $term->bNextTermBoolAND = $row->crs_bNextTermBoolAND;
             $term->lOriginID = $row->crs_lOriginID;
             $term->lLastUpdateID = $row->crs_lLastUpdateID;
             ++$idx;
         }
     }
 }
예제 #2
0
 function loadSortFieldsViaReportID($lReportID, &$lNumTerms, &$sortTerms)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     $lNumTerms = 0;
     $sortTerms = array();
     $sqlStr = "SELECT\n            crst_lKeyID, crst_lReportID, crst_lFieldID, crst_lTableID,\n            crst_strFieldID, crst_lSortIDX, crst_bLarkAscending,\n            crst_lOriginID, crst_lLastUpdateID,\n\n            pff_strFieldNameUser, pff_enumFieldType, pft_strUserTableName, pft_enumAttachType,\n\n            usersC.us_strFirstName AS strCFName, usersC.us_strLastName AS strCLName,\n            usersL.us_strFirstName AS strLFName, usersL.us_strLastName AS strLLName,\n            UNIX_TIMESTAMP(crst_dteOrigin)     AS dteOrigin,\n            UNIX_TIMESTAMP(crst_dteLastUpdate) AS dteLastUpdate\n         FROM creport_sort\n            INNER JOIN admin_users AS usersC ON crst_lOriginID      = usersC.us_lKeyID\n            INNER JOIN admin_users AS usersL ON crst_lLastUpdateID  = usersL.us_lKeyID\n\n            LEFT JOIN uf_fields ON pff_lKeyID   = crst_lFieldID\n            LEFT JOIN uf_tables ON pff_lTableID = pft_lKeyID\n\n         WHERE crst_lReportID={$lReportID}\n         ORDER BY crst_lSortIDX, crst_lKeyID;";
     $query = $this->db->query($sqlStr);
     $lNumTerms = $query->num_rows();
     $idx = 0;
     if ($lNumTerms == 0) {
         $sortTerms[0] = new stdClass();
         $sortTerm =& $sortTerms[0];
         $sortTerm->lKeyID = $sortTerm->lReportID = $sortTerm->lFieldID = $sortTerm->lTableID = $sortTerm->strFieldID = $sortTerm->lSortIDX = $sortTerm->bLarkAscending = $sortTerm->strFieldNameUser = $sortTerm->enumFieldType = $sortTerm->strUserTableName = $sortTerm->enumAttachType = $sortTerm->lOriginID = $sortTerm->lLastUpdateID = $sortTerm->strCFName = $sortTerm->strCLName = $sortTerm->strLFName = $sortTerm->strLLName = $sortTerm->dteOrigin = $sortTerm->dteLastUpdate = null;
     } else {
         foreach ($query->result() as $row) {
             $sortTerms[$idx] = new stdClass();
             $sortTerm =& $sortTerms[$idx];
             $sortTerm->lKeyID = (int) $row->crst_lKeyID;
             $sortTerm->lReportID = (int) $row->crst_lReportID;
             $sortTerm->lFieldID = (int) $row->crst_lFieldID;
             $sortTerm->lTableID = (int) $row->crst_lTableID;
             $sortTerm->strFieldID = $row->crst_strFieldID;
             $sortTerm->lSortIDX = (int) $row->crst_lSortIDX;
             $sortTerm->bLarkAscending = (bool) $row->crst_bLarkAscending;
             if ($sortTerm->lTableID <= 0) {
                 crptFieldPropsParentTable($sortTerm->lTableID, $sortTerm->strFieldID, $sortTerm->strUserTableName, $sortTerm->enumFieldType, $sortTerm->strFieldNameUser, $sortTerm->enumAttachType);
             } else {
                 $sortTerm->enumFieldType = $row->pff_enumFieldType;
                 $sortTerm->strUserTableName = $row->pft_strUserTableName;
                 $sortTerm->strFieldNameUser = $row->pff_strFieldNameUser;
                 $sortTerm->enumAttachType = $row->pft_enumAttachType;
                 $sortTerm->strAttachLabel = strLabelViaContextType($sortTerm->enumAttachType, true, false);
             }
             $sortTerm->lOriginID = (int) $row->crst_lOriginID;
             $sortTerm->lLastUpdateID = (int) $row->crst_lLastUpdateID;
             $sortTerm->strCFName = $row->strCFName;
             $sortTerm->strCLName = $row->strCLName;
             $sortTerm->strLFName = $row->strLFName;
             $sortTerm->strLLName = $row->strLLName;
             $sortTerm->dteOrigin = (int) $row->dteOrigin;
             $sortTerm->dteLastUpdate = (int) $row->dteLastUpdate;
             ++$idx;
         }
     }
     /* -------------------------------------
     echo('<font class="debug">'.substr(__FILE__, strrpos(__FILE__, '\\'))
        .': '.__LINE__.'<br>$sortTerms   <pre>');
     echo(htmlspecialchars( print_r($sortTerms, true))); echo('</pre></font><br>');
     // ------------------------------------- */
 }