<?php

/**

* WDC Like Dislike

* @author WDC <contact@web-designs-company.com>

* @link http://www.web-designs-company.com/

* @copyright (C) 2011 - 2012 JExtension

* @license GNU/GPL, see LICENSE.php for full license.

**/



// Check to ensure this file is included in Joomla!

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



jimport('joomla.application.component.model');





class wdclikedislikeModelwdclikedislike extends JModel

{

	/**

	 * Constructor that retrieves the ID from the request

	 *

	 * @access	public

	 * @return	void

	 */

	function __construct()

	{

		parent::__construct();



		$array = JRequest::getVar('cid',  0, '', 'array');

		$this->setId((int)$array[0]);

	}



	function setId($id)

	{

		// Set id and wipe data

		$this->_id		= $id;

		$this->_data	= null;

	}



	function &getData()

	{

		$row =& $this->getTable();

		$row->load( $this->_id );

		return $row;



	}



	// save

	function store()

	{

		global $mainframe;



		// Check for request forgeries

		JRequest::checkToken() or jexit( 'Invalid Token' );



		$row =& $this->getTable();

		// Bind the form fields

		$post	= JRequest::get( 'post' );



		if (!$row->bind($post)) {

			return 0;

		}

		// Make sure data is valid

		if (!$row->check())

		{

			return 0;

		}

		// Store it

		if (!$row->store())

		{

			return 0;

		}

		return $row->id;

	}

	function publish()

	{

		// Check for request forgeries

		JRequest::checkToken() or jexit( 'Invalid Token' );



		// Initialize variables

		$db			=& JFactory::getDBO();

		$user		=& JFactory::getUser();

		$cid		= JRequest::getVar( 'cid', array(), 'post', 'array' );

		$task		= JRequest::getCmd( 'task' );

		$publish	= ($task == 'publish');

		$result     = ($task == 'publish')?1:2;

		$neg_result     = ($task == 'publish')?-1:-2;

		$n			= count( $cid );



		if (empty( $cid )) {

			return 0;

		}



		JArrayHelper::toInteger( $cid );

		$cids = implode( ',', $cid );



		$query = 'UPDATE #__content'

		. ' SET state = ' . (int) $publish

		. ' WHERE id IN ( '. $cids.'  )'

		;

		$db->setQuery( $query );

		if (!$db->query()) {

			return $neg_result;

		}

		else {

			return $result;

		}

	}



	function remove()

	{

		// Check for request forgeries

		JRequest::checkToken() or jexit( 'Invalid Token' );



		$cids = JRequest::getVar( 'cid', array(0), 'post', 'array' );



		$row =& $this->getTable();



		if (count( $cids ))

		{

			foreach($cids as $cid)

			{

				if (!$row->delete( $cid ))

				{

					return false;

				}

			}

		}

		return true;

	}

}

?>