public static function get_all(Database $dbObj, $characterId, $basedOnAbilityId = null) { $sql = 'SELECT cs.*, a.ability_name, ca.ability_score, ca.temporary_score FROM csbt_character_skill_table AS cs INNER JOIN csbt_ability_table AS a ON (cs.ability_id=a.ability_id) INNER JOIN csbt_character_ability_table AS ca ON (cs.character_id=ca.character_id AND a.ability_id=ca.ability_id) WHERE cs.character_id=:id'; $params = array('id' => $characterId); if (!is_null($basedOnAbilityId) && is_numeric($basedOnAbilityId)) { $sql .= ' AND cs.ability_id=:aid '; $params['aid'] = $basedOnAbilityId; } $sql .= ' ORDER BY cs.skill_name'; try { $dbObj->run_query($sql, $params); $retval = $dbObj->farray_fieldnames(self::pkeyField); } catch (Exception $e) { throw new ErrorException(__METHOD__ . ":: failed to retrieve character skills, DETAILS::: " . $e->getMessage()); } return $retval; }
public static function search(Database $dbObj, array $criteria) { if (is_array($criteria) && count($criteria)) { $retval = array(); $sql = "SELECT c.*, ca.campaign_name FROM " . Character::tableName . " AS c\n\t\t\t\tLEFT OUTER JOIN " . Campaign::tableName . " AS ca \n\t\t\t\tUSING (campaign_id)\n\t\t\t\tWHERE \n\t\t\t\t(LOWER(c.character_name) LIKE :character_name OR :character_name IS NULL)\n\t\t\t\tAND \n\t\t\t\t(LOWER(ca.campaign_name) LIKE :campaign_name OR :campaign_name IS NULL)\t\n\t\t\tAND\n\t\t\t\t(c.campaign_id IS NULL)\n\t\t\t\tORDER BY c.character_name, ca.campaign_name"; //Note that the campaign_id IS NULL part is arbitrary... if (!isset($criteria['character_name'])) { $criteria['character_name'] = null; } else { $criteria['character_name'] .= '%'; } if (!isset($criteria['campaign_name'])) { $criteria['campaign_name'] = null; } else { $criteria['campaign_name'] .= '%'; } // if(!isset($criteria['campaign'])) try { $numRows = $dbObj->run_query($sql, $criteria); if ($numRows > 0) { $retval = $dbObj->farray_fieldnames(Character::pkeyField); } } catch (Exception $e) { cs_debug_backtrace(1); throw new exception(__METHOD__ . ": error while running search::: " . $e->getMessage()); } } else { throw new exception(__METHOD__ . ": invalid or empty search criteria"); } return $retval; }
public static function get_all(Database $dbObj, $characterId) { $retval = array(); $sql = "SELECT * FROM " . self::tableName . " WHERE character_id=:id"; $params = array('id' => $characterId); $rows = $dbObj->run_query($sql, $params); if ($rows > 0) { $retval = $dbObj->farray_fieldnames(self::pkeyField); } return $retval; }
public static function get_all(Database $dbObj, $characterId) { $sql = 'SELECT * FROM ' . self::tableName . ' WHERE character_id=:id ORDER BY ' . self::pkeyField; $params = array('id' => $characterId); try { $dbObj->run_query($sql, $params); $retval = $dbObj->farray_fieldnames(self::pkeyField); } catch (Exception $e) { throw new ErrorException(__METHOD__ . ":: failed to retrieve character weapons, DETAILS::: " . $e->getMessage()); } return $retval; }
public static function get_all(Database $dbObj, $characterId) { $sql = "SELECT * FROM " . self::tableName . " WHERE character_id=:id"; $params = array('id' => $characterId); try { $dbObj->run_query($sql, $params); $retval = $dbObj->farray_fieldnames(self::pkeyField); } catch (Exception $ex) { throw new ErrorException(__METHOD__ . ": error while retrieving character gear, DETAILS::: " . $ex->getMessage()); } return $retval; }
public static function get_all(Database $dbObj, $ownerUid) { $retval = array(); $sql = "SELECT * FROM " . self::tableName . " WHERE owner_uid=:id ORDER BY campaign_name"; $params = array('id' => $ownerUid); $rows = $dbObj->run_query($sql, $params); if ($rows > 0) { $retval = $dbObj->farray_fieldnames(self::pkeyField); // foreach (array_keys($retval) as $id) { $retval[$id]['playerList'] = CampaignCharacterList::get_character_list($dbObj, $id); } } return $retval; }
public static function get_character_list(Database $dbObj, $campaignId) { $characterList = array(); try { // $characterList = $this->get_records(array('campaign_id'=>$this->campaignId), 'character_name'); $sql = "SELECT * FROM " . self::tableName . " WHERE campaign_id=:id ORDER BY character_name"; $numrows = $dbObj->run_query($sql, array('id' => $campaignId)); if ($numrows > 0) { $characterList = $dbObj->farray_fieldnames(self::pkeyField); } } catch (exception $e) { throw new exception(__METHOD__ . ": failed to retrieve character list::: " . $e->getMessage()); } return $characterList; }
public static function get_all(Database $dbObj, $characterId) { if (!is_null($characterId) && $characterId > 0) { $sql = "SELECT ca.*, a.ability_name, a.display_name " . "FROM csbt_character_ability_table " . "AS ca INNER JOIN csbt_ability_table AS a USING (ability_id) " . "WHERE ca.character_id=:id " . "ORDER BY a.display_order"; $params = array('id' => $characterId); try { $dbObj->run_query($sql, $params); $data = $dbObj->farray_fieldnames('ability_name'); } catch (Exception $ex) { throw new ErrorException(__METHOD__ . ": failed to retrieve cache, DETAILS::: " . $ex->getMessage()); } } else { throw new ErrorException(__METHOD__ . ": characterId required"); } return $data; }
public static function get_all_saves(Database $dbObj, $byId = false) { $sql = "SELECT s.*, a.* FROM csbt_save_table AS s \n\t\t\tINNER JOIN csbt_ability_table AS a ON (s.ability_id=a.ability_id)"; try { $numrows = $dbObj->run_query($sql); if ($numrows > 0) { if ($byId) { $data = $dbObj->farray_fieldnames('save_id'); } else { $data = $dbObj->farray_fieldnames('save_name'); } } else { throw new LogicException(__METHOD__ . ": no data available"); } } catch (Exception $ex) { throw new ErrorException(__METHOD__ . ": failed to retrieve cache, DETAILS::: " . $ex->getMessage()); } return $data; }
/** * * @param bool/optional $onlyInUse If specified, returns only those with the * given value in the "in_use" column. * * @return type * @throws ErrorException */ public static function get_all(Database $dbObj, $characterId, $onlyInUse = null) { $sql = 'SELECT * FROM ' . self::tableName . ' WHERE '; //'character_id=:id'; $params = array('character_id' => $characterId); if (!is_null($onlyInUse) && is_bool($onlyInUse)) { $params['in_use'] = ToolBox::interpret_bool($onlyInUse, array('f', 't')); } $addThis = ""; foreach (array_keys($params) as $n) { $addThis = ToolBox::create_list($addThis, $n . '=:' . $n, ' AND '); } $sql .= $addThis; try { $dbObj->run_query($sql, $params); $retval = $dbObj->farray_fieldnames(self::pkeyField); } catch (Exception $e) { throw new ErrorException(__METHOD__ . ":: failed to retrieve character weapons, DETAILS::: " . $e->getMessage()); } return $retval; }