예제 #1
0
 /**
  * Gets the historical journal for an object from the log database.
  * Objects will have VirtualAttributes available to lookup login, date, and action information from the journal object.
  * @param integer intCustomFieldId
  * @return CustomField[]
  */
 public static function GetJournalForId($intCustomFieldId)
 {
     $objDatabase = CustomField::GetDatabase()->JournalingDatabase;
     $objResult = $objDatabase->Query('SELECT * FROM custom_field WHERE custom_field_id = ' . $objDatabase->SqlVariable($intCustomFieldId) . ' ORDER BY __sys_date');
     return CustomField::InstantiateDbResult($objResult);
 }
예제 #2
0
 /**
  * Static Qcodo Query method to query for an array of CustomField objects.
  * Uses BuildQueryStatment to perform most of the work.
  * @param QQCondition $objConditions any conditions on the query, itself
  * @param QQClause[] $objOptionalClausees additional optional QQClause objects for this query
  * @param mixed[] $mixParameterArray a array of name-value pairs to perform PrepareStatement with
  * @return CustomField[] the queried objects as an array
  */
 public static function QueryArray(QQCondition $objConditions, $objOptionalClauses = null, $mixParameterArray = null)
 {
     // Get the Query Statement
     try {
         $strQuery = CustomField::BuildQueryStatement($objQueryBuilder, $objConditions, $objOptionalClauses, $mixParameterArray, false);
     } catch (QCallerException $objExc) {
         $objExc->IncrementOffset();
         throw $objExc;
     }
     // Perform the Query and Instantiate the Array Result
     $objDbResult = $objQueryBuilder->Database->Query($strQuery);
     return CustomField::InstantiateDbResult($objDbResult, $objQueryBuilder->ExpandAsArrayNodes);
 }
예제 #3
0
    /**
     * Loads an array of entities (assets, inventory, e.g.) based on their active flag and entity qtype
     *
     * @param bool $blnActiveFlag if the field is active or inactive
     * @param integer $intEntityId AssetId, InventoryId, e.g. based on 
     * @param string $strOrderBy
     * @param string $strLimit
     * @param Object ExpansionMap $objExpansionMap
     * @return Array CustomField[]
     */
    public static function LoadArrayByActiveFlagEntity($blnActiveFlag, $intEntityQtypeId, $strOrderBy = null, $strLimit = null, $objExpansionMap = null, $searchable = false)
    {
        // Call to ArrayQueryHelper to Get Database Object and Get SQL Clauses
        CustomField::ArrayQueryHelper($strOrderBy, $strLimit, $strLimitPrefix, $strLimitSuffix, $strExpandSelect, $strExpandFrom, $objExpansionMap, $objDatabase);
        // Properly Escape All Input Parameters using Database->SqlVariable()
        $blnActiveFlag = $objDatabase->SqlVariable($blnActiveFlag, true);
        $intEntityQtypeId = $objDatabase->SqlVariable($intEntityQtypeId, true);
        // Add searching mode
        $strSearchable = '';
        if ($searchable) {
            $strSearchable = ' `custom_field`.`searchable_flag` = 1 AND ';
        }
        // Setup the SQL Query
        $strQuery = sprintf('
				SELECT
				%s
					`custom_field`.*
					%s
				FROM
					`entity_qtype_custom_field` AS `entity_qtype_custom_field`,
					`custom_field` AS `custom_field`
					%s
				WHERE
				  %s
					`custom_field`.`active_flag` %s AND
					`custom_field`.`custom_field_id` = `entity_qtype_custom_field`.`custom_field_id` AND
					`entity_qtype_custom_field`.`entity_qtype_id` %s
				%s
				%s', $strLimitPrefix, $strExpandSelect, $strExpandFrom, $strSearchable, $blnActiveFlag, $intEntityQtypeId, $strOrderBy, $strLimitSuffix);
        // Perform the Query and Instantiate the Result
        $objDbResult = $objDatabase->Query($strQuery);
        return CustomField::InstantiateDbResult($objDbResult);
    }