Exemplo n.º 1
0
<?php

/**
* @version 1.0.0
* @package RSSeo! 1.0.0
* @copyright (C) 2009 www.rsjoomla.com
* @license GPL, http://www.gnu.org/copyleft/gpl.html
*/
defined('_JEXEC') or die('Restricted access');
?>

<script language="javascript" type="text/javascript">
<?php 
if (rsseoHelper::is16()) {
    ?>
Joomla.submitbutton = function(task) 
{
	var form = document.adminForm;
	
	if(task == 'cancel')
		Joomla.submitform(task);
	else  
	{
		ret = true;
		if(form.RedirectFrom.value=='') { form.RedirectFrom.className = 'rserror'; ret=false; } else { form.RedirectFrom.className = '';  }	
		if(ret) submitform(task);
	}
	return false;
}
<?php 
} else {
Exemplo n.º 2
0
 function _parseRequest()
 {
     $folder = $this->getFolder();
     $type = JRequest::getVar('type', false, 'post');
     if ($type) {
         $query = JRequest::getVar('query', false, 'post', 'BASE64');
         $start = JRequest::getInt('start', 0);
         $num = count(JFolder::files($folder, '.xml$', 1, false));
         switch ($type) {
             case 'clear':
                 $this->_db->setQuery("TRUNCATE TABLE `#__rsseo_pages`");
                 $this->_db->query();
                 $this->_db->setQuery("TRUNCATE TABLE `#__rsseo_redirects`");
                 $this->_db->query();
                 break;
             case 'backup':
                 $buffer = '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
                 $buffer .= '<query>' . "\n";
                 $query = $this->decode($query);
                 if (preg_match('# (\\#__.*?) #is', $query['query'], $matches)) {
                     $table = trim($matches[1]);
                 }
                 $buffer .= $this->addTag('table', $table);
                 $this->_db->setQuery($query['query']);
                 $results = $this->_db->loadObjectList();
                 $buffer .= '<rows>' . "\n";
                 foreach ($results as $result) {
                     $buffer .= '<row>' . "\n";
                     foreach ($result as $key => $value) {
                         if (isset($query['primary']) && $key == $query['primary']) {
                             continue;
                         }
                         $buffer .= $this->addTag('column', $value, $key);
                     }
                     $buffer .= '</row>' . "\n";
                 }
                 $buffer .= '</rows>';
                 $buffer .= '</query>';
                 JFile::write($folder . DS . 'package' . $num . '.xml', $buffer);
                 break;
             case 'restore':
                 jimport('joomla.utilities.simplexml');
                 $file = urldecode(JRequest::getVar('file', false, 'post', ''));
                 $xml = new JSimpleXML();
                 $xml->loadFile($file);
                 $root = $xml->document;
                 $table = $root->getElementByPath('table')->data();
                 $rows = $root->getElementByPath('rows')->children();
                 $table_fields = $name = $data = array();
                 $fields = $this->_db->getTableFields($table);
                 foreach ($fields[$table] as $field => $type) {
                     $table_fields[] = $this->_db->NameQuote($field);
                 }
                 foreach ($rows as $row) {
                     $sql = array();
                     $columns = $row->children();
                     foreach ($columns as $column) {
                         $properties = $column->children();
                         foreach ($properties as $prop) {
                             if ($prop->name() == 'name') {
                                 $name[] = $this->_db->NameQuote($prop->data());
                             }
                             if ($prop->name() == 'value') {
                                 $data[] = $this->_db->Quote($prop->data());
                             }
                         }
                     }
                     foreach ($name as $i => $val) {
                         if (!in_array($val, $table_fields)) {
                             unset($name[$i]);
                             unset($data[$i]);
                         }
                     }
                     if (!empty($name) && !empty($data)) {
                         $this->_db->setQuery("INSERT INTO `" . $table . "` (" . implode(',', $name) . ") VALUES (" . implode(',', $data) . "); ");
                         $this->_db->query();
                         unset($name);
                         unset($data);
                     }
                 }
                 break;
         }
     }
     $pack = JRequest::getInt('pack', 0, 'post');
     if ($pack) {
         if (rsseoHelper::is16()) {
             $adapter = JArchive::getAdapter('zip');
             $archivefiles = array();
             $xmlfiles = JFolder::files($folder, '.xml$', 1, true);
             foreach ($xmlfiles as $xmlfile) {
                 $data = JFile::read($xmlfile);
                 $archivefiles[] = array('name' => JFile::getName($xmlfile), 'data' => $data);
             }
             $adapter->create($folder . DS . 'package.zip', $archivefiles);
         } else {
             JArchive::create($folder . DS . 'package.tar', JFolder::files($folder, '.xml$', 1, true), 'gz', '', $folder, true, true);
         }
     }
     die;
 }
Exemplo n.º 3
0
 function _getItemData(&$params, $item)
 {
     jimport('joomla.html.parameter');
     $data = null;
     // Menu Link is a special type that is a link to another item
     if ($item->type == 'menulink') {
         $menu =& JSite::getMenu();
         if ($newItem = $menu->getItem($item->query['Itemid'])) {
             $tmp = clone $newItem;
             if (rsseoHelper::is16()) {
                 $tmp->title = '<span><![CDATA[' . $item->title . ']]></span>';
             } else {
                 $tmp->name = '<span><![CDATA[' . $item->name . ']]></span>';
             }
             $tmp->mid = $item->id;
             if (rsseoHelper::is16()) {
                 $tmp->parent_id = $item->parent_id;
             } else {
                 $tmp->parent = $item->parent;
             }
         } else {
             return false;
         }
     } else {
         $tmp = clone $item;
         if (rsseoHelper::is16()) {
             $tmp->title = '<span><![CDATA[' . $item->title . ']]></span>';
         } else {
             $tmp->name = '<span><![CDATA[' . $item->name . ']]></span>';
         }
     }
     $iParams = new JParameter($tmp->params);
     switch ($tmp->type) {
         case 'separator':
             if (rsseoHelper::is16()) {
                 return '<span class="separator">' . $tmp->title . '</span>';
             } else {
                 return '<span class="separator">' . $tmp->name . '</span>';
             }
             break;
         case 'url':
             if (strpos($tmp->link, 'index.php?') === 0 && strpos($tmp->link, 'Itemid=') === false) {
                 $tmp->url = $tmp->link . '&amp;Itemid=' . $tmp->id;
             } else {
                 $tmp->url = $tmp->link;
             }
             break;
         default:
             $router = JSite::getRouter();
             $tmp->url = $router->getMode() == JROUTER_MODE_SEF ? 'index.php?Itemid=' . $tmp->id : $tmp->link . '&Itemid=' . $tmp->id;
             break;
     }
     // Print a link if it exists
     if ($tmp->url != null) {
         // Handle SSL links
         $iSecure = $iParams->def('secure', 0);
         if ($tmp->home == 1) {
             $tmp->url = JURI::base();
         } elseif (strcasecmp(substr($tmp->url, 0, 4), 'http') && strpos($tmp->link, 'index.php?') !== false) {
             $tmp->url = JRoute::_($tmp->url, true, $iSecure);
         } else {
             $tmp->url = str_replace('&', '&amp;', $tmp->url);
         }
         switch ($tmp->browserNav) {
             default:
             case 0:
                 // _top
                 if (rsseoHelper::is16()) {
                     $data = '<a href="' . $tmp->url . '">' . $tmp->title . '</a>';
                 } else {
                     $data = '<a href="' . $tmp->url . '">' . $tmp->name . '</a>';
                 }
                 break;
             case 1:
                 // _blank
                 if (rsseoHelper::is16()) {
                     $data = '<a href="' . $tmp->url . '" target="_blank">' . $tmp->title . '</a>';
                 } else {
                     $data = '<a href="' . $tmp->url . '" target="_blank">' . $tmp->name . '</a>';
                 }
                 break;
             case 2:
                 // window.open
                 $attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,' . $this->_params->get('window_open');
                 // hrm...this is a bit dickey
                 $link = str_replace('index.php', 'index2.php', $tmp->url);
                 if (rsseoHelper::is16()) {
                     $data = '<a href="' . $link . '" onclick="window.open(this.href,\'targetWindow\',\'' . $attribs . '\');return false;">' . $tmp->title . '</a>';
                 } else {
                     $data = '<a href="' . $link . '" onclick="window.open(this.href,\'targetWindow\',\'' . $attribs . '\');return false;">' . $tmp->name . '</a>';
                 }
                 break;
         }
     } else {
         if (rsseoHelper::is16()) {
             $data = '<a>' . $tmp->title . '</a>';
         } else {
             $data = '<a>' . $tmp->name . '</a>';
         }
     }
     return $data;
 }
Exemplo n.º 4
0
 function display($tpl = null)
 {
     $app =& JFactory::getApplication();
     JSubMenuHelper::addEntry(JText::_('RSSEO_OVERVIEW'), 'index.php?option=com_rsseo');
     JSubMenuHelper::addEntry(JText::_('RSSEO_MENU_COMPETITORS'), 'index.php?option=com_rsseo&task=listcompetitors');
     JSubMenuHelper::addEntry(JText::_('RSSEO_MENU_PAGES'), 'index.php?option=com_rsseo&task=listpages', true);
     JSubMenuHelper::addEntry(JText::_('RSSEO_MENU_REDIRECTS'), 'index.php?option=com_rsseo&task=listredirects');
     JSubMenuHelper::addEntry(JText::_('RSSEO_MENU_SITEMAP'), 'index.php?option=com_rsseo&task=sitemap');
     JSubMenuHelper::addEntry(JText::_('RSSEO_MENU_CRAWLER'), 'index.php?option=com_rsseo&task=crawler');
     JSubMenuHelper::addEntry(JText::_('RSSEO_MENU_KEYWORDS'), 'index.php?option=com_rsseo&task=listkeywords');
     JSubMenuHelper::addEntry(JText::_('RSSEO_MENU_BACKUPRESTORE'), 'index.php?option=com_rsseo&task=backuprestore');
     JSubMenuHelper::addEntry(JText::_('RSSEO_MENU_ANALYTICS'), 'index.php?option=com_rsseo&task=analytics');
     JSubMenuHelper::addEntry(JText::_('RSSEO_MENU_SETTINGS'), 'index.php?option=com_rsseo&task=editsettings');
     JSubMenuHelper::addEntry(JText::_('RSSEO_MENU_UPDATE'), 'index.php?option=com_rsseo&task=update');
     $task = JRequest::getVar('task');
     switch ($task) {
         case 'listpages':
             $db =& JFactory::getDBO();
             JToolBarHelper::title(JText::_('RSSEO_LIST_PAGES'), 'rsseo');
             JToolBarHelper::custom('publish', 'rsseo_ignore', 'rsseo_ignore', JText::_('RSSEO_PAGE_PUBLISHED'));
             JToolBarHelper::custom('unpublish', 'rsseo_unignore', 'rsseo_unignore', JText::_('RSSEO_PAGE_UNPUBLISHED'));
             JToolBarHelper::custom('restore', 'restore', 'restore', JText::_('RSSEO_RESTORE_PAGES'));
             JToolBarHelper::custom('refresh', 'refresh', 'refresh', JText::_('RSSEO_BULK_REFRESH'));
             JToolBarHelper::addNewX('editpage');
             JToolBarHelper::editListX('editpage');
             JToolBarHelper::deleteList("Are you sure you want to delete?", 'remove', "Delete");
             $bar =& JToolBar::getInstance('toolbar');
             $bar->appendButton('Confirm', JText::_('RSSEO_DELETE_ALL_PAGES_MESSAGE', true), 'delete', JText::_('RSSEO_DELETE_ALL_PAGES'), 'removeall', false);
             JToolBarHelper::custom('rsseo', 'preview.png', 'preview_f2.png', JText::_('RSSEO_PRODUCT'), false);
             $filter = $app->getUserStateFromRequest('com_rsseo.pages.rs_filter', 'rs_filter', '');
             $md5_descr = JRequest::getVar('md5_descr');
             $md5_title = JRequest::getVar('md5_title');
             $status_filter = JRequest::getVar('rs_status_filter');
             $page_level_filter = JRequest::getVar('rs_page_level_filter');
             $sortColumn = JRequest::getVar('filter_order', 'PageLevel');
             $sortOrder = JRequest::getVar('filter_order_Dir', 'asc');
             $pagination = $this->get('pagination');
             $page_published[] = JHTML::_('select.option', '', JText::_('RSSEO_PAGE_STATUS'), 'val', 'text');
             $page_published[] = JHTML::_('select.option', '0', JText::_('RSSEO_PAGE_UNPUBLISHED'), 'val', 'text');
             $page_published[] = JHTML::_('select.option', '1', JText::_('RSSEO_PAGE_PUBLISHED'), 'val', 'text');
             $page_level[] = JHTML::_('select.option', '', JText::_('RSSEO_PAGE_LEVEL'), 'val', 'text');
             $page_level[] = JHTML::_('select.option', '0', '0', 'val', 'text');
             $page_level[] = JHTML::_('select.option', '1', '1', 'val', 'text');
             $page_level[] = JHTML::_('select.option', '2', '2', 'val', 'text');
             $page_level[] = JHTML::_('select.option', '3', '3', 'val', 'text');
             $page_level[] = JHTML::_('select.option', '4', '4', 'val', 'text');
             $page_level[] = JHTML::_('select.option', '5', '5', 'val', 'text');
             $page_level[] = JHTML::_('select.option', '127', JText::_('RSSEO_UNDEFINED'), 'val', 'text');
             $lists['page_published'] = JHTML::_('select.genericlist', $page_published, 'rs_status_filter', 'class="inputbox" size="1" onchange="submitbutton(\'listpages\');"', 'val', 'text', $status_filter);
             $lists['page_level'] = JHTML::_('select.genericlist', $page_level, 'rs_page_level_filter', 'class="inputbox" size="1" onchange="submitbutton(\'listpages\');"', 'val', 'text', $page_level_filter);
             $listpages = $this->get('data');
             $this->assignRef('location_filter', $category_filter);
             $this->assignRef('lists', $lists);
             $this->assignRef('filter', $filter);
             $this->assignRef('md5_descr', $md5_descr);
             $this->assignRef('md5_title', $md5_title);
             $this->assignRef('sortColumn', $sortColumn);
             $this->assignRef('sortOrder', $sortOrder);
             $this->assignRef('listpages', $listpages);
             $this->assignRef('pagination', $pagination);
             $this->assignRef('rsseoConfig', $app->getuserState('rsseoConfig'));
             break;
         case 'editpage':
             JHTML::_('behavior.tooltip');
             $db =& JFactory::getDBO();
             $cid = JRequest::getVar('cid', array(0), 'request', 'array');
             if (is_array($cid)) {
                 $cid = intval($cid[0]);
             }
             if ($cid == 0) {
                 JToolBarHelper::title(JText::_('RSSEO_PAGE_NEW'), 'rsseo');
             } else {
                 JToolBarHelper::title(JText::_('RSSEO_PAGE_EDIT'), 'rsseo');
             }
             JToolBarHelper::custom('checkpage', 'html', 'html', JText::_('RSSEO_CHECK'), false);
             JToolBarHelper::save();
             JToolBarHelper::apply();
             JToolBarHelper::cancel();
             JToolBarHelper::custom('rsseo', 'preview.png', 'preview_f2.png', JText::_('RSSEO_PRODUCT'), false);
             $page = $this->get('Page');
             $reg = JRegistry::getInstance('');
             $registry = JRegistry::getInstance('density');
             if (rsseoHelper::is16()) {
                 $reg->loadJSON($page->params);
             } else {
                 $reg->loadINI($page->params);
             }
             if (rsseoHelper::is16()) {
                 $registry->loadJSON($page->densityparams);
             } else {
                 $registry->loadINI($page->densityparams);
             }
             $this->assignRef('cid', $cid);
             $this->assignRef('data', $page);
             $this->assignRef('params', $reg->toObject());
             $this->assignRef('densityparams', $registry->toArray());
             $this->assignRef('rsseoConfig', $app->getuserState('rsseoConfig'));
             break;
         case 'showdetails':
             JToolBarHelper::title(JText::_('RSSEO_PAGE_SIZE_DETAILS'), 'rsseo');
             JToolBarHelper::custom('back', 'back', 'back', JText::_('RSSEO_BACK'), false);
             JToolBarHelper::custom('rsseo', 'preview.png', 'preview_f2.png', JText::_('RSSEO_PRODUCT'), false);
             $cid = JRequest::getVar('cid');
             $layout = $this->get('Details');
             $this->assignRef('layout', $layout);
             $this->assignRef('cid', $cid);
             break;
     }
     parent::display($tpl);
 }