コード例 #1
0
 /**
  * Loads an array of typed objects of a given class (same class as current object by default)
  * which inherit from this class.
  * @access private
  *
  * @param  string  $class          [optional] class name
  * @param  string  $key            [optional] key name in db to use as key of array
  * @param  array   $additionalVars [optional] array of string additional key names to add as vars to object
  * @return array   of objects of the same class (empty array if no objects)
  */
 function &loadTrueObjects($class = null, $key = "", $additionalVars = null)
 {
     if ($additionalVars === null) {
         $additionalVars = array();
     }
     $objectsArray = array();
     $resultsArray = $this->_db->loadAssocList($key);
     if (is_array($resultsArray)) {
         if ($class == null) {
             $class = get_class($this);
         }
         foreach ($resultsArray as $k => $value) {
             $objectsArray[$k] = new $class($this->_db);
             // mosBindArrayToObject( $value, $objectsArray[$k], null, null, false );
             $objectsArray[$k]->bind($value, null, null, false);
             foreach ($additionalVars as $index) {
                 if (array_key_exists($index, $value)) {
                     $objectsArray[$k]->{$index} = $value[$index];
                 }
             }
         }
     }
     return $objectsArray;
 }
コード例 #2
0
	/**
	 * Converts non-numeric value to numeric, otherwise return null
	 *
	 * @param  string       $value
	 * @param  \CBDatabase  $_CB_database
	 * @return string|null
	 */
	private function fieldNameToId( $value, $_CB_database )
	{
		if ( is_numeric( $value ) ) {
			return $value;
		}

		static $fieldNameIdMap		=	array();

		if ( ! isset( $fieldNameIdMap[$value] ) ) {
			$_CB_database->setQuery( "SELECT f." . $_CB_database->NameQuote( 'fieldid' )
				.	"\n FROM " . $_CB_database->NameQuote( '#__comprofiler_fields' ) . " AS f"
				.	"\n WHERE f." . $_CB_database->NameQuote( 'name' ) . ' = ' . $_CB_database->Quote( $value ) );

			$fieldNameIdMap[$value]	=	$_CB_database->loadResult();
		}

		return $fieldNameIdMap[$value];
	}