PDA

View Full Version : سوال: مشکل عدم ارسال اطلاعات به پایگاه داده و ذخیره سازی



xmasoud
چهارشنبه 30 بهمن 1392, 04:51 صبح
با سلام دوستان عزیزم بنده یک مشکل در رابطه با کد زیر دارم اطلاعات ارسال و ذخیره در دیتابیس نمیشه یعنی بعد از تنظیم و زدن دکمه ذخیره هیچ تغییری دیده نمیشه ممنون میشم کمکم کنید.



<?php

function pars_jdate_config() {
$configarray = array( 'name' => 'pars Jalali Date', 'description' => 'Convert Gerogian To Jalali Date in Client area, Admin area, Email templates and other modules', 'version' => '1.5', 'author' => 'pars Web Develpers. pars-server.com', 'language' => 'farsi', 'fields' => array( 'License' => array( 'FriendlyName' => 'License', 'Type' => 'text', 'Size' => '25', 'Description' => 'Enter your pars_jdate License number', 'Default' => 'pars-' ) ) );
return $configarray;
}

function pars_jdate_activate() {
mysql_query( $query );
$result = $query = 'CREATE TABLE `mod_pars_jdate` (`setting` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `dual` text NOT NULL, `format` text CHARACTER SET utf8 COLLATE utf8_bin, `timezone` int(11) DEFAULT NULL, `status` TEXT NOT NULL, `localkey` TEXT NULL, `num` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL);';
mysql_query( $query );
$result = $query = 'INSERT INTO `mod_pars_jdate` (`setting`, `dual`, `format`, `timezone`, `status`, `localkey`, `num`) VALUES (\'options\', \'false\', \'Y/m/d\', 1, \'Active\', \'\', \'fa\');';
return array( 'status' => 'success', 'description' => 'pars Jalali Date addon successfully installed' );
}

function pars_jdate_deactivate() {
$query = 'DROP TABLE `mod_pars_jdate`';
$result = mysql_query( $query );
return array( 'status' => 'success', 'description' => 'pars Jalali Date addon successfully uninstalled' );
}

function pars_jdate_upgrade($vars) {
$version = $vars['version'];
}

