Your IP : 216.73.216.54


Current Path : /var/www/html/components/com_jvld/models/
Upload File :
Current File : /var/www/html/components/com_jvld/models/reportbrokenlink.php

<?php
/**
 * @version		$Id$
 * @package		JV-LinkDirectory
 * @subpackage	com_jvld
 * @copyright	Copyright 2008-2013 JV-Extensions. All rights reserved
 * @license		GNU General Public License version 3 or later
 * @author		JV-Extensions
 * @link		http://www.jv-extensions.com
 */

// No direct access
defined('_JEXEC') or die('Restricted access');

class JvldModelReportbrokenlink extends JvldFendModel
{
	public function getForm($data = array(), $loadData = false)
	{
		$form = $this->loadForm('com_jvld.reportbrokenlink', 'reportbrokenlink', array('control' => 'jform', 'load_data' => $loadData), true);
		if (empty($form))
			return false;

		return $form;
	}

	public function process()
	{
		try
		{
			parent::preProcess();

			if (!$this->lid)
				throw new Exception(JText::_("COM_JVLD_ERR_INSUFFINFO"));

			$linkobj = new JvldLinkinfo($this->lid);

			if ($this->cfg->get('brokenlink_handled'))
			{
				$this->informBrokenLinkToAdmin($linkobj);
				JvldMsg::display(JText::_("COM_JVLD_BROKENLINK_DONE"), _JVLD_NEXT_PAGE_CLOSE_WINDOW, '', 1);
			}
			else
			{
				// Get the status of the link
				$blchecker = new JvldBrokenLinkChecker($linkobj->getInfo('id'), $linkobj->getInfo('partner_url'));
				$http_resp_code = $blchecker->getHttpCode();
				JvldLog::log('ReportBrokenLink :: HTTP Return Code: '.$http_resp_code);

				if (JvldBrokenLinkChecker::isBrokenLink($http_resp_code))
				{
					$this->informBrokenLinkToAdmin($linkobj);
					JvldMsg::display(JText::_("COM_JVLD_BROKENLINK_DONE"), _JVLD_NEXT_PAGE_CLOSE_WINDOW, '', 1);
				}
				else
				{
					JvldMsg::display(JText::_("COM_JVLD_BROKENLINK_NOT_BROKEN"), _JVLD_NEXT_PAGE_CLOSE_WINDOW, '', 1);
				}
			}

			return;
		}
		catch (Exception $ex)
		{
			JvldMsg::display($ex->getMessage(), _JVLD_NEXT_PAGE_GO_BACK, '', 1);
			return;
		}
	}

	private function informBrokenLinkToAdmin($link)
    {
    	JvldInit::triggerPlugins('OnReportBrokenLink', array($link->getInfo('id')));

        $catobj = new JvldCategoryinfo(JvldUtil::getLinkCategories($link->getInfo('id'), 'P'));
        $catname = $catobj->getInfo('title');

        $em = new JvldEmail('FNA_REPORT_BROKEN_LINK');
        $em->setTag('{PARTNER-URL}', JvldPostinit::getLinkUrlorTitleForDisplay($link->getInfo('partner_url'), $link->getInfo('partner_title')));
        $em->setTag('{PRIMARY-CATEGORY}', $catname);
        $em->send($this->cfg->get('site_email'));
    }
}