/** * Return JSON for to show all requirements of a item */ public function actionRequirements() { $output = array('errno' => 1, 'html' => ''); Yii::trace('[APP] apsta '); //Check session if (!Yii::app()->user->isGuest) { Yii::trace('[APP] ' . $_GET['equipments_type'] . ' - ' . $_GET['id'], 'system.web.CController'); //Check input if (isset($_GET['equipments_type']) && is_numeric($_GET['equipments_type']) && $_GET['equipments_type'] > 0 && isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0) { // Get requirements list $equipmentRequirementsList = EquipmentRequirements::model()->with('requirements')->findAll('identificator=:identificator AND equipments_type=:equipments_type', array(':identificator' => $_GET['id'], ':equipments_type' => $_GET['equipments_type'])); // Check if list has items if ($equipmentRequirementsList) { // Build requirement list $list = ''; foreach ($equipmentRequirementsList as $equipmentRequirement) { $list .= '<li />' . $equipmentRequirement->requirements->name . ': ' . $equipmentRequirement->requirements->description; } $output['errno'] = 0; $output['html'] = '<p>No puedes comprar este objeto ya que no cumples todos los requisitos necesarios:</p><ul>' . $list . '</ul>'; } else { $output['html'] = '<p>Este objeto no tiene requesitos.</p>'; } } else { $output['html'] = '<p>Los datos del item no son correctos ' . $_GET['equipments_type'] . ' - ' . $_GET['id'] . '</p>'; } } else { $output['html'] = '<p>La sesión ha expirado. Necesitas volver a hacer login.</p>'; } echo CJSON::encode($output); }
<b><?php echo CHtml::encode($data->getAttributeLabel('equipment_rarity_id')); ?> :</b> <?php echo CHtml::encode($data->getEquipmentRarityText()); ?> <br /> <?php /* <b><?php echo CHtml::encode($data->getAttributeLabel('endurance')); ?>:</b> <?php echo CHtml::encode($data->endurance); ?> <br /> <b><?php echo CHtml::encode($data->getAttributeLabel('pde')); ?>:</b> <?php echo CHtml::encode($data->pde); ?> <br /> <b><?php echo CHtml::encode($data->getAttributeLabel('prize')); ?>:</b> <?php echo CHtml::encode($data->prize); ?> <br /> */ ?> <?php // Show requirement if ($equipmentRequirements_list = EquipmentRequirements::model()->findAll('identificator=:identificator AND equipments_type=:equipments_type', array(':identificator' => $data->id, 'equipments_type' => Inventory::EQUIPMENT_TYPE_ARMOUR))) { foreach ($equipmentRequirements_list as $equipmentRequirements) { echo $this->renderPartial('/equipmentRequirements/_view', array('data' => $equipmentRequirements)); } } ?> </div>
public function actionInventory() { //Almacenamos los datos de la plantilla $data = array(); //Check input if (isset($_GET['sir']) && $_GET['sir'] != '') { if (!($knight = Yii::app()->cache->get(Yii::app()->params['cacheKeys']['knights_by_name'] . $_GET['sir']))) { $knight = Knights::model()->find('name=:name', array(':name' => $_GET['sir'])); if ($knight) { Yii::app()->cache->set(Yii::app()->params['cacheKeys']['knights_by_name'] . $_GET['sir'], $knight, Yii::app()->params['cachetime']['knight']); } } if ($knight) { //datos del caballero $data['knight'] = $knight; //cargamos el inventario del caballero $item_list = Inventory::model()->findAll('knights_id=:knights_id', array(':knights_id' => $knight->id)); $inventory = array(); foreach ($item_list as $item) { switch ($item->type) { case Inventory::EQUIPMENT_TYPE_ARMOUR: $armours_object = ArmoursObjects::model()->with(array('armours' => array('with' => array('type0', 'armoursMaterials', 'equipmentSize', 'equipmentQualities', 'equipmentRarity'))))->find('t.id=:id', array(':id' => $item->identificator)); $item_info['armours_id'] = $armours_object->armours->id; $item_info['name'] = $armours_object->armours->name; $item_info['armoursPDE'] = $armours_object->armours->pde; $item_info['current_pde'] = $armours_object->current_pde; $item_info['armours_type_name'] = $armours_object->armours->type0->name; $item_info['armoursMaterialName'] = $armours_object->armours->armoursMaterials->name; $item_info['armoursMaterialEndurance'] = $armours_object->armours->armoursMaterials->endurance; $item_info['armoursMaterialPrize'] = $armours_object->armours->armoursMaterials->prize; $item_info['armoursMaterialName'] = $armours_object->armours->armoursMaterials->name; $item_info['equipmentSizeName'] = $armours_object->armours->equipmentSize->name; $item_info['equipmentQualitiesName'] = $armours_object->armours->equipmentQualities->name; $item_info['equipmentRarityName'] = $armours_object->armours->equipmentRarity->name; // Load requirements if ($equipmentRequirements_list = EquipmentRequirements::model()->findAll('identificator=:identificator AND equipments_type=:equipments_type', array(':identificator' => $armours_object->armours->id, ':equipments_type' => Inventory::EQUIPMENT_TYPE_ARMOUR))) { // Load all requirement $item_info['requirement_list'] = array(); foreach ($equipmentRequirements_list as $equipmentRequirements) { $item_info['requirement_list'][] = Requirements::model()->findByPk($equipmentRequirements->requirements_id); } } else { // No rquirement $item_info['requirement_list'] = null; } $template = 'armour'; break; case Inventory::EQUIPMENT_TYPE_SPEAR: $spears_object = SpearsObjects::model()->with(array('spears' => array('with' => array('equipmentQualities', 'equipmentRarity', 'equipmentSize', 'spearsMaterials', 'spearsObjects'))))->find('t.id=:id', array(':id' => $item->identificator)); $item_info['spears_id'] = $spears_object->spears->id; $item_info['name'] = $spears_object->spears->name; $item_info['PDE'] = $spears_object->spears->pde; $item_info['current_pde'] = $spears_object->current_pde; $item_info['spears_damage'] = $spears_object->spears->damage; $item_info['spearPrize'] = $spears_object->spears->prize; $item_info['spearsMaterialName'] = $spears_object->spears->spearsMaterials->name; $item_info['equipmentQualitiesName'] = $spears_object->spears->equipmentQualities->name; $item_info['equipmentSizeName'] = $spears_object->spears->equipmentSize->name; $item_info['equipmentRarityName'] = $spears_object->spears->equipmentRarity->name; // Load requirements if ($equipmentRequirements_list = EquipmentRequirements::model()->findAll('identificator=:identificator AND equipments_type=:equipments_type', array(':identificator' => $spears_object->spears->id, ':equipments_type' => Inventory::EQUIPMENT_TYPE_SPEAR))) { // Load all requirement $item_info['requirement_list'] = array(); foreach ($equipmentRequirements_list as $equipmentRequirements) { $item_info['requirement_list'][] = Requirements::model()->findByPk($equipmentRequirements->requirements_id); } } else { // No rquirement $item_info['requirement_list'] = null; } $template = 'spear'; break; case Inventory::EQUIPMENT_TYPE_TRICK: //FALTA DEFINIR LOS TRICKS!! $template = 'trick'; break; } $data_template = array('item' => $item, 'item_info' => $item_info); $inventory[$item->position] = $this->renderFile(Yii::app()->basePath . '/views/character/item_' . $template . '.php', $data_template, true); } $data['inventory'] = $inventory; //Load knights_status template //$data['knights_status_template'] = $this->renderFile( Yii::app()->basePath.'/views/character/knights_status.php', array('knight'=>$knight), true ); //Datos del caballero del usuario $data['user_data'] = $this->user_data; $this->render('inventory', $data); } else { //User not valid $this->redirect(array('error')); } } else { //Input no valid //echo 'El nombre de usuario NO es válido.'; $this->redirect(array('error')); } }
$requirementsAccomplish = false; } } // Check skill else if ($requirement->skill!=null) { $attributeName = Constants::model()->findByPk($requirement->skill); if ($requirement->value >= $this->user_data['knights_card']->{$attributeName->name}) { $requirementsAccomplish = false; } } } } */ Yii::trace('[APP] checkAccomplish index'); ?> <?php if (!Yii::app()->user->isGuest && !EquipmentRequirements::checkAccomplish(Inventory::EQUIPMENT_TYPE_SPEAR, $row->id, $this->user_data['knights']->id)) { ?> <td><a href="/medievalmarket/requirements/equipments_type/<?php echo Inventory::EQUIPMENT_TYPE_SPEAR . '/id/' . $row->id; ?> " class="medievalmarket_requirements">requisitos</a></td> <?php } else { ?> <?php if ($row->equipment_rarity_id == EquipmentRarity::VERY_COMMON) { ?> <td><a href="/medievalmarket/confirmBuy/equipments_type/<?php echo Inventory::EQUIPMENT_TYPE_SPEAR . '/id/' . $row->id; ?>
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = EquipmentRequirements::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }