Beispiel #1
0
 function checkViewExists()
 {
     $db = oseDB::instance();
     if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
         $query[0] = "SHOW CREATE VIEW `#__osemsc_userinfo_view`";
     } else {
         $query[0] = "SHOW TABLE STATUS LIKE '#__osemsc_userinfo_view'";
     }
     $query[0] = OsemscHelper::setQuery($query[0]);
     $createquery[0] = "CREATE SQL SECURITY INVOKER VIEW `#__osemsc_userinfo_view` AS select `u`.`id` AS `user_id`,`u`.`name` AS `jname`,`u`.`username` AS `username`,`u`.`email` AS `email`,`u`.`block` AS `block`,`ui`.`firstname` AS `firstname`,`ui`.`lastname` AS `lastname`,`ui`.`primary_contact` AS `primary_contact` FROM (`#__users` `u` join `#__osemsc_userinfo` `ui` on((`u`.`id` = `ui`.`user_id`)));";
     if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
         $query[1] = "SHOW CREATE VIEW `#__osemsc_member_view`";
     } else {
         $query[1] = "SHOW TABLE STATUS LIKE '#__osemsc_member_view'";
     }
     $query[1] = OsemscHelper::setQuery($query[1]);
     $createquery[1] = "CREATE SQL SECURITY INVOKER VIEW `#__osemsc_member_view` AS select `mem`.`id` AS `id`,`acl`.`title` AS `msc_name`,`mem`.`msc_id` AS `msc_id`,`mem`.`member_id` AS `member_id`,`mem`.`status` AS `status`,`mem`.`notified` AS `notified`,`mem`.`eternal` AS `eternal`,`mem`.`start_date` AS `start_date`,`mem`.`expired_date` AS `expired_date`,`mem`.`params` AS `memParams`,`u`.`username` AS `username`,`u`.`name` AS `name`,`u`.`email` AS `email`,`u`.`registerDate` AS `registerDate`,`u`.`params` AS `userParams` from ((`#__osemsc_member` `mem` join `#__users` `u` on((`u`.`id` = `mem`.`member_id`))) join `#__osemsc_acl` `acl` on((`acl`.`id` = `mem`.`msc_id`)));";
     $config = new JConfig();
     for ($i = 0; $i < 2; $i++) {
         $db->setQuery($query[$i]);
         $result = $db->loadObjectlist();
         if (empty($result)) {
             //$db->setQuery();
             echo "<div class='setting-msg'>#The following View cannot be created in Joomla, please execute the following SQL through phpmyadmin in your hosting control panel:<br />";
             $sql = str_replace("#__", $config->dbprefix, $createquery[$i]);
             echo $sql . "</div>";
         }
     }
 }
Beispiel #2
0
  *  This program is free software: you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation, either version 3 of the License, or
  *  (at your option) any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *  @Copyright Copyright (C) 2010- Open Source Excellence (R)