function jdate_check_license($licensekey, $localkey = '') {
$whmcsurl = 'http://pars-server.com/';
$licensing_secret_key = 'masoud123';
$checkdate = date( 'Ymd' );
$localkeydays = 13;
$allowcheckfaildays = 9;
$localkeyvalid = false;

if ($localkey) {
$localkey = str_replace( '
', '', $localkey );

$localdata = substr( $localkey, 0, strlen( $localkey ) - 32 );
$md5hash = substr( $localkey, strlen( $localkey ) - 32 );

if ($md5hash == md5( $localdata . $licensing_secret_key )) {
$localdata = strrev( $localdata );
$md5hash = substr( $localdata, 0, 32 );
$localdata = substr( $localdata, 32 );
$localdata = base64_decode( $localdata );
$localkeyresults = unserialize( $localdata );
$originalcheckdate = $localkeyresults['checkdate'];

if ($md5hash == md5( $originalcheckdate . $licensing_secret_key )) {
$localexpiry = date( 'Ymd', mktime( 0, 0, 0, date( 'm' ), date( 'd' ) - $localkeydays, date( 'Y' ) ) );

if ($localexpiry < $originalcheckdate) {
$localkeyvalid = true;
$results = $localkeyresults;
$validdomains = explode( ',', $results['validdomain'] );

if (!in_array( $_SERVER['SERVER_NAME'], $validdomains )) {
$localkeyvalid = false;
$localkeyresults['status'] = 'Invalid';
$results = array( );
}

$validips = explode( ',', $results['validip'] );

if (!in_array( $_SERVER['SERVER_ADDR'], $validips )) {
$localkeyvalid = false;
$localkeyresults['status'] = 'Invalid';
$results = array( );
}


if ($results['validdirectory'] != dirname( __FILE__ )) {
$localkeyvalid = false;
$localkeyresults['status'] = 'Invalid';
$results = array( );
}
}
}
}
}


if (!$localkeyvalid) {
$postfields['licensekey'] = $licensekey;
$postfields['domain'] = $_SERVER['SERVER_NAME'];
$postfields['ip'] = $_SERVER['SERVER_ADDR'];
$postfields['dir'] = dirname( __FILE__ );
$ch = curl_init( );
curl_setopt( $ch, CURLOPT_URL, $whmcsurl . 'modules/servers/licensing/verify.php' );
curl_setopt( $ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $postfields );
curl_setopt( $ch, CURLOPT_TIMEOUT, 30 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
$data = curl_exec( $ch );
curl_close( $ch );

if (!$data) {
$localexpiry = date( 'Ymd', mktime( 0, 0, 0, date( 'm' ), date( 'd' ) - ( $localkeydays + $allowcheckfaildays ), date( 'Y' ) ) );

if ($localexpiry < $originalcheckdate) {
$results = $localkeyresults;
}
else {
$results['status'] = 'Remote Check Failed';
return $results;
}
}

preg_match_all( '/<(.*?)>([^<]+)<\/\1>/i', $data, $matches );
$results = array( );
foreach ($matches[1] as $k => $v) {
$results[$v] = $matches[2][$k];
}


if ($results['status'] == 'Active') {
$results['checkdate'] = $checkdate;
$data_encoded = serialize( $results );
$data_encoded = base64_encode( $data_encoded );
$data_encoded = md5( $checkdate . $licensing_secret_key ) . $data_encoded;
$data_encoded = strrev( $data_encoded );
$data_encoded = $data_encoded . md5( $data_encoded . $licensing_secret_key );
$data_encoded = wordwrap( $data_encoded, 80, '
', true );

$results['localkey'] = $data_encoded;
}

$results['remotecheck'] = true;
}

unset( $postfields );
unset( $data );
unset( $matches );
unset( $whmcsurl );
unset( $licensing_secret_key );
unset( $checkdate );
unset( $localkeydays );
unset( $allowcheckfaildays );
unset( $md5hash );
return $results;
}

function pars_jdate_output($vars) {
global $results;

$modulelink = $vars['modulelink'];
$version = $vars['version'];
$License = $vars['License'];
$LANG = $vars['_lang'];
$table = 'mod_pars_jdate';

if (!empty( $_POST['format'] )) {
$update = array( 'dual' => $_POST['dual'], 'format' => $_POST['format'], 'num' => $_POST['num'] );
$where = array( 'setting' => 'options' );
update_query( $table, $update, $where );
}

$result = mysql_query( 'SELECT * FROM `mod_pars_jdate` WHERE setting = "options"' );
$data = mysql_fetch_array( $result );
$format = $data[format];
$timezone = $data[timezone];
$num = $data[num];
$dual = $data[dual];
$parslocalkey = $data[localkey];
$query = mysql_query( 'SELECT `value` FROM `tbladdonmodules` WHERE module = "pars_jdate" AND setting = "License"' );
$data = mysql_fetch_array( $query );
$parsLicense = $data['value'];
$licensekey = $parsLicense;
$localkey = $parslocalkey;
$results = jdate_check_license( $licensekey, $localkey );
echo '<div class="contexthelp"><a href="http://www.pars-server.com" target="_blank"><img src="images/icons/help.png" border="0" align="absmiddle">' . $LANG['parshelp'] . '</a></div>';
echo '<p>' . $LANG['intro'] . '</p>';
echo '<p>' . $LANG['desc'] . '</p>';
echo '<table class="form" width="100%" border="0" cellspacing="2" cellpadding="3"><tbody>
<tr><td class="fieldlabel" width="20%">' . $LANG['parsjdateli'] . '</td><td class="fieldarea">' . $vars['License'] . '</td></tr>
<tr><td class="fieldlabel" width="20%">' . $LANG['parsjdatelifor'] . '</td><td class="fieldarea">' . $results['registeredname'] . ' ,' . $results['email'] . '</td></tr>
<tr><td class="fieldlabel" width="20%">' . $LANG['parsjdatestatus'] . '</td><td class="fieldarea">' . $results['status'] . '</td></tr>
<tr><td class="fieldlabel" width="20%">' . $LANG['parsjdatever'] . '</td><td class="fieldarea">' . $version . '</td></tr>

</tbody></table><br/>';

if ($results['status'] == 'Active') {
echo '<h4>' . $LANG['formtitle'] . '</h4><form method="POST" action="">
<table class="form" width="100%" border="0" cellspacing="2" cellpadding="3"><tbody>
<tr><td class="fieldlabel" width="20%">' . $LANG['formattitle'] . '</td>
<td class="fieldarea">' . $LANG['formatdesc'] . '<br/>
<label><input name="format" type="radio" defualt="true" value="Y/m/d"';

if ($format === 'Y/m/d') {
echo 'checked="checked"';
}

echo '/>' . $LANG['formatop1'] . '</label><br/>
<label><input name="format" type="radio" defualt="true" value="J F V"';

if ($format === 'J F V') {
echo 'checked="checked"';
}

echo '/>' . $LANG['formatop2'] . '</label><br/>
<label><input name="format" type="radio" defualt="true" value="l J F v"';

if ($format === 'l J F v') {
echo 'checked="checked"';
}

echo '/>' . $LANG['formatop3'] . '</label><br/>
<label><input name="format" type="radio" defualt="true" value="j F Y"';

if ($format === 'j F Y') {
echo 'checked="checked"';
}

echo '/>' . $LANG['formatop4'] . '</label><br/>
<label><input name="format" type="radio" defualt="true" value="l j F Y"';

if ($format === 'l j F Y') {
echo 'checked="checked"';
}

echo '/>' . $LANG['formatop5'] . '</label><br/><br/>
</td></tr>
<tr><td class="fieldlabel" width="20%">' . $LANG['dualdatetitle'] . '</td>
<td class="fieldarea">' . $LANG['dualdatedesc'] . '<br/>
<label><input name="dual" type="radio" defualt="true" value="true"';

if ($dual === 'true') {
echo 'checked="checked"';
}

echo '/>' . $LANG['yes'] . '</label>
<label><input name="dual" type="radio" defualt="true" value="false"';

if ($dual === 'false') {
echo 'checked="checked"';
}

echo '/>' . $LANG['no'] . '</label><br/><br/>
</td></tr>
<tr><td class="fieldlabel" width="20%">' . $LANG['numtitle'] . '</td>
<td class="fieldarea">' . $LANG['numdesc'] . '<br/>
<label><input name="num" type="radio" defualt="true" value="fa"';

if ($num === 'fa') {
echo 'checked="checked"';
}

echo '/>' . $LANG['numfarsi'] . '</label>
<label><input name="num" type="radio" defualt="true" value="en"';

if ($num === 'en') {
echo 'checked="checked"';
}

echo '/>' . $LANG['numenglish'] . '</label><br/><br/>
</td></tr>

</tbody></table><br/>
<input class="btn btn-primary" type="submit" value="' . $LANG['submit'] . '"/>
</form>';
$update = array( 'status' => 'Active' );
$where = array( 'setting' => 'options' );
update_query( $table, $update, $where );

if ($results['localkey']) {
$localkeydata = $results['localkey'];
$update = array( 'localkey' => $localkeydata );
$where = array( 'setting' => 'options' );
update_query( $table, $update, $where );
return null;
}
}
else {
if ($results['status'] == 'Invalid') {
echo '<div class="errorbox">' . $LANG['licInvalid'] . '</div>';
$update = array( 'status' => 'Invalid' );
$where = array( 'setting' => 'options' );
update_query( $table, $update, $where );
return null;
}


if ($results['status'] == 'Expired') {
echo '<div class="errorbox">' . $LANG['licExpired'] . '</div>';
$update = array( 'status' => 'Expired' );
$where = array( 'setting' => 'options' );
update_query( $table, $update, $where );
return null;
}


if ($results['status'] == 'Suspended') {
echo '<div class="errorbox">' . $LANG['licSuspended'] . '</div>';
$update = array( 'status' => 'Suspended' );
$where = array( 'setting' => 'options' );
update_query( $table, $update, $where );
}
}

}

function pars_jdate_sidebar($vars) {
$modulelink = $vars['modulelink'];
$version = $vars['version'];
$License = $vars['License'];
$LANG = $vars['_lang'];
$sidebar = '<span class="header"><img src="images/icons/addonmodules.png" class="absmiddle" width="16" height="16" /> pars Jdate</span>
<ul class="menu">
<li><a href="addonmodules.php?module=pars_jdate">pars Jdate settings</a></li>
<li><a href="#">Version: ' . $version . '</a></li>
</ul>';
return $sidebar;
}

echo '';

if (!defined( 'WHMCS' )) {
exit( 'This file cannot be accessed directly' );
}

?>