PageRenderTime 33ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/nacridan/diplomacy/dalliancepj.inc.php

https://gitlab.com/nacridan/Nacridan
PHP | 227 lines | 199 code | 28 blank | 0 comment | 27 complexity | 85e5657f70da4fb460d6c66d63beb303 MD5 | raw file
  1. <?php
  2. class DAlliancePJ extends HTMLObject
  3. {
  4. public $db;
  5. public $curplayer;
  6. public $nacridan;
  7. public function DAlliancePJ($nacridan, $head, $db)
  8. {
  9. $this->db = $db;
  10. $this->nacridan = $nacridan;
  11. $this->curplayer = $this->nacridan->loadCurSessPlayer($db);
  12. $head->add("<script language='javascript' type='text/javascript' src='" . Cache::get_cached_file('/javascript/ajax.js') . "'></script>");
  13. }
  14. public function toString()
  15. {
  16. $curplayer = $this->curplayer;
  17. $db = $this->db;
  18. $err = "";
  19. if (isset($_GET["pj"]) && $_GET["pj"] == 1) {
  20. $mode = "Player";
  21. $tablename = "PJAlliancePJ";
  22. $fieldname = "id_Player\$dest";
  23. $formtarget = "<form method='POST' action='" . CONFIG_HOST . '/diplomacy/diplomacy.php?center=alliancepj&pj=1' . "' target='_self'>";
  24. } else {
  25. $mode = "Team";
  26. $tablename = "PJAlliance";
  27. $fieldname = "id_Team";
  28. $formtarget = "<form method='POST' action='" . CONFIG_HOST . '/diplomacy/diplomacy.php?center=alliancepj' . "' target='_self'>";
  29. }
  30. if (isset($_POST["alliance"]) || isset($_POST["allied"]) || isset($_POST["ennemy"])) {
  31. if (! $this->nacridan->isRepostForm()) {
  32. require_once (HOMEPATH . "/factory/TeamFactory.inc.php");
  33. if (isset($_POST["alliance"]))
  34. TeamFactory::addPlayerAlliance($curplayer, $_POST["alliance"], quote_smart($_POST["type"]), $err, $mode, $db);
  35. if (isset($_POST["allied"])) {
  36. if (isset($_POST["checkA"]))
  37. TeamFactory::removePlayerAlliance($curplayer, quote_smart($_POST["checkA"]), $err, $mode, $db);
  38. else
  39. $err = localize("Erreur: Vous devez faire une sélection en cliquant sur les cases à cocher avant.");
  40. }
  41. if (isset($_POST["ennemy"])) {
  42. if (isset($_POST["checkE"]))
  43. TeamFactory::removePlayerAlliance($curplayer, quote_smart($_POST["checkE"]), $err, $mode, $db);
  44. else
  45. $err = localize("Erreur: Vous devez faire une sélection en cliquant sur les cases à cocher avant.");
  46. }
  47. } else {
  48. $str = eval(file_get_contents(HOMEPATH . "/include/reposterror.inc.php"));
  49. }
  50. } else {
  51. $str = "<table class='maintable centerareawidth'>\n";
  52. $str .= "<tr><td class='mainbgtitle'>\n";
  53. $str .= "<b><h1>" . localize("Vos Alliances Personnelles") . "</h1></b></td></tr>\n";
  54. $str .= "</tr></table>\n";
  55. $modify = 1;
  56. if ($modify) {
  57. $str .= $formtarget;
  58. if ($mode == "Player") {
  59. $str .= "<table class='maintable centerareawidth'>\n";
  60. $str .= "<tr><td class='mainbgtitle' width='160px'>" . localize("Nom du Personnage (PJ) :") . "</td>";
  61. $str .= "<td class='mainbgtitle'><input name='alliance' id='alliance' autocomplete='off' maxlength=32 size=32 value='' onKeyUp=\"checkAlliancePJ(this.value,'alliance')\"></td><td class='mainbgtitle'>";
  62. } else {
  63. $str .= "<table class='maintable centerareawidth'>\n";
  64. $str .= "<tr><td class='mainbgtitle' width='110px'>" . localize("Nom de l'ordre :") . "</td>";
  65. $str .= "<td class='mainbgtitle'><input name='alliance' id='alliance' autocomplete='off' maxlength=40 size=40 value='' onKeyUp=\"checkAlliance(this.value,'alliance')\"></td><td class='mainbgtitle'>";
  66. }
  67. $str .= "<select class='cqselector' name='type'>";
  68. $str .= "<option value='1' selected='selected'>" . localize("Allié") . "</option>";
  69. $str .= "<option value='0'>" . localize("Ennemi") . "</option>";
  70. $str .= "</select></td><td><input id='submitbt' type='submit' name='submitbt' value='Ajouter' /></td></tr>";
  71. $str .= "<input name='idform' type='hidden' value='" . getCurrentPageId() . "' />\n";
  72. $str .= "</table></form>";
  73. $str .= "<div style='position: absolute; color: #D1DADD ; width: 400px; background-color: #000000;' class='ajaxarea' id='ajaxResp'></div></td></tr>";
  74. }
  75. $str .= "<table><tr><td valign='top'>\n";
  76. $dbt = new DBCollection(
  77. "SELECT " . $tablename . ".id,name,type FROM " . $tablename . " LEFT JOIN " . $mode . " ON " . $mode . ".id=" . $tablename . "." . $fieldname .
  78. " WHERE type='Allié' AND id_Player\$src=" . $curplayer->get("id"), $db);
  79. $arrayMember = array();
  80. while (! $dbt->eof()) {
  81. if ($modify)
  82. $arrayMember[] = array(
  83. "0" => array(
  84. "<input type='checkbox' name='checkA[]' value='" . $dbt->get("id") . "'>",
  85. "class='mainbgbody' align='center'"
  86. ),
  87. "1" => array(
  88. $dbt->get("name"),
  89. "class='mainbgbody' align='left'"
  90. ),
  91. "2" => array(
  92. localize($dbt->get("type")),
  93. "class='mainbgbody' align='left'"
  94. )
  95. );
  96. else
  97. $arrayMember[] = array(
  98. "0" => array(
  99. " ",
  100. "class='mainbgbody' align='center'"
  101. ),
  102. "1" => array(
  103. $dbt->get("name"),
  104. "class='mainbgbody' align='left'"
  105. )
  106. );
  107. $dbt->next();
  108. }
  109. $str .= $formtarget;
  110. $str .= createTable(2, $arrayMember,
  111. array(
  112. array(
  113. "<h2>" . localize("Allié") . "</h2>",
  114. "class='mainbgtitle' colspan=3 align='left'"
  115. )
  116. ),
  117. array(
  118. array(
  119. "",
  120. "class='mainbglabel' width='5%' align='center'"
  121. ),
  122. array(
  123. localize("Nom"),
  124. "class='mainbglabel' width='70%' align='left'"
  125. )
  126. ), "class='maintable halfcenterareawidth'");
  127. if ($modify) {
  128. $str .= "<input type='submit' name='allied' value='" . localize("Supprimer") . "' />";
  129. }
  130. $str .= "<input name='idform' type='hidden' value='" . getCurrentPageId() . "' />\n";
  131. $str .= "</form>";
  132. $str .= "</td><td valign='top'>\n";
  133. $dbt = new DBCollection(
  134. "SELECT " . $tablename . ".id,name,type FROM " . $tablename . " LEFT JOIN " . $mode . " ON " . $mode . ".id=" . $tablename . "." . $fieldname .
  135. " WHERE type='Ennemi' AND id_Player\$src=" . $curplayer->get("id"), $db);
  136. $arrayMember = array();
  137. while (! $dbt->eof()) {
  138. if ($modify)
  139. $arrayMember[] = array(
  140. "0" => array(
  141. "<input type='checkbox' name='checkE[]' value='" . $dbt->get("id") . "'>",
  142. "class='mainbgbody' align='center'"
  143. ),
  144. "1" => array(
  145. $dbt->get("name"),
  146. "class='mainbgbody' align='left'"
  147. )
  148. );
  149. else
  150. $arrayMember[] = array(
  151. "0" => array(
  152. " ",
  153. "class='mainbgbody' align='center'"
  154. ),
  155. "1" => array(
  156. $dbt->get("name"),
  157. "class='mainbgbody' align='left'"
  158. )
  159. );
  160. $dbt->next();
  161. }
  162. $str .= $formtarget;
  163. $str .= createTable(2, $arrayMember,
  164. array(
  165. array(
  166. "<h2>" . localize("Ennemi") . "</h2>",
  167. "class='mainbgtitle' colspan=3 align='left'"
  168. )
  169. ),
  170. array(
  171. array(
  172. "",
  173. "class='mainbglabel' width='5%' align='center'"
  174. ),
  175. array(
  176. localize("Nom"),
  177. "class='mainbglabel' width='90%' align='left'"
  178. )
  179. ), "class='maintable halfcenterareawidth'");
  180. if ($modify) {
  181. $str .= "<input type='submit' name='ennemy' value='" . localize("Supprimer") . "' />";
  182. }
  183. $str .= "<input name='idform' type='hidden' value='" . getCurrentPageId() . "' />\n";
  184. $str .= "</form>";
  185. $str .= "</td></tr></table>\n";
  186. }
  187. if ($err != "") {
  188. $str = $formtarget;
  189. $str .= "<table class='maintable centerareawidth'>\n";
  190. $str .= "<tr><td class='mainbgtitle'>" . $err . "</td></tr></table>";
  191. $str .= "<input type='submit' name='back' value='" . localize("Terminer") . "' />";
  192. $str .= "</form>";
  193. }
  194. return $str;
  195. }
  196. }
  197. ?>