*/
defined('_JEXEC') or die(";)");
// Require the define file
require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_osereporter' . DS . 'define.php';
require_once JPATH_SITE . DS . 'components' . DS . 'com_osemsc' . DS . 'init.php';
// Require the base controller
require_once OSEREPORTER_CONTROLLER . DS . 'controller.php';
require_once OSEREPORTER_MODEL . DS . 'model.php';
require_once OSEREPORTER_VIEW . DS . 'view.php';
JLoader::register('OsemscHelper', dirname(__FILE__) . DS . 'helpers' . DS . 'osemsc.php');
OsemscHelper::addSubmenu();
// Create the Controller
$_c = new osereporterController();
$_c->initControl();
// Perform the Request task
$_c->executeTask(JRequest::getCmd('task', null));
// Redirect if set by the controller
$_c->redirectE();
 function installViews($step)
 {
     $config = new JConfig();
     $html = '';
     $html .= '<div style="width:100px; float:left;">' . JText::_('Create Views') . '</div>';
     $success = true;
     $result = null;
     $db = JFactory::getDBO();
     if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
         $query = "SHOW CREATE VIEW `#__osemsc_userinfo_view`";
     } else {
         $query = "SHOW TABLE STATUS LIKE '#__osemsc_userinfo_view'";
     }
     $query = OsemscHelper::setQuery($query);
     $db->setQuery($query);
     $result = $db->loadObjectlist();
     if (empty($result)) {
         $query = "CREATE SQL SECURITY INVOKER VIEW `#__osemsc_userinfo_view` AS select `u`.`id` AS `user_id`,`u`.`name` AS `jname`,`u`.`username` AS `username`,`u`.`email` AS `email`,`u`.`block` AS `block`,`ui`.`firstname` AS `firstname`,`ui`.`lastname` AS `lastname`,`ui`.`primary_contact` AS `primary_contact` FROM (`#__users` `u` join `#__osemsc_userinfo` `ui` on((`u`.`id` = `ui`.`user_id`)));";
         $viewError = array();
         $db->setQuery($query);
         $db->query();
         if (preg_match("/doesn\\'t exist/", $db->getErrorMsg())) {
             $viewhtml . "<div class='setting-msg'>#The following View cannot be created in Joomla, please execute the following SQL through phpmyadmin in your hosting control panel:<br />";
             $sql = str_replace("#__", $config->dbprefix, $query);
             $viewhtml . $sql . "</div>";
             $success = false;
         }
     }
     $result = null;
     if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
         $query = "SHOW CREATE VIEW `#__osemsc_member_view`";
     } else {
         $query = "SHOW TABLE STATUS LIKE '#__osemsc_member_view'";
     }
     $query = OsemscHelper::setQuery($query);
     $db->setQuery($query);
     $result = $db->loadObjectlist();
     if (empty($result)) {
         $query = "CREATE  SQL SECURITY INVOKER VIEW `#__osemsc_member_view` AS select `mem`.`id` AS `id`,`acl`.`title` AS `msc_name`,`mem`.`msc_id` AS `msc_id`,`mem`.`member_id` AS `member_id`,`mem`.`status` AS `status`,`mem`.`notified` AS `notified`,`mem`.`eternal` AS `eternal`,`mem`.`start_date` AS `start_date`,`mem`.`expired_date` AS `expired_date`,`mem`.`params` AS `memParams`,`u`.`username` AS `username`,`u`.`name` AS `name`,`u`.`email` AS `email`,`u`.`registerDate` AS `registerDate`,`u`.`params` AS `userParams` from ((`#__osemsc_member` `mem` join `#__users` `u` on((`u`.`id` = `mem`.`member_id`))) join `#__osemsc_acl` `acl` on((`acl`.`id` = `mem`.`msc_id`)));";
         $db->setQuery($query);
         $db->query();
         if (preg_match("/doesn\\'t exist/", $db->getErrorMsg())) {
             $viewhtml . "<div class='setting-msg'>#The following View cannot be created in Joomla, please execute the following SQL through phpmyadmin in your hosting control panel:<br />";
             $sql = str_replace("#__", $config->dbprefix, $query);
             $viewhtml . $sql . "</div>";
             $success = false;
         }
     }
     /*
     $result= null;
     $query= "SHOW CREATE VIEW `#__osemsc_member_view`";
     $db->setQuery($query);
     $result= $db->loadResult();
     if(empty($result))
     {
     	$query[0]= "SELECT * FROM #__osemsc_member_view";
     	$createquery[0]= "CREATE SQL SECURITY INVOKER VIEW `#__osemsc_member_view` AS select `mem`.`id` AS `id`,`acl`.`title` AS `msc_name`,`mem`.`msc_id` AS `msc_id`,`mem`.`member_id` AS `member_id`,`mem`.`status` AS `status`,`mem`.`notified` AS `notified`,`mem`.`eternal` AS `eternal`,`mem`.`start_date` AS `start_date`,`mem`.`expired_date` AS `expired_date`,`mem`.`params` AS `memParams`,`u`.`username` AS `username`,`u`.`name` AS `name`,`u`.`email` AS `email`,`u`.`registerDate` AS `registerDate`,`u`.`params` AS `userParams` from ((`#__osemsc_member` `mem` join `#__users` `u` on((`u`.`id` = `mem`.`member_id`))) join `#__osemsc_acl` `acl` on((`acl`.`id` = `mem`.`msc_id`)));";
     	$query[1]= "SELECT * FROM #__osemsc_userinfo_view";
     	$createquery[1]= "CREATE SQL SECURITY INVOKER VIEW `#__osemsc_userinfo_view` AS select `u`.`id` AS `user_id`,`u`.`name` AS `jname`,`u`.`username` AS `username`,`u`.`email` AS `email`,`u`.`block` AS `block`,`ui`.`firstname` AS `firstname`,`ui`.`lastname` AS `lastname`,`ui`.`primary_contact` AS `primary_contact` FROM (`#__users` `u` join `#__osemsc_userinfo` `ui` on((`u`.`id` = `ui`.`user_id`)));";
     	
     	$config= new JConfig();
     	$result= true;
     	$viewhtml= '';
     	for($i= 0; $i < 2; $i++)
     	{
     		$db->setQuery($query[$i]);
     		$db->query();
     		if(preg_match("/doesn\'t exist/", $db->getErrorMsg()))
     		{
     			$viewhtml."<div class='setting-msg'>#The following View cannot be created in Joomla, please execute the following SQL through phpmyadmin in your hosting control panel:<br />";
     			$sql= str_replace("#__", $config->dbprefix, $createquery[$i]);
     			$viewhtml.$sql."</div>";
     			$result= false;
     		}
     	}
     }
     */
     if ($success == true) {
         $html .= $this->successStatus;
         $autoSubmit = $this->getAutoSubmitFunction();
         //$form = $this->getInstallForm(5);
         $message = $autoSubmit . $html;
         $status = true;
     } else {
         $html .= $this->failedStatus;
         $html .= $viewhtml;
         $errorMsg = $this->getErrorMessage($step, $step);
         $message = $html . $errorMsg;
         $status = false;
         $step = $step - 1;
     }
     $drawdata = new stdClass();
     $drawdata->message = $message;
     $drawdata->status = true;
     $drawdata->step = $step;
     $drawdata->title = JText::_('CREATING VIEWS');
     $drawdata->install = 1;
     return $drawdata;
 }