public function getEquipmentSizeText() { $model = EquipmentSize::model()->findByPk($this->equipment_size_id); return $model->name; }
public function actionIndex() { //Init $data = array('defaultValues' => array('inventory_type' => Inventory::EQUIPMENT_TYPE_ARMOUR, 'spear_name' => null, 'spear_material' => null, 'spear_equipment_size' => null, 'spear_equipment_quality' => null, 'spear_equipment_rarity' => null, 'spear_damage_min' => null, 'spear_damage_max' => null, 'spear_pde_min' => null, 'spear_pde_max' => null, 'spear_prize_min' => null, 'spear_prize_max' => null, 'armour_name' => null, 'armour_material' => null, 'armour_equipment_size' => null, 'armour_equipment_quality' => null, 'armour_equipment_rarity' => null, 'armour_endurance_min' => null, 'armour_endurance_max' => null, 'armour_pde_min' => null, 'armour_pde_max' => null, 'armour_prize_min' => null, 'armour_prize_max' => null, 'armour_type' => null), 'result' => array()); //Check input filter if (isset($_POST['inventory_type']) && is_numeric($_POST['inventory_type'])) { $data['defaultValues']['inventory_type'] = $_POST['inventory_type']; //For search $conditions = '1=1 '; $params = array(); switch ($_POST['inventory_type']) { case Inventory::EQUIPMENT_TYPE_ARMOUR: if (isset($_POST['armour_name']) && $_POST['armour_name'] != '') { $data['defaultValues']['armour_name'] = $_POST['armour_name']; $conditions .= 'AND name like :name '; $params[':name'] = '%' . $_POST['armour_name'] . '%'; } if (isset($_POST['armour_material']) && is_numeric($_POST['armour_material'])) { $data['defaultValues']['armour_material'] = $_POST['armour_material']; $conditions .= 'AND armours_materials_id = :armours_materials_id '; $params[':armours_materials_id'] = $_POST['armour_material']; } if (isset($_POST['armour_equipment_size']) && is_numeric($_POST['armour_equipment_size'])) { $data['defaultValues']['armour_equipment_size'] = $_POST['armour_equipment_size']; $conditions .= 'AND equipment_size_id = :equipment_size_id '; $params[':equipment_size_id'] = $_POST['armour_equipment_size']; } if (isset($_POST['armour_equipment_quality']) && is_numeric($_POST['armour_equipment_quality'])) { $data['defaultValues']['armour_equipment_quality'] = $_POST['armour_equipment_quality']; $conditions .= 'AND armour_equipment_size_id = :armour_equipment_size_id '; $params[':armour_equipment_size_id'] = $_POST['armour_equipment_quality']; } if (isset($_POST['armour_equipment_rarity']) && is_numeric($_POST['armour_equipment_rarity'])) { $data['defaultValues']['armour_equipment_rarity'] = $_POST['armour_equipment_rarity']; $conditions .= 'AND equipment_rarity_id = :equipment_rarity_id '; $params[':equipment_rarity_id'] = $_POST['armour_equipment_quality']; } if (isset($_POST['armour_endurance_min']) && is_numeric($_POST['armour_endurance_min'])) { $data['defaultValues']['armour_endurance_min'] = $_POST['armour_endurance_min']; $conditions .= 'AND endurance >= :endurance_min '; $params[':endurance_min'] = $_POST['armour_endurance_min'] - 1 < 0 ? 0 : $_POST['armour_endurance_min'] - 1; //Calcula min } if (isset($_POST['armour_endurance_max']) && is_numeric($_POST['armour_endurance_max'])) { $data['defaultValues']['armour_endurance_max'] = $_POST['armour_endurance_max']; $conditions .= 'AND endurance <= :endurance_max '; $params[':endurance_max'] = $_POST['armour_endurance_max'] - 10 < 0 ? 0 : $_POST['armour_endurance_max'] - 10; //Calculate max } if (isset($_POST['armour_pde_min']) && is_numeric($_POST['armour_pde_min'])) { $data['defaultValues']['armour_pde_min'] = $_POST['armour_pde_min']; $conditions .= 'AND pde >= :pde_min '; $params[':pde_min'] = $_POST['armour_pde_min']; } if (isset($_POST['armour_pde_max']) && is_numeric($_POST['armour_pde_max'])) { $data['defaultValues']['armour_pde_max'] = $_POST['armour_pde_max']; $conditions .= 'AND pde <= :pde_max '; $params[':pde_max'] = $_POST['armour_pde_max']; } if (isset($_POST['armour_prize_min']) && is_numeric($_POST['armour_prize_min'])) { $data['defaultValues']['armour_prize_min'] = $_POST['armour_prize_min']; $conditions .= 'AND prize >= :prize_min '; $params[':prize_min'] = $_POST['armour_prize_min']; } if (isset($_POST['armour_prize_max']) && is_numeric($_POST['armour_prize_max'])) { $data['defaultValues']['armour_prize_max'] = $_POST['armour_prize_max']; $conditions .= 'AND prize <= :pde_max '; $params[':pde_max'] = $_POST['armour_prize_max']; } if (isset($_POST['armour_type']) && is_numeric($_POST['armour_type'])) { $data['defaultValues']['armour_type'] = $_POST['armour_type']; $conditions .= 'AND type = :type '; $params[':type'] = $_POST['armour_type']; } $data['result'] = Armours::model()->findAll($conditions, $params); break; case Inventory::EQUIPMENT_TYPE_SPEAR: if (isset($_POST['spear_name']) && $_POST['spear_name'] != '') { $data['defaultValues']['spear_name'] = $_POST['spear_name']; $conditions .= 'AND name like :spear_name'; $params[':spear_name'] = '%' . $_POST['spear_name'] . '%'; } if (isset($_POST['spear_material']) && is_numeric($_POST['spear_material'])) { $data['defaultValues']['spear_material'] = $_POST['spear_material']; $conditions .= 'AND spears_materials_id = :spear_material'; $params[':spear_material'] = $_POST['spear_material']; } if (isset($_POST['spear_equipment_size']) && is_numeric($_POST['spear_equipment_size'])) { $data['defaultValues']['spear_equipment_size'] = $_POST['spear_equipment_size']; $conditions .= 'AND equipment_size_id = :equipment_size_id'; $params[':equipment_size_id'] = $_POST['spear_equipment_size']; } if (isset($_POST['spear_equipment_quality']) && is_numeric($_POST['spear_equipment_quality'])) { $data['defaultValues']['spear_equipment_quality'] = $_POST['spear_equipment_quality']; $conditions .= 'AND equipment_qualities_id = :equipment_qualities_id'; $params[':equipment_qualities_id'] = $_POST['spear_equipment_quality']; } if (isset($_POST['spear_equipment_rarity']) && is_numeric($_POST['spear_equipment_rarity'])) { $data['defaultValues']['spear_equipment_rarity'] = $_POST['spear_equipment_rarity']; $conditions .= 'AND equipment_rarity_id = :equipment_rarity_id'; $params[':equipment_rarity_id'] = $_POST['spear_equipment_rarity']; } if (isset($_POST['spear_damage_min']) && is_numeric($_POST['spear_damage_min'])) { $data['defaultValues']['spear_damage_min'] = $_POST['spear_damage_min']; $conditions .= 'AND damage >= :damage_min'; $params[':damage_min'] = $_POST['spear_damage_min']; } if (isset($_POST['spear_damage_max']) && is_numeric($_POST['spear_damage_max'])) { $data['defaultValues']['spear_damage_max'] = $_POST['spear_damage_max']; $conditions .= 'AND damage <= :damage_max'; $params[':damage_max'] = $_POST['spear_damage_max']; } if (isset($_POST['spear_pde_min']) && is_numeric($_POST['spear_pde_min'])) { $data['defaultValues']['spear_pde_min'] = $_POST['spear_pde_min']; $conditions .= 'AND pde >= :pde_min'; $params[':pde_min'] = $_POST['spear_pde_min']; } if (isset($_POST['spear_pde_max']) && is_numeric($_POST['spear_pde_max'])) { $data['defaultValues']['spear_pde_max'] = $_POST['spear_pde_max']; $conditions .= 'AND pde <= :pde_max'; $params[':pde_max'] = $_POST['spear_pde_max']; } if (isset($_POST['spear_prize_min']) && is_numeric($_POST['spear_prize_min'])) { $data['defaultValues']['spear_prize_min'] = $_POST['spear_prize_min']; $conditions .= 'AND prize >= :prize_min'; $params[':prize_min'] = $_POST['spear_prize_min']; } if (isset($_POST['spear_prize_max']) && is_numeric($_POST['spear_prize_max'])) { $data['defaultValues']['spear_prize_max'] = $_POST['spear_prize_max']; $conditions .= 'AND prize <= :prize_min'; $params[':prize_min'] = $_POST['spear_prize_max']; } $data['result'] = Spears::model()->findAll($conditions, $params); break; case Inventory::EQUIPMENT_TYPE_TRICK: break; default: //inventory type is not define } } //Load data filter $data['inventory_type_list'] = array("" . Inventory::EQUIPMENT_TYPE_ARMOUR => 'Armadura', "" . Inventory::EQUIPMENT_TYPE_SPEAR => 'Lanza', "" . Inventory::EQUIPMENT_TYPE_TRICK => 'Trampa'); //Load data for material, qualities, rarity $data['spear_material'] = SpearsMaterials::model()->findAll(); $data['armour_material'] = ArmoursMaterials::model()->findAll(); $data['equipment_size'] = EquipmentSize::model()->findAll(); $data['equipment_quality'] = EquipmentQualities::model()->findAll(); $data['equipment_rarity'] = EquipmentRarity::model()->findAll(); $data['armour_type'] = Constants::model()->findAll('type = :type', array(':type' => Armours::TYPE)); //Load data for select $data['spear_material_list'] = CHtml::listData($data['spear_material'], 'id', 'name'); $data['armour_material_list'] = CHtml::listData(ArmoursMaterials::model()->findAll(), 'id', 'name'); $data['equipment_size_list'] = CHtml::listData(EquipmentSize::model()->findAll(), 'id', 'name'); $data['equipment_quality_list'] = CHtml::listData(EquipmentQualities::model()->findAll(), 'id', 'name'); $data['equipment_rarity_list'] = CHtml::listData(EquipmentRarity::model()->findAll(), 'id', 'name'); $data['armour_type_list'] = CHtml::listData(Constants::model()->findAll('type = :type', array(':type' => Armours::TYPE)), 'id', 'name'); //Render template $this->render('index', $data); }
/** * Return a row */ public function actionGet() { $output = array('errno' => 1, 'message' => '', 'row' => null); if (isset($_GET['id']) && is_numeric($_GET['id'])) { $model = EquipmentSize::model()->findByPk($_GET['id']); if ($model) { $output['row'] = $model->attributes; $output['errno'] = 0; } else { $output['message'] = 'El identificador no se ha encontrado.'; } } else { $output['message'] = 'El identificador no es válido.'; } //Show output echo CJavaScript::jsonEncode($output); }