PageRenderTime 51ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/campsite/src/javascript/tinymce/plugins/campsiteinternallink/link.php

https://github.com/joechrysler/Campsite
PHP | 189 lines | 173 code | 7 blank | 9 comment | 60 complexity | 08181621e4c35a8ecbff8a9f9b774adc MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, LGPL-2.1, Apache-2.0
  1. <?php
  2. /**
  3. * Notes about this file:
  4. * - If the text in the editor is already hyperlinked, then this file is called with the
  5. * arguments in the URL, like "filename.php?IdPublication=1&IdLanguage=2&..."
  6. * - Everytime a menu item is changed, the file is re-fetched with the same arguments
  7. * set in the POST.
  8. *
  9. */
  10. $GLOBALS['g_campsiteDir'] = dirname(dirname(dirname(dirname(dirname(__FILE__)))));
  11. require_once($GLOBALS['g_campsiteDir'].'/conf/liveuser_configuration.php');
  12. // Only logged in admin users allowed
  13. if (!$LiveUser->isLoggedIn()) {
  14. header("Location: /$ADMIN/login.php");
  15. exit(0);
  16. } else {
  17. $userId = $LiveUser->getProperty('auth_user_id');
  18. $userTmp = new User($userId);
  19. if (!$userTmp->exists() || !$userTmp->isAdmin()) {
  20. header("Location: /$ADMIN/login.php");
  21. exit(0);
  22. }
  23. unset($userTmp);
  24. }
  25. header('Content-Type: text/html; charset=UTF-8');
  26. require_once($GLOBALS['g_campsiteDir'].'/db_connect.php');
  27. require_once($GLOBALS['g_campsiteDir'].'/conf/configuration.php');
  28. require_once($GLOBALS['g_campsiteDir']."/$ADMIN_DIR/camp_html.php");
  29. require_once($GLOBALS['g_campsiteDir'].'/classes/Language.php');
  30. require_once($GLOBALS['g_campsiteDir'].'/classes/Publication.php');
  31. require_once($GLOBALS['g_campsiteDir'].'/classes/Issue.php');
  32. require_once($GLOBALS['g_campsiteDir'].'/classes/Section.php');
  33. require_once($GLOBALS['g_campsiteDir'].'/classes/Article.php');
  34. require_once($GLOBALS['g_campsiteDir'].'/classes/Input.php');
  35. $maxSelectLength = 60;
  36. $languageId = Input::get('IdLanguage', 'int', 0, true);
  37. $publicationId = Input::get('IdPublication', 'int', 0, true);
  38. $sectionId = Input::get('NrSection', 'int', 0, true);
  39. $issueId = Input::get('NrIssue', 'int', 0, true);
  40. $articleId = Input::get('NrArticle', 'int', 0, true);
  41. $target = Input::get('targetlist', 'string', '', true);
  42. $languages = Language::GetLanguages(null, null, null, array(), array(), true);
  43. $publications = Publication::GetPublications();
  44. if (($languageId != 0) && ($publicationId != 0)) {
  45. $issues = Issue::GetIssues($publicationId, $languageId, null, null, null, false, null, true);
  46. }
  47. if (($languageId != 0) && ($publicationId != 0) && ($issueId != 0)) {
  48. $sections = Section::GetSections($publicationId, $issueId, $languageId, null, null, null, true);
  49. }
  50. if (($languageId != 0) && ($publicationId != 0) && ($issueId != 0) && ($sectionId != 0)) {
  51. $articles = Article::GetArticles($publicationId, $issueId, $sectionId, $languageId);
  52. }
  53. ?>
  54. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  55. <html xmlns="http://www.w3.org/1999/xhtml">
  56. <head>
  57. <title>{#campsiteinternallink_dlg.title}</title>
  58. <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
  59. <script type="text/javascript" src="../../utils/mctabs.js"></script>
  60. <script type="text/javascript" src="../../utils/form_utils.js"></script>
  61. <script type="text/javascript" src="../../utils/validate.js"></script>
  62. <script type="text/javascript" src="js/campsiteinternallink.js"></script>
  63. <link href="css/campsiteinternallink.css" rel="stylesheet" type="text/css" />
  64. <base target="_self" />
  65. </head>
  66. <body id="campsiteinternallink" style="display: none">
  67. <form onsubmit="insertAction();return false;" action="#">
  68. <div class="tabs">
  69. <ul>
  70. <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#campsiteinternallink_dlg.general_tab}</a></span></li>
  71. </ul>
  72. </div>
  73. <div class="panel_wrapper">
  74. <div id="general_panel" class="panel current">
  75. <fieldset>
  76. <legend>{#campsiteinternallink_dlg.general_props}</legend>
  77. <table border="0" cellpadding="4" cellspacing="0">
  78. <tr>
  79. <td nowrap="nowrap"><label id="hreflabel" for="href">{#campsiteinternallink_dlg.language}</label></td>
  80. <td>
  81. <table border="0" cellspacing="0" cellpadding="0">
  82. <tr>
  83. <td>
  84. <input type="hidden" name="language" id="language" />
  85. <select name="IdLanguage" id="IdLanguage" onchange="this.form.submit();">
  86. <option value="0">?</option>
  87. <?php
  88. foreach ($languages as $language) {
  89. $languageName = substr($language->getName(), 0, $maxSelectLength);
  90. camp_html_select_option($language->getLanguageId(), $languageId, $languageName);
  91. }
  92. ?>
  93. </select>
  94. </td>
  95. <td id="hrefbrowsercontainer">&nbsp;</td>
  96. </tr>
  97. </table>
  98. </td>
  99. </tr>
  100. <tr id="pickpublicationfrom">
  101. <td class="column1"><label for="pickpublication">{#campsiteinternallink_dlg.publication}</label></td>
  102. <td colspan="2" id="pickpublicationcontainer">
  103. <input type="hidden" name="publication" id="publication" />
  104. <select name="IdPublication" id="IdPublication" onchange="this.form.submit();" <?php if ($languageId == 0){ ?>disabled<?php } ?>>
  105. <option value="0">?</option>
  106. <?php
  107. foreach ($publications as $publication) {
  108. $publicationName = substr($publication->getName(), 0, $maxSelectLength);
  109. camp_html_select_option($publication->getPublicationId(), $publicationId, $publicationName);
  110. }
  111. ?>
  112. </select>
  113. </td>
  114. </tr>
  115. <tr>
  116. <td class="column1"><label for="pickissue">{#campsiteinternallink_dlg.issue}</label></td>
  117. <td colspan="2" id="pickissuecontainer">
  118. <select name="NrIssue" id="NrIssue" onchange="this.form.submit();" <?php if (($languageId == 0) || ($publicationId == 0)) { ?>disabled<?php } ?>>
  119. <option value="0">?</option>
  120. <?php
  121. if (($languageId != 0) && ($publicationId != 0)) {
  122. foreach ($issues as $issue) {
  123. $issueName = substr($issue->getName(), 0, $maxSelectLength);
  124. camp_html_select_option($issue->getIssueNumber(), $issueId, $issueName);
  125. }
  126. }
  127. ?>
  128. </select>
  129. </td>
  130. </tr>
  131. <tr>
  132. <td><label id="picksectionfrom" for="picksection">{#campsiteinternallink_dlg.section}</label></td>
  133. <td id="picksectioncontainer">
  134. <select name="NrSection" id="NrSection" onchange="this.form.submit();" <?php if (($languageId == 0) || ($publicationId == 0) || ($issueId == 0)) { ?>disabled<?php } ?>>
  135. <option value="0">?</option>
  136. <?php
  137. if (($languageId != 0) && ($publicationId != 0) && ($issueId != 0)) {
  138. foreach ($sections as $section) {
  139. $sectionName = substr($section->getName(), 0, $maxSelectLength);
  140. camp_html_select_option($section->getSectionNumber(), $sectionId, $sectionName);
  141. }
  142. }
  143. ?>
  144. </select>
  145. </td>
  146. </tr>
  147. <tr>
  148. <td nowrap="nowrap"><label id="pickarticlefrom" for="article">{#campsiteinternallink_dlg.article}</label></td>
  149. <td id="pickarticlecontainer">
  150. <select name="NrArticle" id="NrArticle" onchange="this.form.submit();" <?php if (($languageId == 0) || ($publicationId == 0) || ($issueId == 0) || ($sectionId == 0)) { ?>disabled<?php } ?>>
  151. <option value="0">?</option>
  152. <?php
  153. if (($languageId != 0) && ($publicationId != 0) && ($issueId != 0) && ($sectionId != 0)) {
  154. foreach ($articles as $article) {
  155. $articleName = substr($article->getTitle(), 0, $maxSelectLength);
  156. camp_html_select_option($article->getArticleNumber(), $articleId, $articleName);
  157. }
  158. }
  159. ?>
  160. </select>
  161. </td>
  162. </tr>
  163. <tr>
  164. <input type="hidden" name="target" id="target" />
  165. <td class="column1"><label id="targetlistlabel" for="targetlist">{#campsiteinternallink_dlg.target}</label></td>
  166. <td id="targetlistcontainer">&nbsp;</td>
  167. </tr>
  168. </table>
  169. </fieldset>
  170. </div>
  171. </div>
  172. <div class="mceActionPanel">
  173. <div style="float: left">
  174. <input type="submit" id="insert" name="insert" value="{#insert}" />
  175. </div>
  176. <div style="float: right">
  177. <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
  178. </div>
  179. </div>
  180. </form>
  181. </body>
  182. </html>