本文整理汇总了PHP中get_single函数的典型用法代码示例。如果您正苦于以下问题:PHP get_single函数的具体用法?PHP get_single怎么用?PHP get_single使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_single函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: index
public function index($single_id = null)
{
$info = get_single($single_id);
if (empty($info)) {
$this->_empty();
}
$tpl = empty($info['index_tpl']) ? 'index' : $info['index_tpl'];
$this->assign('single', $info);
$this->display($tpl);
}
示例2: process
public function process()
{
if (isset($_REQUEST['_process']) && $_REQUEST['_process'] == 'ajax_save_map_coords') {
$address_id = (int) $_REQUEST['address_id'];
if ($address_id && !empty($_REQUEST['address_hash']) && !empty($_REQUEST['lat']) && !empty($_REQUEST['lng'])) {
// existing?
$existing = get_single('map', 'address_id', $address_id);
update_insert('map_id', $existing ? $existing['map_id'] : false, 'map', array('address_hash' => $_REQUEST['address_hash'], 'address_id' => $_REQUEST['address_id'], 'lat' => $_REQUEST['lat'], 'lng' => $_REQUEST['lng']));
}
echo 'Done';
exit;
}
}
示例3: foreach
$address = module_address::get_address($customer['customer_id'], 'customer', 'physical');
if (!empty($address)) {
$address_count = 0;
$customer['full_address'] = '';
foreach (array('line_1', 'line_2', 'suburb', 'state', 'region', 'country', 'post_code') as $key) {
if (!empty($address[$key])) {
$address_count++;
$customer['full_address'] .= $address[$key] . ', ';
}
$customer[$key] = $address[$key];
}
if ($address_count > 1) {
$customer['address_id'] = $address['address_id'];
$customer['full_address'] = rtrim($customer['full_address'], ', ');
$customer['address_hash'] = md5(serialize($address));
$geocode = get_single('map', 'address_id', $address['address_id']);
if ($geocode) {
// check hash matches - ie address hasn't changed.
if ($geocode['address_hash'] == $customer['address_hash']) {
$customer = array_merge($customer, $geocode);
}
}
$customer_addresses[] = $customer;
}
}
}
foreach ($customer_addresses as $customer_address) {
?>
customer_address.push(<?php
echo json_encode($customer_address);
?>
示例4: _e
?>
<a href="#"
onclick="editinvoice_payment('<?php
echo $invoice_payment_id;
?>
',0); return false;"><?php
_e('Edit');
?>
</a> |
<?php
}
// more details to the finance section
if (class_exists('module_finance', false) && module_finance::is_plugin_enabled() && module_finance::can_i('view', 'Finance') && module_finance::is_enabled()) {
// check if this finance has been added to the finance section yet.
$existing_finance = get_single('finance', 'invoice_payment_id', $invoice_payment_data['invoice_payment_id']);
if ($existing_finance) {
?>
<a href="<?php
echo module_finance::link_open($existing_finance['finance_id']);
?>
"><?php
_e('More');
?>
</a> | <?php
} else {
?>
<a href="<?php
echo module_finance::link_open('new', false) . '&invoice_payment_id=' . $invoice_payment_data['invoice_payment_id'];
?>
"><?php
示例5: get_data
public function get_data()
{
if (count($this->_get_data_cache)) {
return $this->_get_data_cache;
}
$file = false;
if ($this->file_id > 0) {
$file = get_single("file", "file_id", $this->file_id);
}
// check user has permissions to view this file.
// for now we just base this on the customer id check
if ($file) {
// staff listing
$staff = get_multiple('file_user_rel', array('file_id' => $file['file_id']), 'user_id');
$file['staff_ids'] = array_keys($staff);
$file['type'] = isset($file['file_url']) && $file['file_url'] ? 'remote' : (isset($file['bucket']) && $file['bucket'] ? 'bucket' : 'upload');
if ($this->do_permissions) {
switch (module_file::get_file_data_access()) {
case _FILE_ACCESS_ALL:
// all files, no limits on SQL here
break;
case _FILE_ACCESS_JOBS:
$jobs = module_job::get_jobs(array(), array('columns' => 'u.job_id AS id'));
if (!$file['job_id'] || !isset($jobs[$file['job_id']])) {
$file = false;
}
break;
case _FILE_ACCESS_ME:
if ($file['create_user_id'] != module_security::get_loggedin_id()) {
$file = false;
}
break;
case _FILE_ACCESS_ASSIGNED:
if (!in_array(module_security::get_loggedin_id(), $file['staff_ids'])) {
$file = false;
}
break;
case _FILE_ACCESS_CUSTOMERS:
default:
if (class_exists('module_customer', false)) {
//added for compat in newsletter system that doesn't have customer module
$customer_permission_check = module_customer::get_customer($file['customer_id']);
if ($customer_permission_check['customer_id'] != $file['customer_id']) {
$file = false;
}
}
}
// file data access switch
}
}
if (!$file) {
$file = array('new' => true, 'type' => 'upload', 'file_id' => 0, 'customer_id' => isset($_REQUEST['customer_id']) ? $_REQUEST['customer_id'] : 0, 'job_id' => isset($_REQUEST['job_id']) ? $_REQUEST['job_id'] : 0, 'quote_id' => isset($_REQUEST['quote_id']) ? $_REQUEST['quote_id'] : 0, 'description' => '', 'status' => module_config::c('file_default_status', 'Uploaded'), 'file_name' => '', 'file_url' => '', 'staff_ids' => array(), 'bucket' => 0, 'bucket_parent_file_id' => 0, 'approved_time' => 0);
}
$this->_get_data_cache = $file;
return $file;
}
示例6: is_automatic_paying_invoice
public static function is_automatic_paying_invoice($invoice_id)
{
$invoice_payments = module_invoice::get_invoice_payments($invoice_id);
foreach ($invoice_payments as $payment) {
if (isset($payment['invoice_payment_subscription_id']) && $payment['invoice_payment_subscription_id']) {
return true;
}
}
// check if this is part of a subscription, and if the previous subscription
if (class_exists('module_subscription', false)) {
// THIS CODE EXISTS
// check if this invoice is part of a subscription.
// if it is we hunt through the subscription history until we find a recent unpaid invoice
$subscription_history_item = get_single('subscription_history', 'invoice_id', $invoice_id);
if ($subscription_history_item && $subscription_history_item['subscription_owner_id']) {
// we have an invoice that is on a subscription!
$subscription_owner = module_subscription::get_subscription_owner($subscription_history_item['subscription_owner_id']);
// check if there are unpaid invoices that were generated after this invoice.
if ($subscription_owner['subscription_owner_id'] == $subscription_history_item['subscription_owner_id']) {
$subscription_history = get_multiple('subscription_history', array('subscription_owner_id' => $subscription_owner['subscription_owner_id']));
foreach ($subscription_history as $h) {
$invoice_payments = module_invoice::get_invoice_payments($h['invoice_id']);
foreach ($invoice_payments as $payment) {
if (isset($payment['invoice_payment_subscription_id']) && $payment['invoice_payment_subscription_id']) {
$payment_subscription = get_single('invoice_payment_subscription', 'invoice_payment_subscription_id', $payment['invoice_payment_subscription_id']);
if ($payment_subscription && $payment_subscription['status'] == _INVOICE_SUBSCRIPTION_ACTIVE) {
//} || $payment_subscription['status'] == _INVOICE_SUBSCRIPTION_PENDING)){
return true;
}
}
}
}
}
}
}
return false;
}
示例7: get_data_field
function get_data_field($data_field_id)
{
$data = get_single("data_field", "data_field_id", $data_field_id);
if ($data) {
// optional processing here later on.
}
return $data;
}
示例8: external_hook
public function external_hook($hook)
{
switch ($hook) {
case 'event_ipn':
$body = @file_get_contents('php://input');
$event_json = json_decode($body);
ob_start();
echo "UCM coinbase DEBUG:<br><br>JSON: <br>\n";
print_r($event_json);
echo "<br><br>\n";
$success = false;
$bits = explode(':', isset($event_json->order->custom) ? $event_json->order->custom : '');
if (count($bits) == 4) {
// we have our custom bits, invoice_id, invoice_payment_id and hash
// check they are right
$invoice_id = (int) $bits[0];
$invoice_payment_id = (int) $bits[1];
$invoice_payment_subscription_id = (int) $bits[2];
$hash = $bits[3];
$correct_hash = self::get_payment_key($invoice_id, $invoice_payment_id, $invoice_payment_subscription_id, true);
if ($invoice_id && $invoice_payment_id && $hash == $correct_hash) {
// This will send receipts on succesful invoices
// todo - coinbase doesnt sent this callback correctly just yet
if ($event_json && isset($event_json->recurring_payment) && $invoice_payment_subscription_id) {
// status changes on a recurring payment.
$invoice_payment_subscription = get_single('invoice_payment_subscription', 'invoice_payment_subscription_id', $invoice_payment_subscription_id);
if (!$invoice_payment_subscription['date_start'] || $invoice_payment_subscription['date_start'] == '0000-00-00') {
// no start date yet, set the start date now.
if ($event_json->recurring_payment->status == 'active') {
update_insert('invoice_payment_subscription_id', $invoice_payment_subscription_id, 'invoice_payment_subscription', array('status' => _INVOICE_SUBSCRIPTION_ACTIVE, 'date_start' => date('Y-m-d')));
}
}
if ($event_json->recurring_payment->status == 'paused' || $event_json->recurring_payment->status == 'canceled') {
update_insert('invoice_payment_subscription_id', $invoice_payment_subscription_id, 'invoice_payment_subscription', array('status' => _INVOICE_SUBSCRIPTION_FAILED));
}
}
if ($event_json && isset($event_json->order->status) && $event_json->order->status == 'completed' && isset($event_json->order->total_native) && isset($event_json->order->custom)) {
// crab out the custom bits so we know what to deal with.
$invoice_payment_data = module_invoice::get_invoice_payment($invoice_payment_id);
$currency = module_config::get_currency($invoice_payment_data['currency_id']);
if ($invoice_payment_subscription_id) {
// this API result is for a subscription payment.
$invoice_payment_subscription = get_single('invoice_payment_subscription', 'invoice_payment_subscription_id', $invoice_payment_subscription_id);
if ($invoice_payment_subscription && $invoice_payment_subscription['invoice_payment_subscription_id'] == $invoice_payment_subscription_id && $currency['code'] == $event_json->order->total_native->currency_iso) {
if (!$invoice_payment_subscription['date_start'] || $invoice_payment_subscription['date_start'] == '0000-00-00') {
// no start date yet, set the start date now (this should really happen in the above callback, but coinbase isn't working right now)
update_insert('invoice_payment_subscription_id', $invoice_payment_subscription_id, 'invoice_payment_subscription', array('status' => _INVOICE_SUBSCRIPTION_ACTIVE, 'date_start' => date('Y-m-d')));
}
// we have a subscription payment. woo!
// this gets a bit tricky, we have to work out if the invoice has been generated for this subscription yet.
// if this invoice hasn't been generated yet then we have to generate it.
// pass this back to the invoice class so we can reuse this feature in the future.
$data = module_invoice::create_new_invoice_for_subscription_payment($invoice_id, $invoice_payment_id, $invoice_payment_subscription_id);
if ($data && $data['invoice_id'] && $data['invoice_payment_id']) {
$next_time = time();
$next_time = strtotime('+' . abs((int) $invoice_payment_subscription['days']) . ' days', $next_time);
$next_time = strtotime('+' . abs((int) $invoice_payment_subscription['months']) . ' months', $next_time);
$next_time = strtotime('+' . abs((int) $invoice_payment_subscription['years']) . ' years', $next_time);
update_insert('invoice_payment_subscription_id', $invoice_payment_subscription_id, 'invoice_payment_subscription', array('date_last_pay' => date('Y-m-d'), 'date_next' => date('Y-m-d', $next_time)));
update_insert("invoice_payment_id", $data['invoice_payment_id'], "invoice_payment", array('date_paid' => date('Y-m-d'), 'amount' => $event_json->order->total_native->cents / 100, 'method' => self::get_payment_method_name() . ' (Subscription)', 'invoice_payment_subscription_id' => $invoice_payment_subscription_id));
self::add_payment_data($data['invoice_payment_id'], 'log', "Invoice Payment Subscription Received!");
self::add_payment_data($data['invoice_payment_id'], 'log', "API IP is " . $_SERVER['REMOTE_ADDR']);
self::add_payment_data($data['invoice_payment_id'], 'log', "Received BTC: " . $event_json->order->total_btc->cents / 10000000);
self::add_payment_data($data['invoice_payment_id'], 'log', "Received " . $event_json->order->total_native->currency_iso . ': ' . $event_json->order->total_native->cents / 100);
self::add_payment_data($data['invoice_payment_id'], 'log', "Destination Address: " . $event_json->order->receive_address);
self::add_payment_data($data['invoice_payment_id'], 'log', "Currency code matches, marking invoice as paid.");
self::add_payment_data($data['invoice_payment_id'], 'log', "Raw Event Data: \n" . json_encode($event_json));
module_invoice::save_invoice($data['invoice_id'], array());
echo "Successful Subscription Payment!";
} else {
send_error("Coinbase Subscription Error (failed to generate new invoice!) " . var_export($data, true));
}
} else {
send_error('Currency code missmatch on coinbase subscription payment');
}
} else {
// this is a normal once off payment.
self::add_payment_data($invoice_payment_id, 'log', "API IP is " . $_SERVER['REMOTE_ADDR']);
self::add_payment_data($invoice_payment_id, 'log', "Received BTC: " . $event_json->order->total_btc->cents / 10000000);
self::add_payment_data($invoice_payment_id, 'log', "Received " . $event_json->order->total_native->currency_iso . ': ' . $event_json->order->total_native->cents / 100);
self::add_payment_data($invoice_payment_id, 'log', "Destination Address: " . $event_json->order->receive_address);
if ($currency['code'] == $event_json->order->total_native->currency_iso) {
self::add_payment_data($invoice_payment_id, 'log', "Currency code matches, marking invoice as paid.");
update_insert("invoice_payment_id", $invoice_payment_id, "invoice_payment", array('date_paid' => date('Y-m-d'), 'amount' => $event_json->order->total_native->cents / 100));
module_invoice::save_invoice($invoice_id, array());
echo "Successful Payment!";
$success = true;
} else {
self::add_payment_data($invoice_payment_id, 'log', "Currency code missmatch, please check settings!");
}
self::add_payment_data($invoice_payment_id, 'log', "Raw Event Data: \n" . json_encode($event_json));
}
}
}
}
$debug = ob_get_clean();
if (module_config::c('coinbase_payment_debug', 0)) {
send_error("Coinbase Debug: {$debug}");
}
exit;
//.........这里部分代码省略.........
示例9: external_hook
public function external_hook($hook)
{
switch ($hook) {
case 'popup':
// popup not used any more. cross domain issues.
// load up the full script to be injected into our clients website.
$website_id = isset($_REQUEST['i']) ? (int) $_REQUEST['i'] : false;
$change_request_id = $change_id = isset($_REQUEST['change_id']) ? (int) $_REQUEST['change_id'] : false;
$hash = isset($_REQUEST['hash']) ? $_REQUEST['hash'] : false;
$type = isset($_REQUEST['type']) ? $_REQUEST['type'] : false;
if ($type == 'popupjs') {
@ob_end_clean();
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
header("Content-type: text/javascript");
}
if ($website_id && $hash && module_change_request::link_popup($website_id, true) == $hash) {
$change_history = module_change_request::get_remaining_changes($website_id);
$step = isset($_REQUEST['step']) ? (int) $_REQUEST['step'] : 0;
// get the change details out
if ($change_request_id) {
$change_request = module_change_request::get_change_request_by_website($website_id, $change_request_id);
} else {
$change_request = array();
}
if (!$change_request) {
$change_request = array('change_request_id' => 0, 'name' => '', 'request' => '', 'attachments' => array());
}
switch ($type) {
case 'save':
// saving a change.
$data = $_POST;
$data['url'] = urldecode($data['url']);
$data['website_id'] = $website_id;
$data['change_request_id'] = $change_request['change_request_id'];
if (isset($_REQUEST['completed_test'])) {
if (!isset($_REQUEST['completed']) || !$_REQUEST['completed']) {
$data['status'] = _CHANGE_REQUEST_STATUS_NEW;
// not completed.
} else {
$data['status'] = _CHANGE_REQUEST_STATUS_COMPLETE;
// completed!
}
}
if (isset($_REQUEST['delete_request'])) {
$data['status'] = _CHANGE_REQUEST_STATUS_DELETE;
// deleted
}
$change_request_id = update_insert('change_request_id', $change_request['change_request_id'], 'change_request', $data);
// redirect to send email page if we're logged in
if (module_security::is_logged_in() && isset($_REQUEST['completed_send_email']) && $_REQUEST['completed_send_email'] && self::can_i('edit', 'Change Requests')) {
// don't do the template, do the redirect to the email page (todo!)
redirect_browser(self::link_open($change_request_id));
} else {
// send email to administrator (everyone with change request edit permissions?) about this change request.
$alert_users = module_user::get_users_by_permission(array('category' => 'Change Request', 'name' => 'Change Requests', 'module' => 'change_request', 'edit' => 1));
$email_data = get_single('change_request', 'change_request_id', $change_request_id);
$customer_data = $website_data = array();
if ($website_id) {
$website_data = module_website::get_website($website_id);
$email_data['website_name'] = $website_data['name'];
$email_data['website_link'] = module_website::link_open($website_id, true);
if ($website_data && $website_data['customer_id']) {
$customer_data = module_customer::get_customer($website_data['customer_id'], true);
}
}
if (isset($email_data['request'])) {
$email_data['request'] = nl2br($email_data['request']);
// for the plain text emails.
}
foreach ($alert_users as $alert_user) {
// todo: make sure this staff member has access to this website?
// nfi how to figure this out. maybe we just look for staff members who are assigned jobs/tasks against this website?
$template = module_template::get_template_by_key('change_request_alert_email');
$template->assign_values(array_merge($customer_data, $website_data, $email_data));
$html = $template->render('html');
// send an email to this user.
$email = module_email::new_email();
$email->replace_values = array_merge($customer_data, $website_data, $email_data);
$email->set_to('user', $alert_user['user_id']);
$email->set_from('user', module_security::get_loggedin_id() ? module_security::get_loggedin_id() : isset($customer_data['primary_user_id']) ? $customer_data['primary_user_id'] : 0);
$email->set_subject($template->description);
// do we send images inline?
$email->set_html($html);
if ($email->send()) {
// it worked successfully!!
// sweet.
} else {
/// log err?
set_error(_l('Failed to send change notification email to User ID: %s Email: %s Status: %s Error: %s', $alert_user['user_id'], json_encode($email->to), $email->status, $email->error_text));
}
}
}
// display thankyou template.
module_template::init_template('change_request_submitted', '<h2>Change Request</h2>
<p>Thank you. Your change request has been submitted successfully.</p>
<p>Please <a href="{URL}">click here</a> to continue.</p>
', 'Displayed after a change request is created/updated.', 'code');
// correct!
//.........这里部分代码省略.........
示例10: handle_paypal_ipn
function handle_paypal_ipn()
{
ob_end_clean();
if (!isset($_REQUEST['custom'])) {
return;
}
$paypal_bits = explode("|", $_REQUEST['custom']);
$user_id = (int) $paypal_bits[0];
$payment_id = (int) $paypal_bits[1];
$invoice_id = (int) $paypal_bits[2];
$invoice_payment_subscription_id = false;
if (count($paypal_bits) == 4) {
// normal IPN, single payment.
} else {
if (count($paypal_bits) == 5) {
// subscription IPN, with subscription id.
$invoice_payment_subscription_id = (int) $paypal_bits[3];
$invoice_payment_subscription = get_single('invoice_payment_subscription', 'invoice_payment_subscription_id', $invoice_payment_subscription_id);
}
}
//send_error('bad?');
if ($payment_id && $invoice_id) {
$hash = $this->paypal_custom($user_id, $payment_id, $invoice_id, $invoice_payment_subscription_id);
if ($hash != $_REQUEST['custom']) {
send_error("PayPal IPN Error (incorrect hash) it should be " . $hash);
exit;
}
/*$sql = "SELECT * FROM `"._DB_PREFIX."user` WHERE user_id = '$user_id' LIMIT 1";
$res = qa($sql);
if($res){
$user = array_shift($res);
if($user && $user['user_id'] == $user_id){*/
// check for payment exists
$payment = module_invoice::get_invoice_payment($payment_id);
$invoice = module_invoice::get_invoice($invoice_id);
if ($payment && $invoice) {
/*if(isset($_REQUEST['fakepay'])){
if($invoice_payment_subscription_id){
// we have a subscription payment. woo!
// this gets a bit tricky, we have to work out if the invoice has been generated for this subscription yet.
// if this invoice hasn't been generated yet then we have to generate it.
// pass this back to the invoice class so we can reuse this feature in the future.
$data = module_invoice::create_new_invoice_for_subscription_payment($invoice_id, $payment_id, $invoice_payment_subscription_id);
if($data && $data['invoice_id'] && $data['invoice_payment_id']){
$next_time = time();
$next_time = strtotime('+'.abs((int)$invoice_payment_subscription['days']).' days',$next_time);
$next_time = strtotime('+'.abs((int)$invoice_payment_subscription['months']).' months',$next_time);
$next_time = strtotime('+'.abs((int)$invoice_payment_subscription['years']).' years',$next_time);
update_insert('invoice_payment_subscription_id',$invoice_payment_subscription_id,'invoice_payment_subscription',array(
'date_last_pay' => date('Y-m-d'),
'date_next' => date('Y-m-d',$next_time),
));
$new_payment_details = array(
'date_paid' => date('Y-m-d'),
'amount' => $_REQUEST['mc_gross'],
'method' => 'PayPal (Subscription)',
'invoice_payment_subscription_id' => $invoice_payment_subscription_id,
);
foreach(array('fee_percent','fee_amount','fee_description','fee_total') as $fee_field){
if(isset($payment[$fee_field])) {
$new_payment_details[ $fee_field ] = $payment[ $fee_field ];
}
}
update_insert("invoice_payment_id",$data['invoice_payment_id'],"invoice_payment",$new_payment_details);
module_invoice::save_invoice($data['invoice_id'],array());
echo "Successful Subscription Payment!";
}else{
send_error("PayPal IPN Subscription Error (failed to generate new invoice!) ".var_export($result,true));
}
}else{
// mark a normal payment as paid
update_insert("invoice_payment_id",$payment_id,"invoice_payment",array(
'date_paid' => date('Y-m-d'),
'amount' => $_REQUEST['mc_gross'],
'method' => 'PayPal (IPN)',
));
module_invoice::save_invoice($invoice_id,array());
echo "Successful Payment!";
}
echo 'fakepay done';exit;
}*/
$invoice_currency = module_config::get_currency($invoice['currency_id']);
$invoice_currency_code = $invoice_currency['code'];
// check correct business
if (!$_REQUEST['business'] && $_REQUEST['receiver_email']) {
$_REQUEST['business'] = $_REQUEST['receiver_email'];
}
if ($_REQUEST['business'] != module_config::c('payment_method_paypal_email', _ERROR_EMAIL)) {
send_error('PayPal error! Paid the wrong business name. ' . $_REQUEST['business'] . ' instead of ' . module_config::c('payment_method_paypal_email', _ERROR_EMAIL));
exit;
//.........这里部分代码省略.........
示例11: load
public function load($social_twitter_message_id = false)
{
if (!$social_twitter_message_id) {
$social_twitter_message_id = $this->social_twitter_message_id;
}
$this->reset();
$this->social_twitter_message_id = $social_twitter_message_id;
if ($this->social_twitter_message_id) {
$this->details = get_single('social_twitter_message', 'social_twitter_message_id', $this->social_twitter_message_id);
if (!is_array($this->details) || !isset($this->details['social_twitter_message_id']) || $this->details['social_twitter_message_id'] != $this->social_twitter_message_id) {
$this->reset();
return false;
}
}
foreach ($this->details as $key => $val) {
$this->{$key} = $val;
}
if (!$this->twitter_account && $this->get('social_twitter_id')) {
$this->twitter_account = new ucm_twitter_account($this->get('social_twitter_id'));
}
return $this->social_twitter_message_id;
}
示例12: get_languages_attributes
public static function get_languages_attributes()
{
$all = array();
$language_files = glob(_UCM_FOLDER . 'includes/plugin_language/custom/*.php');
if (is_array($language_files)) {
foreach ($language_files as $language) {
$language = strtolower(str_replace('.php', '', basename($language)));
if ($language[0] == '_') {
continue;
}
$all[$language] = array('language_name' => $language, 'language_code' => $language);
}
}
$language_files = glob(_UCM_FOLDER . 'includes/plugin_language/labels/*.php');
if (is_array($language_files)) {
foreach ($language_files as $language) {
$language = strtolower(str_replace('.php', '', basename($language)));
if ($language[0] == '_') {
continue;
}
$all[$language] = array('language_name' => $language, 'language_code' => $language);
}
}
if (self::is_language_db_enabled()) {
foreach ($all as $language_code => $language) {
// does this language code exist in the database?
$language_db = get_single('language', 'language_code', $language_code);
if (!$language_db || $language_db['language_code'] != $language_code) {
update_insert('language_id', false, 'language', array('language_code' => $language['language_code'], 'language_name' => $language['language_name']));
}
}
// now we get any language attributes from the database and overwrite the old file based ones with those.
foreach (get_multiple('language', false, 'language_id', 'exact', 'language_code') as $language) {
if (isset($all[strtolower($language['language_code'])])) {
// this language exists in the old file based method.
$all[strtolower($language['language_code'])] = $language;
} else {
// this is a language that only exists in the new database translation method.
$all[strtolower($language['language_code'])] = $language;
}
// todo - well, not sure about the above. maybe we do some update here and remove the old files ??? move everything to the database or something?? meh..
}
}
return $all;
}
示例13: add_to_group
public static function add_to_group($group_id, $owner_id, $owner_table = false)
{
if ($group_id > 0 && $owner_id > 0) {
if (!$owner_table) {
$group = get_single('group', 'group_id', $group_id);
$owner_table = $group['owner_table'];
}
$sql = "REPLACE INTO `" . _DB_PREFIX . "group_member` SET ";
$sql .= " `group_id` = '" . (int) $group_id . "', ";
$sql .= " `owner_id` = '" . (int) $owner_id . "', ";
$sql .= " `owner_table` = '" . mysql_real_escape_string($owner_table) . "'";
query($sql);
}
}
示例14: get_faq
public static function get_faq($faq_id)
{
$faq = get_single('faq', 'faq_id', $faq_id);
// get linked ids
$faq['faq_product_ids'] = array();
foreach (get_multiple('faq_product_rel', array('faq_id' => $faq_id)) as $product) {
$faq['faq_product_ids'][$product['faq_product_id']] = $product['faq_product_id'];
}
return $faq;
}
示例15: customer_admin_email_generate_invoice_list
//.........这里部分代码省略.........
?>
<span class="error_text" style="font-weight: bold; text-decoration: underline;"><?php
_e('Overdue');
?>
</span>
<?php
} else {
?>
<span class="error_text"><?php
_e('Not paid');
?>
</span>
<?php
}
}
}
});
if (class_exists('module_website', false) && module_website::is_plugin_enabled() && module_website::can_i('view', module_config::c('project_name_plural', 'Websites'))) {
$colspan++;
$columns['invoice_website'] = array('title' => module_config::c('project_name_single', 'Website'), 'callback' => function ($invoice) {
if (isset($invoice['website_ids'])) {
foreach ($invoice['website_ids'] as $website_id) {
if ((int) $website_id > 0) {
echo module_website::link_open($website_id, true);
echo '<br/>';
}
}
}
});
}
$columns['invoice_job'] = array('title' => 'Job', 'callback' => function ($invoice) {
foreach ($invoice['job_ids'] as $job_id) {
if ((int) $job_id > 0) {
//echo module_job::link_open($job_id,true);
$job_data = module_job::get_job($job_id);
echo '<a href="' . module_job::link_public($job_id) . '">' . htmlspecialchars($job_data['name']) . '</a>';
if ($job_data['date_start'] && $job_data['date_start'] != '0000-00-00' && $job_data['date_renew'] && $job_data['date_renew'] != '0000-00-00') {
_e(' (%s to %s)', print_date($job_data['date_start']), print_date(strtotime("-1 day", strtotime($job_data['date_renew']))));
}
echo "<br/>\n";
}
}
hook_handle_callback('invoice_admin_list_job', $invoice['invoice_id']);
});
if (!isset($_REQUEST['customer_id']) && module_customer::can_i('view', 'Customers')) {
$colspan++;
$columns['invoice_customer'] = array('title' => 'Customer', 'callback' => function ($invoice) {
echo module_customer::link_open($invoice['customer_id'], true);
});
}
$columns['c_invoice_total'] = array('title' => 'Invoice Total', 'callback' => function ($invoice) {
echo dollar($invoice['total_amount'], true, $invoice['currency_id']);
});
$columns['c_invoice_total_due'] = array('title' => 'Amount Due', 'callback' => function ($invoice) {
echo dollar($invoice['total_amount_due'], true, $invoice['currency_id']);
?>
<?php
if ($invoice['total_amount_credit'] > 0) {
?>
<span class="success_text"><?php
echo _l('Credit: %s', dollar($invoice['total_amount_credit'], true, $invoice['currency_id']));
?>
</span>
<?php
}
});
if (class_exists('module_extra', false)) {
ob_start();
$colspan2 += module_extra::print_table_header('invoice');
// used in the footer calc.
ob_end_clean();
$table_manager->display_extra('invoice', function ($invoice) {
module_extra::print_table_data('invoice', $invoice['invoice_id']);
});
}
$table_manager->set_columns($columns);
$table_manager->row_callback = function ($row_data) {
// load the full vendor data before displaying each row so we have access to more details
if (isset($row_data['invoice_id']) && (int) $row_data['invoice_id'] > 0) {
return module_invoice::get_invoice($row_data['invoice_id']);
}
return array();
};
$table_manager->set_rows($invoices);
if (module_config::c('invoice_list_show_totals', 1)) {
$footer_rows = array();
foreach ($invoice_total + $invoice_total_due as $currency_id => $foo) {
$currency = get_single('currency', 'currency_id', $currency_id);
$footer_rows[] = array('invoice_number' => array('data' => '<strong>' . _l('%s Totals:', $currency && isset($currency['code']) ? $currency['code'] : '') . '</strong>', 'cell_colspan' => $colspan - 2, 'cell_class' => 'text-right'), 'c_invoice_total' => array('data' => '<strong>' . dollar(isset($invoice_total[$currency_id]) ? $invoice_total[$currency_id] : 0, true, $currency_id) . '</strong>'), 'c_invoice_total_due' => array('data' => '<strong>' . dollar(isset($invoice_total_due[$currency_id]) ? $invoice_total_due[$currency_id] : 0, true, $currency_id) . '</strong>'), 'row_bulk_action' => array('data' => ' ', 'cell_colspan' => $colspan2));
}
$table_manager->set_footer_rows($footer_rows);
}
$table_manager->pagination = false;
$table_manager->print_table();
return ob_get_clean();
}