PageRenderTime 42ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/mods/_standard/google_search/admin/module_prefs.php

https://github.com/harriswong/ATutor
PHP | 94 lines | 76 code | 9 blank | 9 comment | 9 complexity | a66a9002cd810cfa3e9bec6393f22eb8 MD5 | raw file
  1. <?php
  2. define('AT_INCLUDE_PATH', '../../../../include/');
  3. require(AT_INCLUDE_PATH.'vitals.inc.php');
  4. admin_authenticate(AT_ADMIN_PRIV_ADMIN);
  5. require(AT_INCLUDE_PATH.'header.inc.php');
  6. $key = $_config['gsearch'];
  7. $googleType = $_config['gtype'];
  8. //For AJAX validation. If valid key, save it.
  9. if (isset($_GET['keyIsValidated'])){
  10. $_GET['key'] = trim($_GET['key']);
  11. $_GET['gtype'] = trim($_GET['gtype']);
  12. if ($_GET['keyIsValidated']=='true'){
  13. $key = $addslashes($_GET['key']);
  14. $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES('gsearch','$key')";
  15. $result = mysql_query($sql, $db);
  16. $msg->addFeedback('GOOGLE_KEY_SAVED');
  17. } elseif ($_GET['keyIsValidated']=='false'){
  18. //If invalid, remove whatever key that's in the system
  19. $msg->addError('GOOGLE_KEY_INVALID');
  20. $key = htmlspecialchars($stripslashes($_GET['key']));
  21. $sql = "DELETE FROM ".TABLE_PREFIX."config WHERE name='gsearch'";
  22. $result = mysql_query($sql, $db);
  23. $key = '';
  24. }
  25. //Manually print it out
  26. $msg->printAll();
  27. }
  28. if (isset($_POST['submit'])) {
  29. require('../SOAP_Google.php');
  30. $_POST['key'] = trim($_POST['key']);
  31. $_POST['gtype'] = trim($_POST['gtype']);
  32. if ($_POST['key']) {
  33. //Default google search type to soap
  34. if (!isset($_POST['gtype'])){
  35. $_POST['gtype'] = GOOGLE_TYPE_SOAP;
  36. }
  37. if ($_POST['gtype']==GOOGLE_TYPE_SOAP){
  38. //test key
  39. $google = new SOAP_Google($_POST['key']);
  40. $search_array = array();
  41. $search_array['filter'] = true;
  42. $search_array['query'] = 'testing';
  43. $search_array['maxResults'] = 1;
  44. $search_array['lr'] = "lang_en";
  45. $result = $google->search($search_array);
  46. if (isset($result['faultstring'])) {
  47. //If it is invalid, remove whatever keys that are in the system.
  48. $msg->addError('GOOGLE_KEY_INVALID');
  49. $key = htmlspecialchars($stripslashes($_POST['key']));
  50. $sql = "DELETE FROM ".TABLE_PREFIX."config WHERE name='gsearch'";
  51. $result = mysql_query($sql, $db);
  52. $key = '';
  53. } else {
  54. $key = $addslashes($_POST['key']);
  55. $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES('gsearch','$key')";
  56. $result = mysql_query($sql, $db);
  57. $msg->addFeedback('GOOGLE_KEY_SAVED');
  58. }
  59. } elseif ($_POST['gtype']==GOOGLE_TYPE_AJAX){
  60. $key = $addslashes($_POST['key']);
  61. $gtype = $addslashes($_POST['gtype']);
  62. //Test the key by the script site.
  63. ?>
  64. <script src="http://www.google.com/uds/api?file=uds.js&amp;v=1.0&key=<?php echo $key?>" type="text/javascript"></script>
  65. <script type="text/javascript">
  66. location.href="<?php echo $_SERVER['SCRIPT_NAME'].'?'.'key='.$key.'&gtype='.$gtype.'&keyIsValidated='?>" + UDS_KeyVerified;
  67. </script>
  68. <?php
  69. }
  70. } else {
  71. $sql = "DELETE FROM ".TABLE_PREFIX."config WHERE name='gsearch'";
  72. $result = mysql_query($sql, $db);
  73. $msg->addFeedback('GOOGLE_KEY_SAVED');
  74. $key = '';
  75. }
  76. //Set Google interface's type.
  77. $googleType = $addslashes($_POST['gtype']);
  78. $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES('gtype','$googleType')";
  79. $result = mysql_query($sql, $db);
  80. //Manually print it out
  81. $msg->printAll();
  82. }
  83. $savant->assign('googleType', $googleType);
  84. $savant->display('admin/system_preferences/module_prefs.tmpl.php');
  85. require(AT_INCLUDE_PATH.'footer.inc.php'); ?>