function getAccessInfo($sql_fields, $sql_table, $sql_conditions = "1", $cond = NULL) { $access['Data'] = array(); $access['Headers'] = 0; $access['Sql_Fields'] = $sql_fields; $access['Sql_Table'] = $sql_table; $access['Sql_Conditions'] = $sql_conditions; $sql = "Select {$sql_fields} from {$sql_table} where {$sql_conditions}"; $result = sql_query_read($sql) or dieLog(mysql_error() . " ~ " . "<pre>{$sql}</pre>"); if (mysql_num_rows($result) < 1) { return -1; } $row = mysql_fetch_row($result); $fields = mysql_num_fields($result); for ($i = 0; $i < $fields; $i++) { $type = mysql_field_type($result, $i); $name = mysql_field_name($result, $i); $len = mysql_field_len($result, $i); $flags = mysql_field_flags($result, $i); $table = mysql_field_table($result, $i); $useName = $name; if (array_key_exists($useName, $access['Data'])) { $useName = $name . $i; } if ($name == 'access_header') { $access['Headers']++; } $access['Data'][$useName] = getAttrib($name, $type, $len, $flags, $table, $row[$i], &$cond); } return $access; }
function getAccessInfo($sql_fields, $sql_table, $sql_conditions = "1", $cond = NULL, $access = array()) { $access['Data'] = array(); if (!$access['QueryType']) { $access['QueryType'] = 'Update'; } $access['Headers'] = 0; $access['Sql_Fields'] = $sql_fields; $access['Sql_Table'] = $sql_table; $access['Sql_Conditions'] = $sql_conditions; $access['Default_Conditions'] = $cond; $sql = "Select {$sql_fields} from {$sql_table} where {$sql_conditions} Group by 1"; $access['Sql_Full'] = $sql; $result = sql_query_read($sql) or dieLog(mysql_error() . " ~ {$sql}"); if ($access['QueryType'] == 'Update') { if (mysql_num_rows($result) < 1) { return -1; } } $row = mysql_fetch_row($result); $fields = mysql_num_fields($result); for ($i = 0; $i < $fields; $i++) { $type = mysql_field_type($result, $i); $name = mysql_field_name($result, $i); $len = mysql_field_len($result, $i); $flags = mysql_field_flags($result, $i); $table = mysql_field_table($result, $i); $useName = $name; if (array_key_exists($useName, $access['Data'])) { $useName = $name . $i; } if ($name == 'access_header') { $access['Headers']++; } //$access['Tables'][$table] = $table; $access['Data'][$useName] = getAttrib($name, $type, $len, $flags, $table, $row[$i], &$cond); } $access['Submitable'] = true; if ($access['SerializedData']['Source']) { $source = $access['SerializedData']['Source']; $unserialized = @unserialize($access['Data'][$source]['Value']); if (!$unserialized) { $unserialized = array(); } //etelPrint($unserialized); $access['SerializedData']['SourceArray'] = $unserialized; unset($access['Data'][$source]); foreach ($access['SerializedData']['Data'] as $key => $path) { $target =& $unserialized; foreach ($path as $p) { $target =& $target[$p]; } if (!is_array($target)) { $access['Data'][$key]['Value'] = $target; } $access['Data'][$key]['ExcludeQuery'] = true; $access['Data'][$key]['SerializedData'] = true; $access['Data'][$key]['Type'] = 'string'; } } return $access; }
$new = true; $access['QueryType'] = 'Insert'; $access['InsertInto'] = 'cs_rebillingdetails'; $access['Data']['access_header1'] = getAttrib('access_header'); $access['Data']['access_header1']['Value'] = 'PricePoint Information'; $access['Data']['rd_description'] = getAttrib('rd_description'); $access['Data']['access_header2'] = getAttrib('access_header'); $access['Data']['access_header2']['Value'] = 'Enable Trial'; $access['Data']['rd_trial_enabled'] = getAttrib('rd_trial_enabled'); $access['Data']['rd_initial_amount'] = getAttrib('rd_initial_amount'); $access['Data']['rd_trial_days'] = getAttrib('rd_trial_days'); $access['Data']['access_header3'] = getAttrib('access_header'); $access['Data']['access_header3']['Value'] = 'Recurring Billing Information'; $access['Data']['rd_recur_enabled'] = getAttrib('rd_recur_enabled'); $access['Data']['recur_charge'] = getAttrib('recur_charge'); $access['Data']['recur_day'] = getAttrib('recur_day'); $access['Submitable'] = 1; } else { $access = getAccessInfo("\n\t\n\t'PricePoint Information' as access_header,\n\t\t`rd_subName` as 'Price_Point_Name', \n\t\t`rd_description`,\n\t\t`rd_enabled`,\n\t\n\t'Enable Trial' as access_header,\n\t\t`rd_trial_enabled`,\n\t\t`rd_initial_amount`, `rd_trial_days`,\n\t\n\t'Recurring Billing Information' as access_header,\n\t\t`rd_recur_enabled`, `recur_charge`, `recur_day`,\n\t\t\n\t'Usage Information' as access_header,\n\t\tsum(ss_ID is not null) as 'sub_num',\n\t\tsum(ss_rebill_status = 'active') as 'sub_active',\n\t\tsum(ss_rebill_status = 'inactive') as 'sub_inactive'\n\t\n\t\t\n\t", "cs_rebillingdetails left join cs_subscription on rd_subaccount = ss_rebill_id", "rd_subName = '{$rd_subName}' && company_user_id = '{$userId}' && rd_hide=0", array('req' => 1), $access); if ($access == -1) { dieLog("Invalid PricePoint: " . print_r($_REQUEST, true), "Invalid PricePoint", false); } $access['Data']['Price_Point_Name']['DisplayName'] = 'Price Point Name'; $access['Data']['Price_Point_Name']['disable'] = 1; } $access['Data']['rd_enabled']['disable'] = 1; $access['Data']['rd_enabled']['DisplayName'] = "Price Point Enabled"; $access['Data']['rd_recur_enabled']['DisplayName'] = 'Enable Recurring Billing'; $access['Data']['rd_recur_enabled']['Input'] = 'checkbox'; $access['Data']['rd_recur_enabled']['AddHtml'] = "<span class='small'><br>This will disable all active subscriptions using this price point.</span>"; $access['Data']['recur_charge']['DisplayName'] = 'Recuring $ Amount';