function _finalize() { $this->_process_plugins('on_finalize', $this); if (!empty($this->pmodel) and (bool) $this->connection['Connection']['extras'][$this->area]['display']['debug'] === true) { pr($this->pmodel->dbo->log); } $tvout = \GCore\Libs\Request::data('tvout', ''); parent::_settings('chronoconnectivity'); $settings = isset($this->data['Chronoconnectivity']) ? $this->data['Chronoconnectivity'] : array(); $this->fparams = new \GCore\Libs\Parameter($settings); if ($this->_validated($this->fparams) === false and $tvout != 'ajax') { echo '<p class="chrono_credits"><a href="http://www.chronoengine.com" target="_blank">Powered by ChronoConnectivity - ChronoEngine.com</a></p>'; } }
function validateinstall() { $domain = str_replace(array('http://', 'https://'), '', \GCore\Libs\Url::domain()); $this->set('domain', $domain); if (!empty($this->data['license_key'])) { $session = \GCore\Libs\Base::getSession(); $fields = ''; $update_fld = 'validated'; if ($this->data['pid'] == 18) { $update_fld = 'validated_paypal'; } if ($this->data['pid'] == 7) { $update_fld = 'validated_authorize'; } if ($this->data['pid'] == 31) { $update_fld = 'validated_2checkout'; } //$postfields = array(); unset($this->data['option']); unset($this->data['act']); foreach ($this->data as $key => $value) { $fields .= "{$key}=" . urlencode($value) . "&"; } $target_url = 'http://www.chronoengine.com/index.php?option=com_chronocontact&task=extra&chronoformname=validateLicense'; $output = '-'; if (ini_get('allow_url_fopen')) { $output = file_get_contents($target_url . '&' . rtrim($fields, "& ")); } else { if (function_exists('curl_version')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $target_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_POSTFIELDS, rtrim($fields, "& ")); $output = curl_exec($ch); curl_close($ch); } } if ($output == '-') { $session->setFlash('error', 'Validation error, Could not connect to the remote server, your host does not have neither the CURL nor the allow_url_fopen.'); $this->redirect(r_('index.php?ext=chronoforms')); } $validstatus = $output; if ($validstatus == 'valid') { parent::_settings('chronoforms'); $this->data['Chronoforms'][$update_fld] = 1; $result = parent::_save_settings('chronoforms'); if ($result) { $session->setFlash('success', 'Validated successfully.'); $this->redirect(r_('index.php?ext=chronoforms')); } else { $session->setFlash('error', 'Validation error.'); } } else { if ($validstatus == 'invalid') { parent::_settings('chronoforms'); $this->data['Chronoforms'][$update_fld] = 0; $result = parent::_save_settings('chronoforms'); $session->setFlash('error', 'Validation error, you have provided incorrect data.'); $this->redirect(r_('index.php?ext=chronoforms')); } else { if (!empty($this->data['instantcode'])) { $step1 = base64_decode(trim($this->data['instantcode'])); $step2 = str_replace(substr(md5(str_replace('www.', '', strtolower($matches[2]))), 0, 7), '', $step1); $step3 = str_replace(substr(md5(str_replace('www.', '', strtolower($matches[2]))), -strlen(md5(str_replace('www.', '', strtolower($matches[2])))) + 7), '', $step2); $step4 = str_replace(substr($this->data['license_key'], 0, 10), '', $step3); $step5 = str_replace(substr($this->data['license_key'], -strlen($this->data['license_key']) + 10), '', $step4); //echo (int)$step5;return; //if((((int)$step5 + (24 * 60 * 60)) > strtotime(date('d-m-Y H:i:s')))||(((int)$step5 - (24 * 60 * 60)) < strtotime(date('d-m-Y H:i:s')))){ if ((int) $step5 < strtotime("now") + 24 * 60 * 60 and (int) $step5 > strtotime("now") - 24 * 60 * 60) { parent::_settings('chronoforms'); $this->data['Chronoforms'][$update_fld] = 1; $result = parent::_save_settings('chronoforms'); if ($result) { $session->setFlash('success', 'Validated successfully.'); $this->redirect(r_('index.php?ext=chronoforms')); } else { $session->setFlash('error', 'Validation error.'); } } else { $session->setFlash('error', 'Validation error, Invalid instant code provided.'); $this->redirect(r_('index.php?ext=chronoforms')); } } else { if (!empty($this->data['serial_number'])) { $blocks = explode("-", trim($this->data['serial_number'])); $hash = md5($this->data['pid'] . $this->data['license_key'] . str_replace('www.', '', $domain) . $blocks[3]); if (substr($hash, 0, 7) == $blocks[4]) { parent::_settings('chronoforms'); $this->data['Chronoforms'][$update_fld] = 1; $result = parent::_save_settings('chronoforms'); if ($result) { $session->setFlash('success', 'Validated successfully.'); $this->redirect(r_('index.php?ext=chronoforms')); } else { $session->setFlash('error', 'Validation error.'); } } else { $session->setFlash('error', 'Serial number invalid!'); } } $session->setFlash('error', 'Validation error, please try again using the Instant Code, or please contact us on www.chronoengine.com'); $this->redirect(r_('index.php?ext=chronoforms')); } } } } }
function settings() { parent::_settings('editors'); }