function _save_form_wizard() { //generate XML code for the form $chronoform = array(); $formdata = array(); if (!empty($_POST['chronofield'])) { foreach ($_POST['chronofield'] as $key => $fielddata) { $formdata['field_' . $key] = array(); foreach ($fielddata as $fieldname => $fieldvalue) { $formdata['field_' . $key][$fieldname] = $fieldvalue; } } } //if easy mode, load the preset events actions if (isset($_POST['wizard_mode']) && $_POST['wizard_mode'] == 'easy') { $_POST['chronoaction'][3] = array('type' => 'show_html'); $_POST['chronoaction'][5] = array('type' => 'event_loop'); $_POST['chronoaction'][7] = array('type' => 'event_loop'); $_POST['chronoaction'][16] = array('type' => 'handle_arrays'); } //prepare the actions details for the model $formactionsdata = array(); $action_count = 0; if (!empty($_POST['chronoaction'])) { foreach ($_POST['chronoaction'] as $key => $actiondata) { $type = $_data['ChronoformAction'][$action_count]['type'] = $actiondata['type']; $_data['ChronoformAction'][$action_count]['order'] = $key; if (isset($actiondata['action_' . $actiondata['type'] . '_' . $key . '_enabled'])) { $_data['ChronoformAction'][$action_count]['enabled'] = $actiondata['action_' . $actiondata['type'] . '_' . $key . '_enabled']; unset($actiondata['action_' . $actiondata['type'] . '_' . $key . '_enabled']); } else { $_data['ChronoformAction'][$action_count]['enabled'] = 1; } //$_data['ChronoformAction'][$action_count]['event'] = $actiondata['action_'.$actiondata['type'].'_'.$key.'_event']; //unset($actiondata['action_'.$actiondata['type'].'_'.$key.'_event']); if (isset($actiondata['action_' . $actiondata['type'] . '_' . $key . '_content1'])) { $_data['ChronoformAction'][$action_count]['content1'] = $actiondata['action_' . $actiondata['type'] . '_' . $key . '_content1']; unset($actiondata['action_' . $actiondata['type'] . '_' . $key . '_content1']); } unset($actiondata['type']); foreach ($actiondata as $actionname => $actionvalue) { $actiondata[str_replace('action_' . $type . '_' . $key . '_', '', $actionname)] = $actionvalue; unset($actiondata[$actionname]); } $_data['ChronoformAction'][$action_count]['params'] = $actiondata; $action_count++; } } $chronoform['formcode'] = $formdata; /*print_r2($_data); die(); /*echo '<pre>'; print_r($formdata); print_r($_data); print_r($_POST['_form_actions_events_map']); echo '</pre>';*/ //save form $mainframe =& JFactory::getApplication(); $database =& JFactory::getDBO(); $row = JTable::getInstance('chronoforms', 'Table'); if (isset($_POST['data']['Chronoform']['id']) && !empty($_POST['data']['Chronoform']['id'])) { $_data['Chronoform']['id'] = $_POST['data']['Chronoform']['id']; if (isset($_POST['wizard_mode'])) { // && $_POST['wizard_mode'] == 'easy'){ //load the form $database =& JFactory::getDBO(); $database->setQuery("SELECT * FROM #__chronoforms WHERE id='" . $_data['Chronoform']['id'] . "'"); $form = $database->loadObject(); //$_data['Chronoform']['params'] = 'form_mode='.$_POST['wizard_mode'].''."\n".trim($form->params)."\n".'form_mode='.$_POST['wizard_mode']; $form_params = new JParameter($form->params); $form_params->set('form_mode', $_POST['wizard_mode']); $form_params->set('tight_layout', $_POST['params']['tight_layout']); $_data['Chronoform']['params'] = $form_params->toString(); } } else { $_data['Chronoform']['form_type'] = 1; //this is a new form, set it as WIZARD form if (isset($_POST['wizard_mode'])) { // && $_POST['wizard_mode'] == 'easy'){ //$_data['Chronoform']['params'] = 'form_mode='.$_POST['wizard_mode']; $form_params = new JParameter(''); $form_params->set('form_mode', $_POST['wizard_mode']); $form_params->set('tight_layout', $_POST['params']['tight_layout']); $_data['Chronoform']['params'] = $form_params->toString(); } } $_POST['data']['Chronoform']['name'] = $_data['Chronoform']['name'] = $_POST['chronoform_name']; $_data['Chronoform']['published'] = $_POST['chronoform_published']; $_data['Chronoform']['app'] = $_POST['data']['Chronoform']['app']; if (isset($_POST['form_type']) && (int) $_POST['form_type'] != 0) { $_data['Chronoform']['content'] = ChronoFormsAdmin::_processWizardCode($formdata); $_data['Chronoform']['wizardcode'] = var_export($formdata, true); /*if(strpos($form->form_details->content, 'validate[') !== false){ }*/ } //get the actions events map $_data['Chronoform']['events_actions_map'] = base64_encode(serialize($_POST['_form_actions_events_map']['myform'])); //if easy mode, load the preset events map if (isset($_POST['wizard_mode']) && $_POST['wizard_mode'] == 'easy') { $_data['Chronoform']['events_actions_map'] = "YToxOntzOjY6ImV2ZW50cyI7YToyOntzOjQ6ImxvYWQiO2E6MTp7czo3OiJhY3Rpb25zIjthOjQ6e3M6MTg6ImNmYWN0aW9uX2xvYWRfanNfMCI7czowOiIiO3M6MTk6ImNmYWN0aW9uX2xvYWRfY3NzXzEiO3M6MDoiIjtzOjIzOiJjZmFjdGlvbl9sb2FkX2NhcHRjaGFfMiI7czowOiIiO3M6MjA6ImNmYWN0aW9uX3Nob3dfaHRtbF8zIjtzOjA6IiI7fX1zOjY6InN1Ym1pdCI7YToxOntzOjc6ImFjdGlvbnMiO2E6MTI6e3M6MjQ6ImNmYWN0aW9uX2NoZWNrX2NhcHRjaGFfNCI7YToxOntzOjY6ImV2ZW50cyI7YToyOntzOjM3OiJjZmFjdGlvbmV2ZW50X2NoZWNrX2NhcHRjaGFfNF9zdWNjZXNzIjtzOjA6IiI7czozNDoiY2ZhY3Rpb25ldmVudF9jaGVja19jYXB0Y2hhXzRfZmFpbCI7YToxOntzOjc6ImFjdGlvbnMiO2E6MTp7czoyMToiY2ZhY3Rpb25fZXZlbnRfbG9vcF81IjtzOjA6IiI7fX19fXM6MjM6ImNmYWN0aW9uX3VwbG9hZF9maWxlc182IjthOjE6e3M6NjoiZXZlbnRzIjthOjI6e3M6MzY6ImNmYWN0aW9uZXZlbnRfdXBsb2FkX2ZpbGVzXzZfc3VjY2VzcyI7czowOiIiO3M6MzM6ImNmYWN0aW9uZXZlbnRfdXBsb2FkX2ZpbGVzXzZfZmFpbCI7YToxOntzOjc6ImFjdGlvbnMiO2E6MTp7czoyMToiY2ZhY3Rpb25fZXZlbnRfbG9vcF83IjtzOjA6IiI7fX19fXM6MjI6ImNmYWN0aW9uX2N1c3RvbV9jb2RlXzgiO3M6MDoiIjtzOjI1OiJjZmFjdGlvbl9oYW5kbGVfYXJyYXlzXzE2IjtzOjA6IiI7czoxODoiY2ZhY3Rpb25fZGJfc2F2ZV85IjtzOjA6IiI7czoxNzoiY2ZhY3Rpb25fZW1haWxfMTAiO3M6MDoiIjtzOjE3OiJjZmFjdGlvbl9lbWFpbF8xMSI7czowOiIiO3M6MTc6ImNmYWN0aW9uX2VtYWlsXzEyIjtzOjA6IiI7czoyMzoiY2ZhY3Rpb25fY3VzdG9tX2NvZGVfMTMiO3M6MDoiIjtzOjMxOiJjZmFjdGlvbl9zaG93X3RoYW5rc19tZXNzYWdlXzE0IjtzOjA6IiI7czoyNToiY2ZhY3Rpb25fcmVkaXJlY3RfdXNlcl8yMCI7czowOiIiO3M6MjA6ImNmYWN0aW9uX2RlYnVnZ2VyXzE4IjtzOjA6IiI7fX19fQ=="; } if (!$row->bind($_data['Chronoform'])) { JError::raiseWarning(100, $row->getError()); $mainframe->redirect("index.php?option=com_chronoforms"); } if (!$row->store()) { JError::raiseWarning(100, $row->getError()); $mainframe->redirect("index.php?option=com_chronoforms"); } $chronoform_id = $row->id; //save actions if (isset($_data['ChronoformAction']) && !empty($_data['ChronoformAction'])) { //delete previous actions to save new ones if (isset($_POST['data']['Chronoform']['id']) && !empty($_POST['data']['Chronoform']['id'])) { $database->setQuery("DELETE FROM #__chronoform_actions WHERE chronoform_id='" . $_POST['data']['Chronoform']['id'] . "'"); if (!$database->query()) { JError::raiseWarning(100, $row->getError()); $mainframe->redirect("index.php?option=com_chronoforms"); } } //save all new actions foreach ($_data['ChronoformAction'] as $action) { $row = JTable::getInstance('chronoformactions', 'Table'); $action['chronoform_id'] = $chronoform_id; $params = new JParameter(''); if (isset($action['params']) && is_array($action['params'])) { foreach ($action['params'] as $k => $param) { $params->set($k, $param); } $action['params'] = $params->toString(); } if (!$row->bind($action)) { JError::raiseWarning(100, $row->getError()); $mainframe->redirect("index.php?option=com_chronoforms"); } if (!$row->store()) { JError::raiseWarning(100, $row->getError()); $mainframe->redirect("index.php?option=com_chronoforms"); } } } return $chronoform_id; }
ChronoFormsAdmin::install_action(); break; case "updates": ChronoFormsAdmin::updates(); break; case "action_task": ChronoFormsAdmin::action_task(); break; case "admin_form": ChronoFormsAdmin::admin_form(); break; default: if (strpos($task, ":") !== false) { $details = explode(":", $task); JRequest::setVar('task', $details[0]); JRequest::setVar('event', $details[1]); ChronoFormsAdmin::admin_form(); break; } ChronoFormsAdmin::index(); //delete any temp forms //ChronoFormsAdmin::delete_temp(); break; } //define the print_r2 function function print_r2($array = array()) { echo '<pre>'; print_r($array); echo '</pre>'; }
function validatelicensedata() { global $mainframe; preg_match('/http(s)*:\\/\\/(.*?)\\//i', $mainframe->getSiteURL(), $matches); $database = JFactory::getDBO(); $query = "SELECT * FROM `#__components` WHERE `option` = 'com_chronoforms' AND parent='0' AND admin_menu_link='option=com_chronoforms'"; $database->setQuery($query); $result = $database->loadObject(); //$configs = JComponentHelper::getParams('com_chronoforms'); $configs = new JParameter($result->params); $postfields = array(); if (isset($_POST['licensecode']) && !empty($_POST['licensecode'])) { $configs->set('licensecode', $_POST['licensecode']); } $postfields['license_key'] = $configs->get('licensecode', ''); $postfields['domain_name'] = $matches[2]; $postfields['pid'] = $_POST['pid']; $validstatus = false; if (empty($postfields['license_key'])) { $mainframe->redirect("index.php?option=com_chronoforms&task=validatelicense", 'You didn\'t enter your validation key.'); } if (trim(JRequest::getVar('instantcode')) && $configs->get('licensecode', '')) { $step1 = base64_decode(trim(JRequest::getVar('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($configs->get('licensecode', ''), 0, 10), '', $step3); $step5 = str_replace(substr($configs->get('licensecode', ''), -strlen($configs->get('licensecode', '')) + 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 && (int) $step5 > strtotime("now") - 24 * 60 * 60) { $query = "SELECT * FROM `#__components` WHERE `option` = 'com_chronoforms' AND parent='0' AND admin_menu_link='option=com_chronoforms'"; $database->setQuery($query); $result = $database->loadObject(); $newline = "\n"; if ($result) { $newparams = 'showtipoftheday=' . $configs->get('showtipoftheday', 1) . $newline . 'licensecode=' . $configs->get('licensecode', '') . $newline . 'licensevalid=1'; $database->setQuery("UPDATE `#__components` SET params='" . $newparams . "' WHERE id='" . $result->id . "'"); if (!$database->query()) { JError::raiseWarning(100, $database->getErrorMsg()); $mainframe->redirect("index.php?option=com_chronoforms"); } } $mainframe->redirect("index.php?option=com_chronoforms", 'Your key was validated successfully'); } else { //$mainframe->redirect( "index.php?option=com_chronoforms", 'Invalid instant code' ); } } if (function_exists('fsockopen')) { $validstatus = ChronoFormsAdmin::validationconnect('http', 'www.chronoengine.com', $port = '80', $path = '/index.php?option=com_chronocontact&task=extra&chronoformname=validateLicense', $postfields); } if (!$validstatus || $validstatus == 'error' || !function_exists('fsockopen')) { if (!function_exists('curl_init')) { $validstatus = false; } else { $fields = ''; $ch = curl_init(); //$postfields = array(); foreach ($postfields as $key => $value) { $fields .= "{$key}=" . urlencode($value) . "&"; } curl_setopt($ch, CURLOPT_URL, 'http://www.chronoengine.com/index.php?option=com_chronocontact&task=extra&chronoformname=validateLicense'); 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, "& ")); if ($configs->get('curlproxy', '')) { curl_setopt($ch, CURLOPT_PROXY, $configs->get('curlproxy')); } $output = curl_exec($ch); curl_close($ch); $validstatus = $output; } } //return $validstatus; if ($validstatus == 'valid') { if ($configs->get('licensecode', '')) { //if(!$configs->get('licensevalid', '')){ $query = "SELECT * FROM `#__components` WHERE `option` = 'com_chronoforms' AND parent='0' AND admin_menu_link='option=com_chronoforms'"; $database->setQuery($query); $result = $database->loadObject(); $newline = "\n"; if ($result) { $newparams = 'showtipoftheday=' . $configs->get('showtipoftheday', 1) . $newline . 'licensecode=' . $configs->get('licensecode', '') . $newline . 'licensevalid=1'; $database->setQuery("UPDATE `#__components` SET params='" . $newparams . "' WHERE id='" . $result->id . "'"); if (!$database->query()) { JError::raiseWarning(100, $database->getErrorMsg()); $mainframe->redirect("index.php?option=com_chronoforms"); } } //} } $mainframe->redirect("index.php?option=com_chronoforms", 'Your Install was validated successfully'); } else { if ($validstatus == 'invalid') { $query = "SELECT * FROM `#__components` WHERE `option` = 'com_chronoforms' AND parent='0' AND admin_menu_link='option=com_chronoforms'"; $database->setQuery($query); $result = $database->loadObject(); $newline = "\n"; if ($result) { $newparams = 'showtipoftheday=' . $configs->get('showtipoftheday', 1) . $newline . 'licensecode=' . $configs->get('licensecode', '') . $newline . 'licensevalid=0'; $database->setQuery("UPDATE `#__components` SET params='" . $newparams . "' WHERE id='" . $result->id . "'"); if (!$database->query()) { JError::raiseWarning(100, $database->getErrorMsg()); $mainframe->redirect("index.php?option=com_chronoforms"); } } $mainframe->redirect("index.php?option=com_chronoforms", 'We couldn\'t validate your key because of some wrong data used'); } else { if (trim(JRequest::getVar('instantcode'))) { $step1 = base64_decode(trim(JRequest::getVar('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($configs->get('licensecode', ''), 0, 10), '', $step3); $step5 = str_replace(substr($configs->get('licensecode', ''), -strlen($configs->get('licensecode', '')) + 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 && (int) $step5 > strtotime("now") - 24 * 60 * 60) { $query = "SELECT * FROM `#__components` WHERE `option` = 'com_chronoforms' AND parent='0' AND admin_menu_link='option=com_chronoforms'"; $database->setQuery($query); $result = $database->loadObject(); $newline = "\n"; if ($result) { $newparams = 'showtipoftheday=' . $configs->get('showtipoftheday', 1) . $newline . 'licensecode=' . $configs->get('licensecode', '') . $newline . 'licensevalid=1'; $database->setQuery("UPDATE `#__components` SET params='" . $newparams . "' WHERE id='" . $result->id . "'"); if (!$database->query()) { JError::raiseWarning(100, $database->getErrorMsg()); $mainframe->redirect("index.php?option=com_chronoforms"); } } $mainframe->redirect("index.php?option=com_chronoforms", 'Your key was validated successfully'); } else { $mainframe->redirect("index.php?option=com_chronoforms", 'Invalid instant code'); } } else { $query = "SELECT * FROM `#__components` WHERE `option` = 'com_chronoforms' AND parent='0' AND admin_menu_link='option=com_chronoforms'"; $database->setQuery($query); $result = $database->loadObject(); $newline = "\n"; if ($result) { $newparams = 'showtipoftheday=' . $configs->get('showtipoftheday', 1) . $newline . 'licensecode=' . $configs->get('licensecode', '') . $newline . 'licensevalid=0'; $database->setQuery("UPDATE `#__components` SET params='" . $newparams . "' WHERE id='" . $result->id . "'"); if (!$database->query()) { JError::raiseWarning(100, $database->getErrorMsg()); $mainframe->redirect("index.php?option=com_chronoforms"); } } $mainframe->redirect("index.php?option=com_chronoforms", 'We couldn\'t validate your key because your hosting server doesn\'t have neither the CURL library nor the fsockopen functions or they may exist but don\'t function properly, please contact your host admin to fix them or contact us <a href="http://www.chronoengine.com/contactus.html">here</a> Or at this email address : webmaster@chronoengine.com'); } } } }