Guest User

Untitled

a guest
Sep 29th, 2012
118
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. /**
  4.  * Elgg Feedback plugin
  5.  * Feedback interface for Elgg sites
  6.  *
  7.  * @package Feedback
  8.  * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
  9.  * @author Prashant Juvekar
  10.  * @copyright Prashant Juvekar
  11.  * @link http://www.linkedin.com/in/prashantjuvekar
  12.  *
  13.  * for Elgg 1.8 by iionly
  14.  * iionly@gmx.de
  15.  */
  16.  
  17. global $CONFIG;
  18.  
  19. $user_ip = $_SERVER[REMOTE_ADDR];
  20.  
  21. $user_id = elgg_echo('feedback:default:id');
  22. if (elgg_is_logged_in()) {
  23.     $user = elgg_get_logged_in_user_entity();
  24.     $user_id = $user->name . " (" . $user->email .")";
  25. }
  26.  
  27. $ts = time();
  28. $token = generate_action_token($ts);
  29. $feedback_url = $vars['url'] . "action/feedback/submit_feedback?&__elgg_token=$token&__elgg_ts=$ts";
  30.  
  31. $progress_img = '<img src="'.$CONFIG->wwwroot.'mod/feedback/_graphics/ajax-loader.gif" alt="'.elgg_echo('feedback:submit_msg').'" />';
  32. $open_img = '<img src="'.$CONFIG->wwwroot.'mod/feedback/_graphics/slide-button-open.gif" alt="'.elgg_echo('feedback:label').'" title="'.elgg_echo('feedback:label').'" />';
  33. $close_img = '<img src="'.$CONFIG->wwwroot.'mod/feedback/_graphics/slide-button-close.gif" alt="'.elgg_echo('feedback:label').'" title="'.elgg_echo('feedback:label').'" />';
  34. ?>
  35.  
  36. <div id="feedbackWrapper">
  37.  
  38.     <div id="feedBackToggler">
  39.         <a id="feedBackTogglerLink" href="javascript:void(0)" onclick="FeedBack_Toggle();this.blur();" style="float:left;position:relative;left:-1px;">
  40.             <?php echo $open_img ?>
  41.         </a>
  42.     </div>
  43.  
  44.     <div id="feedBackContent">
  45.         <div style="padding:10px;">
  46.             <h1 style="padding-bottom:10px;">
  47.                 <?php echo elgg_echo('feedback:title'); ?>
  48.             </h1>
  49.  
  50.             <div style="padding-bottom:10px;">
  51.                 <?php echo elgg_echo('feedback:message'); ?>
  52.             </div>
  53.  
  54.             <div id="feedBackFormInputs">
  55.                 <form id="feedBackForm" action="" method="post" onsubmit="FeedBack_Send();return false;">
  56.                     <div>
  57.                         <div style="float:left"><b><?php echo elgg_echo('feedback:list:mood')?>:&nbsp;&nbsp;&nbsp;&nbsp;</b></div>
  58.                         <div style="float:left">
  59.                         <select id="mood">
  60.                             <option value="angry" selected> <?php echo elgg_echo('feedback:mood:angry')?> </option>
  61.                             <option value="neutral"> <?php echo elgg_echo('feedback:mood:neutral')?> </option>
  62.                             <option value="happy"> <?php echo elgg_echo('feedback:mood:happy')?> </option>
  63.                         </select>
  64.                         </div>                        
  65.                         <div style="clear:both;"></div>
  66.                     </div>
  67.                     <br />
  68.                     <div>
  69.                         <div style="float:left"><b><?php echo elgg_echo('feedback:list:about')?>:&nbsp;&nbsp;&nbsp;&nbsp;</b></div>
  70.                         <div style="float:left">
  71.                         <select id="about">
  72.                             <option value="bug_report" selected> <?php echo elgg_echo('feedback:about:bug_report')?> </option>
  73.                             <option value="content"> <?php echo elgg_echo('feedback:about:content')?> </option>
  74.                             <option value="suggestions"> <?php echo elgg_echo('feedback:about:suggestions')?> </option>
  75.                             <option value="compliment"> <?php echo elgg_echo('feedback:about:compliment')?> </option>
  76.                             <option value="other"> <?php echo elgg_echo('feedback:about:other')?> </option>
  77.                         </select>
  78.                         </div>
  79.                         <div style="clear:both;"></div>
  80.                     </div>
  81.                     <br />
  82.                     <div>
  83.                         <input type="text" name="feedback_id" value="<?php echo $user_id?>" id="feedback_id" size="30" onfocus="if (this.value == '<?php echo elgg_echo('feedback:default:id')?>') {this.value = '';}" onblur="if (this.value == '') {this.value = '<?php echo elgg_echo('feedback:default:id')?>';}" class="feedbackText" />
  84.                     </div>
  85.                     <div style="padding-top:5px;">
  86.                         <textarea name="feedback_txt" cols="34" rows="10" id="feedback_txt" onfocus="if (this.value == '<?php echo elgg_echo('feedback:default:txt')?>') {this.value = '';}" onblur="if (this.value == '') {this.value = '<?php echo elgg_echo('feedback:default:txt')?>';}" class="feedbackTextbox mceNoEditor"><?php echo elgg_echo('feedback:default:txt')?></textarea>
  87.                      </div>
  88.                      <?php
  89. //                         // only use captcha when logged out
  90. //                         if (!elgg_is_logged_in() ) {
  91. //                             // if captcha functions are loaded, then use captcha
  92. //                             if ( function_exists ( "captcha_generate_token" ) ) {
  93. //                                 echo elgg_view('input/captcha');
  94. //                             }
  95. //                         }
  96.                      ?>
  97.                     <div style="padding-top:10px;">
  98.                         <input id="feedback_send_btn"   name="<?php echo elgg_echo('send'); ?>"   value="Send"   type="button" class="elgg-button elgg-button-submit" onclick="FeedBack_Send();"  />
  99.                         <input id="feedback_cancel_btn" name="<?php echo elgg_echo('cancel'); ?>" value="Cancel" type="button" class="elgg-button elgg-button-cancel" onclick="FeedBack_Toggle();" />
  100.                         &nbsp;
  101.                     </div>
  102.                 </form>
  103.             </div>
  104.             <div id="feedBackFormStatus"></div>
  105.             <div id='feedbackClose' style="padding-top:10px;">
  106.                 <input id="feedback_close_btn"   name="<?php echo elgg_echo('close'); ?>"   value="Close"   type="button" class="elgg-button elgg-button-cancel" onclick="FeedBack_Toggle();"  />
  107.             </div>
  108.         </div>
  109.     </div>
  110.  
  111.     <div style="clear:both;"></div>
  112.  
  113. </div>
  114.  
  115. <script type="text/javascript">
  116.  
  117.     <?php
  118.         // if user is logged in then disable the feedback ID
  119.         if ( elgg_is_logged_in() ) {
  120.             echo "$('#feedback_id').attr ('disabled', 'disabled');";
  121.         }
  122.     ?>
  123.  
  124.     $("#feedbackWrapper").width("50px");
  125.     $('#feedbackClose').hide();
  126.  
  127.     var toggle_state = 0;
  128.  
  129.     function FeedBack_Toggle() {
  130.         if ( toggle_state ) {
  131.             toggle_state = 0;
  132.             $("#feedbackWrapper").width("50px");
  133.             $("#feedBackTogglerLink").html('<?php echo $open_img?>');
  134.             $('#feedBackFormInputs').show();
  135.                 $("#feedBackFormStatus").html("");
  136.             $('#feedbackClose').hide();
  137.             document.forms["feedBackForm"].reset();
  138.         } else {
  139.             toggle_state = 1;
  140.             $("#feedbackWrapper").width("450px");
  141.             $("#feedBackTogglerLink").html('<?php echo $close_img?>');
  142.         }
  143.  
  144.         $("#feedBackContent").toggle();
  145.     }
  146.  
  147.     function FeedBack_Send() {
  148.         var page = encodeURIComponent(location.href);
  149.         var mood = $('#mood option:selected').val();
  150.         var about = $('#about option:selected').val();
  151.         var id = $("#feedback_id").val().replace(/^\s+|\s+$/g,"");
  152.         var txt = encodeURIComponent( $("#feedback_txt").val().replace(/^\s+|\s+$/g,"") );
  153.  
  154. //         <?php
  155. //             // only use captcha when logged out
  156. //             if (!elgg_is_logged_in() ) {
  157. //         ?>
  158. //                 var captcha_token = $('input[name=captcha_token]').val();
  159. //                 var captcha_input = $('input[name=captcha_input]').val();
  160. //                 if ( captcha_token != '' && captcha_input == '' ) {
  161. //                     alert ( "<?php echo elgg_echo('feedback:captcha:blank')?>" );
  162. //                     return;
  163. //                 }
  164. //         <?php
  165. //             }
  166. //         ?>
  167.  
  168.         // if no address provided...
  169.         if ( id == '' || id == "<?php echo elgg_echo('feedback:default:id')?>" ) {
  170.             id = "<?php echo $user_ip ?>";
  171.         }
  172.  
  173.         // if no text provided...
  174.         if ( txt == '' || txt == encodeURIComponent("<?php echo elgg_echo('feedback:default:txt')?>") ) {
  175.             alert ( "<?php echo elgg_echo('feedback:default:txt:err')?>" );
  176.             return;
  177.         }
  178.  
  179.         // show progress indicator
  180.         $('#feedBackFormStatus').html('<?php echo $progress_img?>');
  181.  
  182.         // disable the send button while we are submitting
  183.         $('#feedBackFormInputs').hide();
  184.  
  185.         // fire the AJAX query
  186.         jQuery.ajax( {
  187.             url: "<?php echo $feedback_url?>",
  188.             type: "POST",
  189.             <?php
  190. //                 // only use captcha when logged out
  191. //                 if (!elgg_is_logged_in() ) {
  192.             ?>
  193. //                 data: "captcha_input="+captcha_input+"&captcha_token="+captcha_token+"&page="+page+"&mood="+mood+"&about="+about+"&id="+id+"&txt="+txt,
  194.             <?php
  195. //                 } else {
  196.             ?>
  197.                 data: "page="+page+"&mood="+mood+"&about="+about+"&id="+id+"&txt="+txt,
  198.             <?php
  199. //                 }
  200.             ?>
  201.             cache: false,
  202.             dataType: "html",
  203.             error: function() {
  204.                 //$('#feedBackFormInputs').show();
  205.                 $("#feedBackFormStatus").html("<div id='feedbackError'><?php echo elgg_echo('feedback:submit_err')?></div>");
  206.                 $('#feedbackClose').show();
  207.                 document.forms["feedBackForm"].reset();
  208.             },
  209.             success: function(data) {
  210.                 //$('#feedBackFormInputs').show(); // show form
  211.                 $("#feedBackFormStatus").html(data);
  212.                 $('#feedbackClose').show();
  213.                 document.forms["feedBackForm"].reset();
  214.             }
  215.         });
  216.     }
  217.  
  218. </script>
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×