Skill_Level.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. /**
  3. * Skill level entity file.
  4. *
  5. * Creates the entity and makes it available.
  6. *
  7. * @category Entity
  8. */
  9. /**
  10. * Require dependent entities if not present.
  11. */
  12. require_once(PATH::ENTITY . "Entity.php");
  13. /**
  14. * Monster skill level.
  15. *
  16. * Represents an object from the table 'skill_level'.
  17. *
  18. * @category Entity
  19. */
  20. class Skill_Level extends Entity{
  21. /**
  22. * @var int Skill identifier.
  23. */
  24. private $skill;
  25. /**
  26. * @var int Skill level.
  27. */
  28. private $level;
  29. /**
  30. * @var string Upgrade description.
  31. */
  32. private $description;
  33. /**
  34. * Retrieves the skill identifier.
  35. *
  36. * @return number Skill ID.
  37. */
  38. public function get_skill(){
  39. return $this->skill;
  40. }
  41. /**
  42. * Retrieves the skill level.
  43. *
  44. * @return number Skill level.
  45. */
  46. public function get_level(){
  47. return $this->level;
  48. }
  49. /**
  50. * Retrieves the upgrade at this level.
  51. *
  52. * @return string Skill level description.
  53. */
  54. public function get_description(){
  55. return $this->description;
  56. }
  57. /**
  58. * Constructor.
  59. *
  60. * Searches the database and retrieves the information about the
  61. * skill level, populating it and it's items.
  62. *
  63. * @param int $skill Skill identifier.
  64. * @param int $level Skill level.
  65. */
  66. public function __construct($skill, $level){
  67. $statement = get_context()->get_db()->prepare("
  68. SELECT
  69. skill,
  70. level,
  71. description
  72. FROM skill_level
  73. WHERE
  74. skill = :skill AND
  75. level = :level;
  76. ");
  77. $statement->bindValue(':skill', $skill, SQLITE3_TEXT);
  78. $statement->bindValue(':level', $level, SQLITE3_TEXT);
  79. $r = $statement->execute()->fetchArray(SQLITE3_ASSOC);
  80. if ($r){
  81. $this->skill = $r["skill"];
  82. $this->level = $r["level"];
  83. $this->description = HTML::e($r["description"]);
  84. }
  85. }
  86. }
  87. ?>