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;
}
示例#2
0
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;
}
示例#3
0
    $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';