params= new JRegistry(); $this->params->loadString($plugin->params, 'JSON'); $this->_cacheEnabled = $this->params->get('cache_enabled'); if ($this->_cacheEnabled === null) $this->_cacheEnabled == 1; $this->_autoflush = $this->params->get('autoFlush'); if ($this->_autoflush === null) $this->_autoflush = 1; $this->_autoflush3rdParty = $this->params->get('autoFlush-ThirdParty'); if ($this->_autoflush3rdParty === null) $this->_autoflush3rdParty = 1; $this->_autoflushClientSide = $this->params->get('autoFlush-ClientSide'); if ($this->_autoflushClientSide === null) $this->_autoflushClientSide = 0; } /** * Heartbeat cache checking function. Will also monitor $_GET for the jSGCache parameter * (pressing the purge cache button in admin) * * * @access public * @return null */ public function onAfterInitialise() { if (!$this->_cacheEnabled || $this->_isBlacklisted($this->_applicationPath)) { JResponse::setHeader('X-Cache-Enabled','False',true); return; } if ($this->_cacheEnabled) { JResponse::allowCache(true); JResponse::setHeader('X-Cache-Enabled','True',true); } //Init the application url $this->_applicationPath = str_replace(array('administrator/index.php','index.php'),'',str_replace($_SERVER['DOCUMENT_ROOT'],'',$_SERVER['SCRIPT_FILENAME'])); //Check for any admin action and proceed to flushMonitor and 3rd party plugins if ( isset($_POST['task']) || isset($_GET['task']) || isset($_GET['cart_virtuemart_product_id'])) { $this->_flushMonitor(); if ($this->_autoflush3rdParty) $this->_monitorThirdPartyPlugins(); } //Check if we have a logged in user and enable cache bypass cookie 'task' => string 'user.login' $user = JFactory::getUser(); if (!$user->guest || (isset($_POST['task']) && preg_match('/login/i', $_POST['task']))) { $_POST[JSession::getFormToken()] = 1; //Force the correct token, since the login box on the page is cached with the 1st visitors' token //Enable the cache bypass for logged users by setting a cache bypass cookie setcookie('jSGCacheBypass',1,time() + 6000,'/'); } if ($user->guest || (isset($_POST['task']) && $_POST['task'] == 'user.logout')) { //Remove the bypass cookie if not a logged user if (isset($_COOKIE['jSGCacheBypass'])) setcookie('jSGCacheBypass',0, time() - 3600,'/'); } // Handle purge button press when get has jSGCache=purge, but only in admin with a logged user if(isset($_GET['jSGCache']) && $_GET['jSGCache'] == 'purge' && JFactory::getApplication()->isAdmin() && !$user->guest ) $this->_purgeCache(true); } /** * Admin panel icon display * * @access public * @param string $context * @return array */ public function onGetIcons( $context ) { return array(array( 'link'=>'?jSGCache=purge', 'image'=>'refresh', 'text'=>JText::_('Purge jSGCache'), 'id'=>'jSGCache' )); } /** * Calls the cache server to purge the cache * * @access public * @param string|bool $message Message to be displayed if purge is successful. If this param is false no output would be done * @return null */ private function _purgeCache( $message = true ) { $purgeRequest = $this->_applicationPath . '(.*)'; // Construct the PURGE request $hostname = str_replace( 'www.', '', $_SERVER['HTTP_HOST'] ); $purge_method = "PURGE"; $cacheServerSocket = fsockopen($hostname, 80, $errno, $errstr, 2); if(!$cacheServerSocket) { JError::raise(E_ERROR,500,JText::_('Connection to cache server failed!')); JError::raise(E_ERROR,500,JText::_($errstr ($errno))); return; } $request = "$purge_method {$purgeRequest} HTTP/1.0\r\nHost: {$_SERVER['SERVER_NAME']}\r\nConnection: Close\r\n\r\n"; if (preg_match('/^www\./',$_SERVER['SERVER_NAME'])) { $domain_no_www = preg_replace('/^www\./', '', $_SERVER['SERVER_NAME']); $request2 = "$purge_method {$purgeRequest} HTTP/1.0\r\nHost: {$domain_no_www}\r\nConnection: Close\r\n\r\n"; } else $request2 = "$purge_method {$purgeRequest} HTTP/1.0\r\nHost: www.{$_SERVER['SERVER_NAME']}\r\nConnection: Close\r\n\r\n"; fwrite($cacheServerSocket, $request); $response = fgets($cacheServerSocket); fclose($cacheServerSocket); $cacheServerSocket = fsockopen($hostname, 80, $errno, $errstr, 2); fwrite($cacheServerSocket, $request2); fclose($cacheServerSocket); if($message !== false) { if(preg_match('/200/',$response)) { if ($message === true) JFactory::getApplication()->enqueueMessage(JText::_('SG Cache Successfully Purged!')); else JFactory::getApplication()->enqueueMessage(JText::_( $message )); } else { JError::raise(E_NOTICE,501, JText::_('SG Cache: Purge was not successful!')); JError::raise(E_NOTICE,501, jText::_('Error: ' . $response)); } } } /** * Check if url is in caching blacklist * * @param string $applicationPath * * @return bool */ private function _isBlacklisted($applicationPath) { $blacklistArray = explode("\n",$this->params->get('blacklist')); $blacklistRegexArray = array(); $indexIsBlacklisted = false; foreach($blacklistArray as $key=>$row) { $row = trim($row); if ($row != '/' && $quoted = preg_quote($row,'/')) $blacklistRegexArray[$key] = $quoted; if ($row == '/') $indexIsBlacklisted = true; } if ($indexIsBlacklisted && $_SERVER['REQUEST_URI'] == $applicationPath) return true; if (empty($blacklistRegexArray)) return false; $blacklistRegex = '/('.implode('|',$blacklistRegexArray) . ')/i'; return preg_match($blacklistRegex, $_SERVER['REQUEST_URI']); } /** * 3rd party plugin monitor * * @access private * @return null */ private function _monitorThirdPartyPlugins() { // Kunena & K2 if ($this->params->get('autoFlush-ThirdParty') == 1 && isset($_POST['option']) && ($_POST['option']=='com_k2' || $_POST['option' ]== 'com_kunena')) { $this->_purgeCache(false); } // VirtueMart if ( (isset($_POST['option']) && $_POST['option'] == 'com_virtuemart') || ( isset($_GET['option']) && $_GET['option'] == 'com_virtuemart' ) || isset($_GET['cart_virtuemart_product_id']) ) { if($this->params->get('autoFlush-ThirdParty') == 1) $this->_purgeCache(false); } } /** * Action monitor * * @access private * @return null */ private function _flushMonitor() { $user = JFactory::getUser(); if ((!JFactory::getApplication()->isAdmin() && !$this->_autoflushClientSide) || $user->guest) return; $autoflush = $this->params->get('autoFlush'); if ($autoflush === null) $autoflush = 1; if (isset($_POST['task']) && $_POST['task'] && !in_array($_POST['task'],self::$_ignoreTasks) && $autoflush == 1) $this->_purgeCache(false); } } Community Support Forums - Sellacious
  Thursday, 11 July 2019
  1.8K Visits
  Subscribe
Hi,

Re: https://cjrrenovations-co-uk.stackstaging.com
This is a Joomdev site and it crashes if I try to update or uninstall Sellacious.
I am just uploading a backup. Any assistance with this issue would be appreciated.

Regards,
Colin.
4 years ago
·
#3522
Just tried again and got this error message:
An error has occurred.
0 Joomla\Filesystem\File::delete: Failed deleting .nfs000000000999246f000fd1d0
4 years ago
·
#3528
Hello Colin,

Can you send me your details through DM? Also, which template of JoomDev are you using?
4 years ago
·
#3538
Hi,

Could you let me know how you are getting on with this please,

Regards,
Colin.
4 years ago
·
#3539
Hello Colin,

We've tried to install sellacious on your site, and every time I got the msg that your site is unable to handle the request.

Please take a look at below link to know about the server requirements which are necessary to run sellacious on your site smoothly.

https://www.sellacious.com/documentation-v2#/learn/basics/system-requirements
4 years ago
·
#3543
Hi,

I will take a look and let you know how I get on.

Regards,
Colin
4 years ago
·
#3545
URGENT.

Hi,

My server has confirmed it meets all of these requirements.

It's seems you have crashed the site whilst attempting to fix it. Please respond ASAP.
4 years ago
·
#3546
My server is trying to retrieve a site update.

I will be in touch shortly.
4 years ago
·
#3549
Hello Colin,

I hope your site is working now.

I wanted you to know that since you haven't provided us any details for the cPanel or FTP, I just logged in to Joomla administrator of your site and tried to update the sellacious. Let me know if the sellacious installation is working for you after retrieving.
4 years ago
·
#3551
Hi,

I am being told the problem is with the template. The developer is working on a solution.

I will let you know how they get on.

Regards,
Colin.
4 years ago
·
#3623
Hi,

Joomdev are saying it's a Sellacious issue. I have attached the original error report.
Can you let me know your thoughts please.

Regards,
Colin.
4 years ago
·
#3624
Hello Colin,

Can we try to re-create this error on your site? Please take a backup of your site and send me the details through DM. I'll take a look at this.
4 years ago
·
#3627
Hi Vijaya,

Can you remind me where to send DM please.

Regards,
Colin.
4 years ago
·
#3628
Hello Colin,

You can DM after clicking on my profile.
4 years ago
·
#3679
Hi,

Joomdev are still trying to sort out this issue.
In the meantime, the site has crashed again. It was fine yesterday and I haven't changed anything. Could you take a look at the response from my server and let me know if there is a way to fix it:
'There looks to be a missing class within the code this is not being caused by the server.

cjrrenovations-co-uk.stackstaging.com [Thu Aug 22 18:03:05 2019] [error] [client 109.69.82.40:0] PHP Fatal error: Class 'SellaciousPlugin' not found in /home/sites/7a/6/6a28a854cc/public_html/plugins/system/sellaciousreportscart/sellaciousreportscart.php on line 27'

Thanks,
Colin.
4 years ago
·
#3680
Hello Colin,

I checked your site. How did you install/uninstall sellacious? As there are some of the sellacious modules/plugins, but important ones are missing.

Below are the links of the doc to know about how to install/uninstall sellacious.

https://www.sellacious.com/documentation-v2#/learn/installuninstall/before-you-install

https://www.sellacious.com/documentation-v2#/learn/installuninstall/uninstalling-sellacious
As discussed with jomdev team, the final issue we found was different version of sellacious core and sellacious extended version installed on Colin's website.

They have updated it. And recommend fresh install to resolve the issue.

It was the issue which might have caused because of not following the proper install instructions mentioned in our documentation.

As this issue is only reported by only one single user out of thousands of our users we came to the conclusion that its very subjective problem and not the common issue.
  • Page :
  • 1
There are no replies made for this post yet.
Be one of the first to reply to this post!
Sorry, the discussion is currently locked. You will not be able to post a reply or a comment at the moment.
  • +1 (408) 821-8283
  • Email hello@sellacious.com