configure_extensions.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. use Chamilo\CoreBundle\Component\Utils\ChamiloApi;
  4. /**
  5. * Edition of extensions configuration
  6. * @package chamilo.admin
  7. */
  8. $cidReset = true;
  9. require_once '../inc/global.inc.php';
  10. $this_section = SECTION_PLATFORM_ADMIN;
  11. api_protect_admin_script();
  12. $interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdmin'));
  13. // Database Table Definitions
  14. $tbl_settings_current = Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT);
  15. $message = '';
  16. if (isset($_POST['activeExtension'])) {
  17. switch ($_POST['extension_code']) {
  18. case 'ppt2lp':
  19. $sql = 'UPDATE '.$tbl_settings_current.' SET
  20. selected_value="true"
  21. WHERE variable="service_ppt2lp"
  22. AND subkey="active"';
  23. $rs = Database::query($sql);
  24. if (Database::affected_rows($rs)>0){
  25. $message = get_lang('ServiceActivated');
  26. }
  27. $sql = 'UPDATE '.$tbl_settings_current.' SET
  28. selected_value="'.addslashes($_POST['host']).'"
  29. WHERE variable="service_ppt2lp"
  30. AND subkey="host"';
  31. Database::query($sql);
  32. $sql = 'UPDATE '.$tbl_settings_current.' SET
  33. selected_value="'.addslashes($_POST['port']).'"
  34. WHERE variable="service_ppt2lp"
  35. AND subkey="port"';
  36. Database::query($sql);
  37. $sql = 'UPDATE '.$tbl_settings_current.' SET
  38. selected_value="'.addslashes($_POST['ftp_password']).'"
  39. WHERE variable="service_ppt2lp"
  40. AND subkey="ftp_password"';
  41. Database::query($sql);
  42. $sql = 'UPDATE '.$tbl_settings_current.' SET
  43. selected_value="'.addslashes($_POST['user']).'"
  44. WHERE variable="service_ppt2lp"
  45. AND subkey="user"';
  46. Database::query($sql);
  47. $sql = 'UPDATE '.$tbl_settings_current.' SET
  48. selected_value="'.addslashes($_POST['path_to_lzx']).'"
  49. WHERE variable="service_ppt2lp"
  50. AND subkey="path_to_lzx"';
  51. Database::query($sql);
  52. $sql = 'UPDATE '.$tbl_settings_current.' SET
  53. selected_value="'.addslashes($_POST['size']).'"
  54. WHERE variable="service_ppt2lp"
  55. AND subkey="size"';
  56. Database::query($sql);
  57. break;
  58. }
  59. }
  60. $listActiveServices = array();
  61. // get the list of active services
  62. $sql = 'SELECT variable FROM '.$tbl_settings_current.'
  63. WHERE variable LIKE "service_%" AND subkey="active" and selected_value="true"';
  64. $rs = Database::query($sql);
  65. while($row = Database::fetch_array($rs)){
  66. $listActiveServices[] = $row['variable'];
  67. }
  68. // javascript to handle accordion behaviour
  69. $javascript_message = '';
  70. if(!empty($message)){
  71. $javascript_message = '
  72. document.getElementById("message").style.display = "block";
  73. var timer = setTimeout(hideMessage, 5000);';
  74. }
  75. $htmlHeadXtra[]= '<script>
  76. var listeDiv;
  77. var extensionsHeader = new Array();
  78. var extensionsContent = new Array();
  79. window.onload = loadTables;
  80. function loadTables(){
  81. '.$javascript_message.'
  82. var listeDiv = document.getElementsByTagName("div");
  83. // fill extensionsHeader and extensionsContent
  84. for(var i=0 ; i < listeDiv.length ; i++){
  85. if(listeDiv[i].id.indexOf(\'extension_header\')!=-1){
  86. listeDiv[i].onclick = afficheContent;
  87. extensionsHeader.push(listeDiv[i]);
  88. }
  89. if(listeDiv[i].id.indexOf("extension_content")!=-1){
  90. extensionsContent.push(listeDiv[i]);
  91. }
  92. }
  93. }
  94. function hideMessage(){
  95. document.getElementById("message").style.display = "none";
  96. }
  97. function afficheContent(event){
  98. var id = this.id.replace("header","content");
  99. switch(document.getElementById(id).style.display){
  100. case "block" :
  101. document.getElementById(id).style.display = "none";
  102. break;
  103. case "none" :
  104. document.getElementById(id).style.display = "block";
  105. for(var i=0 ; i < extensionsContent.length ; i++){
  106. if(extensionsContent[i].id != id)
  107. extensionsContent[i].style.display = "none";
  108. }
  109. break;
  110. }
  111. }
  112. </script>';
  113. $nameTool = get_lang('ConfigureExtensions');
  114. Display::display_header($nameTool);
  115. ?>
  116. <div id="message" style="display: none">
  117. <?php
  118. if(!empty($message))
  119. Display::display_normal_message($message)
  120. ?>
  121. </div>
  122. <div id="content" align="center">
  123. <!-- PPT2LP -->
  124. <div class="chamilo-rapid">
  125. <div class="row">
  126. <div class="col-md-12">
  127. <?php echo Display::panel(get_lang('Ppt2lpDescription').' '.get_lang('Ppt2lpVoiceRecordingNeedsRed5'), get_lang('Ppt2lp')) ?>
  128. </div>
  129. </div>
  130. <div class="row">
  131. <div class="col-md-5">
  132. <?php Display::display_icon('screenshot_ppt2lp.jpg', get_lang('Ppt2lp'), array('class'=>'img-responsive')); ?>
  133. </div>
  134. <div class="col-md-7">
  135. <form method="POST" class="form-horizontal" action="<?php echo api_get_self(); ?>">
  136. <?php
  137. $form = new FormValidator('ppt2lp');
  138. $form->addElement('text', 'host', get_lang('Host'));
  139. //$form -> addElement('html','<br /><br />');
  140. $form->addElement('text', 'port', get_lang('Port'));
  141. //$form -> addElement('html','<br /><br />');
  142. $form->addElement('text', 'user', get_lang('UserOnHost'));
  143. //$form -> addElement('html','<br /><br />');
  144. $form->addElement('text', 'ftp_password', get_lang('FtpPassword'));
  145. //$form -> addElement('html','<br /><br />');
  146. $form->addElement('text', 'path_to_lzx', get_lang('PathToLzx'));
  147. //$form -> addElement('html','<br /><br />');
  148. $options = ChamiloApi::getDocumentConversionSizes();
  149. $form->addElement('select', 'size', get_lang('SlideSize'), $options);
  150. $form->addElement('hidden', 'extension_code', 'ppt2lp');
  151. $defaults = array();
  152. $renderer = $form->defaultRenderer();
  153. $renderer->setElementTemplate(
  154. '<div style="text-align:left">{label}</div><div style="text-align:left">{element}</div>'
  155. );
  156. if (in_array('service_ppt2lp', $listActiveServices)) {
  157. $sql = 'SELECT subkey, selected_value FROM '.$tbl_settings_current.'
  158. WHERE variable = "service_ppt2lp"
  159. AND subkey <> "active"';
  160. $rs = Database::query($sql);
  161. while ($row = Database::fetch_array($rs, 'ASSOC')) {
  162. $defaults[$row['subkey']] = $row['selected_value'];
  163. }
  164. $form->addButtonSave(get_lang('ReconfigureExtension'), 'activeExtension');
  165. } else {
  166. $defaults['host'] = 'localhost';
  167. $defaults['port'] = '2002';
  168. $defaults['size'] = '720x540';
  169. $form->addButtonSave(get_lang('ActivateExtension'), 'activeExtension');
  170. }
  171. $form->setDefaults($defaults);
  172. $form->display();
  173. echo '<br />';
  174. ?>
  175. </form>
  176. </div>
  177. </div>
  178. </div>
  179. <?php
  180. /*
  181. <!-- EPHORUS -->
  182. <div id="main_ephorus">
  183. <div id="extension_header_ephorus" class="accordion_header">
  184. <a href="#"><?php echo get_lang('EphorusPlagiarismPrevention') ?></a>
  185. </div>
  186. <div id="extension_content_ephorus" style="display:none;padding:0;width:780px;" class="accordion_content">
  187. <table width="100%" cellpadding="0" cellspacing="0">
  188. <tr>
  189. <td align="center">
  190. <TABLE style="WIDTH: 750px" cellSpacing="0" cellPadding="0" align="middle" border="0">
  191. <TBODY>
  192. <TR>
  193. <TD>
  194. <TABLE style="WIDTH: 475px" cellSpacing="0" cellPadding="0" border="0">
  195. <TBODY>
  196. <TR>
  197. <TD>
  198. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  199. <a title="http://www.ephorus.com/dokeos_activate.html" href="http://www.ephorus.com/dokeos_activate.html" target="_blank">
  200. <?php Display::display_icon('ephorus.gif','Ephorus'); ?>
  201. </a>
  202. </TD>
  203. <TD>
  204. <P align=center>
  205. <FONT color="#669966" size="3"><?php echo get_lang('EphorusLeadersInAntiPlagiarism') ?></FONT>
  206. </P>
  207. </TD>
  208. </TR>
  209. </TBODY>
  210. </TABLE>
  211. </TD>
  212. </TR>
  213. <TR>
  214. <TD>
  215. <P>
  216. <TABLE style="WIDTH: 85%" cellSpacing="0" cellPadding="0" border="0">
  217. <TBODY>
  218. <TR>
  219. <TD width="50">&nbsp;
  220. </TD>
  221. <TD>
  222. <P>
  223. <?php echo get_lang('EphorusDescription') ?>
  224. </P>
  225. <P>
  226. <A title="http://www.ephorus.nl/demo_account_en.html" href="http://www.ephorus.nl/demo_account_en.html" target="_blank"><?php echo get_lang('EphorusClickHereForADemoAccount') ?></A>
  227. </P>
  228. <P>
  229. <A title="http://www.ephorus.nl:80/dokeos_activate.html" href="http://www.ephorus.nl/dokeos_activate.html" target="_blank"><?php echo get_lang('EphorusClickHereForInformationsAndPrices') ?></A>.
  230. </P>
  231. </TD>
  232. </TR>
  233. </TBODY>
  234. </TABLE>
  235. </P>
  236. </TD>
  237. </TR>
  238. </TBODY>
  239. </TABLE>
  240. </td>
  241. </tr>
  242. </table>
  243. </div>
  244. </div>
  245. */
  246. /*
  247. <!-- SEARCH -->
  248. <div id="main_search">
  249. <div id="extension_header_search" class="accordion_header">
  250. <a href="#"><?php echo get_lang('SearchEngine') ?></a>
  251. </div>
  252. <div id="extension_content_search" style="display:none" class="accordion_content">
  253. <?php echo get_lang('SearchEngineDescription') ?><br /><br />
  254. <table width="100%">
  255. <tr>
  256. <td width="50%">
  257. <?php Display::display_icon('screenshot_search.jpg', get_lang('SearchEngine')); ?>
  258. </td>
  259. <td align="center" width="50%">
  260. <form method="POST" action="<?php echo api_get_self(); ?>">
  261. <input type="hidden" name="extension_code" value="search" />
  262. <button type="submit" class="save" name="activeExtension" value="<?php echo get_lang('ActivateExtension') ?>" ><?php echo get_lang('ActivateExtension') ?></button>
  263. </form>
  264. </td>
  265. </tr>
  266. </table>
  267. </div>
  268. </div>
  269. <!-- SERVER STATS -->
  270. <div id="main_serverstats">
  271. <div id="extension_header_serverstats" class="accordion_header">
  272. <a href="#"><?php echo get_lang('ServerStatistics') ?></a>
  273. </div>
  274. <div id="extension_content_serverstats" style="display:none" class="accordion_content">
  275. <?php echo get_lang('ServerStatisticsDescription') ?><br /><br />
  276. <table width="100%">
  277. <tr>
  278. <td width="50%">
  279. <?php Display::display_icon('screenshot_serverstats.jpg', get_lang('ServerStatistics')); ?>
  280. </td>
  281. <td align="center" width="50%">
  282. <form method="POST" action="<?php echo api_get_self(); ?>">
  283. <input type="hidden" name="extension_code" value="serverstats" />
  284. <button type="submit" class="save" name="activeExtension" value="<?php echo get_lang('ActivateExtension') ?>" ><?php echo get_lang('ActivateExtension') ?></button>
  285. </form>
  286. </td>
  287. </tr>
  288. </table>
  289. </div>
  290. </div>
  291. <!-- BANDWIDTH STATS -->
  292. <div id="main_bandwidthstats">
  293. <div id="extension_header_bandwidthstats" class="accordion_header">
  294. <a href="#"><?php echo get_lang('BandWidthStatistics') ?></a>
  295. </div>
  296. <div id="extension_content_bandwidthstats" style="display:none" class="accordion_content">
  297. <?php echo get_lang('BandWidthStatisticsDescription') ?><br /><br />
  298. <table width="100%">
  299. <tr>
  300. <td width="50%">
  301. <?php Display::display_icon('screenshot_bandwidth.jpg', get_lang('BandWidthStatistics')); ?>
  302. </td>
  303. <td align="center" width="50%">
  304. <form method="POST" action="<?php echo api_get_self(); ?>">
  305. <input type="hidden" name="extension_code" value="bandwidthstats" />
  306. <button type="submit" class="save" name="activeExtension" value="<?php echo get_lang('ActivateExtension') ?>" ><?php echo get_lang('ActivateExtension') ?></button>
  307. </form>
  308. </td>
  309. </tr>
  310. </table>
  311. </div>
  312. </div>
  313. */ ?>
  314. </div><!-- /content -->
  315. <?php
  316. Display::display_footer();