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>"; } } }
* 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; }