Your IP : 216.73.217.142


Current Path : /var/www/consult-e-syn/public_html/plugins/system/f90resethits/
Upload File :
Current File : /var/www/consult-e-syn/public_html/plugins/system/f90resethits/f90resethits.php

<?php
/**
 * @package 	Plugin ResetHits for Joomla! 3.X
 * @version 	0.0.1
 * @author 	Function90.com
 * @copyright 	C) 2013- Function90.com
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
**/

defined( '_JEXEC' ) or die( 'Restricted access' );

/**
  * Reset hits counter of an article 
  */
class plgSystemF90resethits extends JPlugin
{	
	public function onBeforeRender()
	{
		$app = JFactory::getApplication();	
		if($app->isSite()){
			return true;
		}

		$input 	= $app->input;	
		$option = $input->get('option', '');
		$view  	= $input->get('view', '');
		$layout = $input->get('layout', '');
		$id	= $input->get('id', '');
		if($option != 'com_content' || $view != 'article' || $layout != 'edit' || empty($id)){
			return true;
		}
		
		$doc = JFactory::getDocument();
		ob_start();
			
		$version = new JVersion();
		$major  = str_replace('.', '', $version->RELEASE);
		
		if($major == '25'){
			$doc->addScript('//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js');
		}

		?>
		(function($){
			$(document).ready(function(){
				<?php if($major == '25'):?>
					$('<li id="toolbar-reset-hits" class="button"><a id="f90-reset-hits" class="toolbar" href="#"><span class="icon-32-purge"> </span>Reset Hits</a></li>')
					.insertAfter('#toolbar-cancel');
				<?php else: ?>
					$('<div id="toolbar-reset-hits" class="btn-wrapper"><button id="f90-reset-hits" class="btn btn-small"><span class="icon-refresh"></span>Reset Hits</button></div>')
					.insertAfter('#toolbar-cancel');
				<?php endif; ?>
				$('#f90-reset-hits').click(function(){
					if(confirm('Are you sure you want to reset hit counter of this article? This will set hits to 0.')){
						$.ajax({
						       url: "index.php?plg=plg_f90_reset_hits&task=reset_hits&id=<?php echo $id;?>"
						       }).done(function(data) {
							       data = $.parseJSON(data);	                               
							       if(data.error == false){                                        
							       	alert('Hits has been reset successfully.');
							       }
							       else{
								       	alert('There is some problem in reseting hits counter.');
							       }
						       }).fail(function() {
							       alert('There is some error in sending ajax request.');
					       });
					}
				});
			});
		})(jQuery);

		<?php 
		$content = ob_get_contents();
		ob_end_clean();
		$doc->addScriptDeclaration($content);
		return true;	
	}

	public function onAfterRoute()
	{
		$app = JFactory::getApplication();	
		if($app->isSite()){
			return true;
		}

		$input 	= $app->input;	
		$plg 	= $input->get('plg', '');	
		$task 	= $input->get('task', '');
		$id 	= $input->get('id', '');
		if($plg !== 'plg_f90_reset_hits' || $task != 'reset_hits' || empty($id)){
			return true;
		}
	
		$sql = "UPDATE #__content SET `hits` = 0 WHERE `id` = ".$id;
		$db  = JFactory::getDbo();
		$db->setQuery($sql);

		if($db->query()){
			echo json_encode(array('error' => false));
		}
		else{
			echo json_encode(array('error' => true));
		}
		exit();
	}
}