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