本文整理汇总了PHP中JDate::setTime方法的典型用法代码示例。如果您正苦于以下问题:PHP JDate::setTime方法的具体用法?PHP JDate::setTime怎么用?PHP JDate::setTime使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JDate
的用法示例。
在下文中一共展示了JDate::setTime方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getListQuery
/**
* Build an SQL query to load the list data.
*
* @return JDatabaseQuery
*
* @since 1.6
*/
protected function getListQuery()
{
// Create a new query object.
$db = $this->getDbo();
$query = $db->getQuery(true);
// Select the required fields from the table.
$query->select($this->getState('list.select', 'a.*'));
$query->from($db->quoteName('#__users') . ' AS a');
// If the model is set to check item state, add to the query.
$state = $this->getState('filter.state');
if (is_numeric($state)) {
$query->where('a.block = ' . (int) $state);
}
// If the model is set to check the activated state, add to the query.
$active = $this->getState('filter.active');
if (is_numeric($active)) {
if ($active == '0') {
$query->where('a.activation = ' . $db->quote(''));
} elseif ($active == '1') {
$query->where($query->length('a.activation') . ' = 32');
}
}
// Filter the items over the group id if set.
$groupId = $this->getState('filter.group_id');
$groups = $this->getState('filter.groups');
if ($groupId || isset($groups)) {
$query->join('LEFT', '#__user_usergroup_map AS map2 ON map2.user_id = a.id');
$query->group($db->quoteName(array('a.id', 'a.name', 'a.username', 'a.password', 'a.usertype', 'a.block', 'a.sendEmail', 'a.registerDate', 'a.lastvisitDate', 'a.activation', 'a.params', 'a.email')));
if ($groupId) {
$query->where('map2.group_id = ' . (int) $groupId);
}
if (isset($groups)) {
$query->where('map2.group_id IN (' . implode(',', $groups) . ')');
}
}
// Filter the items over the search string if set.
if ($this->getState('filter.search') !== '') {
// Escape the search token.
$token = $db->Quote('%' . $db->escape($this->getState('filter.search')) . '%');
// Compile the different search clauses.
$searches = array();
$searches[] = 'a.name LIKE ' . $token;
$searches[] = 'a.username LIKE ' . $token;
$searches[] = 'a.email LIKE ' . $token;
// Add the clauses to the query.
$query->where('(' . implode(' OR ', $searches) . ')');
}
// Add filter for registration ranges select list
$range = $this->getState('filter.range');
// Apply the range filter.
if ($range = $this->getState('filter.range')) {
// Get UTC for now.
$dNow = new JDate();
$dStart = clone $dNow;
switch ($range) {
case 'past_week':
$dStart->modify('-7 day');
break;
case 'past_1month':
$dStart->modify('-1 month');
break;
case 'past_3month':
$dStart->modify('-3 month');
break;
case 'past_6month':
$dStart->modify('-6 month');
break;
case 'post_year':
case 'past_year':
$dStart->modify('-1 year');
break;
case 'today':
// Ranges that need to align with local 'days' need special treatment.
$app = JFactory::getApplication();
$offset = $app->getCfg('offset');
// Reset the start time to be the beginning of today, local time.
$dStart = new JDate('now', $offset);
$dStart->setTime(0, 0, 0);
// Now change the timezone back to UTC.
$tz = new DateTimeZone('GMT');
$dStart->setTimezone($tz);
break;
}
if ($range == 'post_year') {
$query->where($db->quoteName('a.registerDate') . ' < ' . $db->quote($dStart->format('Y-m-d H:i:s')));
} else {
$query->where($db->quoteName('a.registerDate') . ' >= ' . $db->quote($dStart->format('Y-m-d H:i:s')) . ' AND ' . $db->quoteName('a.registerDate') . ' <=' . $db->quote($dNow->format('Y-m-d H:i:s')));
}
}
// Filter by excluded users
$excluded = $this->getState('filter.excluded');
if (!empty($excluded)) {
$query->where('id NOT IN (' . implode(',', $excluded) . ')');
//.........这里部分代码省略.........
示例2: determinedEventDuration
/**
* Time creation of start and end time/date of event is flexible
* When the end event is not specified a default action is to create a duration of DEFAULT_DURATION_OF_EVENT of event
* @param DateTime $startDate date when the event is start
* @param DateTime $endDate date when the event is ended
* @return Array (mixed)
* $arr['startDate'] = JDate $startDate,
* $arr['endDate'] = JDate $endDate
*/
public function determinedEventDuration($startDate, $endDate)
{
/**
* Time Reasoning
* ----------
* Start Date and Start Time is validated with Javascript both is compulsory as the entries will be stored in actual time format
* In this case, if the 12:00am is the intended time, the system can determined what is expected outcome of the creation
* On the other hand, if the 12:00am is consider as default value or unset time, it's harder to guest their action
*
* Logic:
* If the Start (Date && Time) is specified but End (Date && Time) is not the value of End (Date && Time) is DEFAULT_DURATION_OF_EVENT
*/
$result['startDate'] = $result['startTime'] = NULL;
$result['endDate'] = $result['endTime'] = NULL;
/* if the time is a valid time simply return a JDate object */
if (!empty($startDate) && strpos($startDate, '0000-00-00 00:00') === false) {
$result['startDate'] = new JDate($startDate);
$result['startTime'] = $result['startDate']->format(JText::_('JXLIB_TIME_SHORT_FORMAT'));
}
/* if the time is a valid time simply return a JDate object */
if (!empty($endDate) && strpos($endDate, '0000-00-00 00:00') === false) {
$result['endDate'] = new JDate($endDate);
$result['endTime'] = $result['endDate']->format(JText::_('JXLIB_TIME_SHORT_FORMAT'));
}
/* Output is normal, return now */
if (!in_array(NULL, $result)) {
return $result;
}
if (!$startDate instanceof JDate) {
$startDate = new JDate($startDate);
}
if (!$endDate instanceof JDate) {
$endDate = new JDate($endDate);
}
/* sometime epoch date might exist with altered time */
if (strpos($startDate, '0000-00-00 00:00') === true || preg_match('/-0001-11-30\\s(\\d{2}:){2}\\d{2}/', $startDate)) {
$date = new JDate();
/* begin the date at the start of the day */
$date->setTime(0, 0, 0);
$result['startDate'] = $startDate = $date;
$result['startTime'] = $startTime = $startDate->format(JText::_('JXLIB_TIME_SHORT_FORMAT'));
}
/**
* If no end of event the duration will be increased by DEFAULT_DURATION_OF_EVENT
* JDate can reset the date to defaulted epoch time
*/
if (strpos($endDate, '0000-00-00 00:00') == true || preg_match('/-0001-11-30\\s(\\d{2}:){2}\\d{2}/', $endDate)) {
$result['endDate'] = $endDate = $startDate->modify(self::DEFAULT_DURATION_OF_EVENT);
$result['endTime'] = $endTime = $endDate->format(JText::_('JXLIB_TIME_SHORT_FORMAT'));
}
return $result;
}
示例3: quickAddRate
function quickAddRate()
{
AImporter::model('transport');
$mainframe = JFactory::getApplication();
$input = JFactory::getApplication()->input;
$transport_id = $input->getInt('transport_id');
$model = new BookProModelTransport();
$transport = $model->getItem($transport_id);
$params = $transport->rate_params;
$weekdays = array(0, 1, 2, 3, 4, 5, 6);
$startdate = new JDate();
$startdate->setTime('00', '00', '00');
$enddate = clone $startdate;
$enddate->add(new DateInterval('P60D'));
$frate = array('private_price' => null, 'private_state' => 0, 'share_price' => null, 'share_state' => 0);
if (!empty($transport->private_price)) {
$frate['private_price'] = $transport->private_price;
$frate['private_state'] = 1;
}
if (!empty($transport->share_price)) {
$frate['share_price'] = $transport->share_price;
$frate['share_state'] = 1;
}
$result = $this->saveOne($weekdays, $frate, $transport_id, $startdate, $enddate, $params);
if ($result) {
$mainframe->enqueueMessage('Add rate from ' . JFactory::getDate()->format('Y-m-d', true) . ' to ' . $enddate->format('Y-m-d') . ' successful!');
} else {
$mainframe->enqueueMessage('Failed', 'error');
}
$this->setRedirect('index.php?option=com_bookpro&view=transports');
return;
}
示例4: getStart
/**
* User export
*
* @copyright
* @author RolandD
* @todo
* @see
* @access public
* @param
* @return void
* @since 3.4
*/
public function getStart()
{
// Get some basic data
$db = JFactory::getDbo();
$csvidb = new CsviDb();
$jinput = JFactory::getApplication()->input;
$csvilog = $jinput->get('csvilog', null, null);
$template = $jinput->get('template', null, null);
$exportclass = $jinput->get('export.class', null, null);
$export_fields = $jinput->get('export.fields', array(), 'array');
$sef = new CsviSef();
// Build something fancy to only get the fieldnames the user wants
$userfields = array();
foreach ($export_fields as $column_id => $field) {
switch ($field->field_name) {
case 'fullname':
$userfields[] = $db->qn('u.name', 'fullname');
break;
case 'usergroup_name':
$userfields[] = $db->qn('id');
break;
case 'custom':
break;
default:
$userfields[] = $db->qn($field->field_name);
break;
}
}
// Build the query
$userfields = array_unique($userfields);
$query = $db->getQuery(true);
$query->select(implode(",\n", $userfields));
$query->from($db->qn("#__users", "u"));
$selectors = array();
// Filter by published state
$user_state = $template->get('user_state', 'user');
if ($user_state != '*') {
$selectors[] = $db->qn('u.block') . ' = ' . $user_state;
}
// Filter by active state
$user_active = $template->get('user_active', 'user');
if ($user_active == '0') {
$selectors[] = $db->qn('u.activation') . ' = ' . $db->q('');
} elseif ($user_active == '1') {
$selectors[] = $db->qn('u.activation') . ' = ' . $db->q('32');
}
// Filter by user group
$user_groups = $template->get('user_group', 'user');
if ($user_groups && $user_groups[0] != '*') {
$query->join('LEFT', $db->qn('#__user_usergroup_map', 'map2') . ' ON ' . $db->qn('map2.user_id') . ' = ' . $db->qn('u.id'));
if (isset($user_groups)) {
$selectors[] = $db->qn('map2.group_id') . ' IN (' . implode(',', $user_groups) . ')';
}
}
// Filter on range
$user_range = $template->get('user_range', 'user');
if ($user_range != '*') {
jimport('joomla.utilities.date');
// Get UTC for now.
$dNow = new JDate();
$dStart = clone $dNow;
switch ($user_range) {
case 'past_week':
$dStart->modify('-7 day');
break;
case 'past_1month':
$dStart->modify('-1 month');
break;
case 'past_3month':
$dStart->modify('-3 month');
break;
case 'past_6month':
$dStart->modify('-6 month');
break;
case 'post_year':
case 'past_year':
$dStart->modify('-1 year');
break;
case 'today':
// Ranges that need to align with local 'days' need special treatment.
$app = JFactory::getApplication();
$offset = $app->getCfg('offset');
// Reset the start time to be the beginning of today, local time.
$dStart = new JDate('now', $offset);
$dStart->setTime(0, 0, 0);
// Now change the timezone back to UTC.
$tz = new DateTimeZone('GMT');
$dStart->setTimezone($tz);
//.........这里部分代码省略.........
示例5: buildDateRange
/**
* Construct the date range to filter on.
*
* @param string $range The textual range to construct the filter for.
*
* @return string The date range to filter on.
*
* @since 3.6.0
*/
private function buildDateRange($range)
{
// Get UTC for now.
$dNow = new JDate();
$dStart = clone $dNow;
switch ($range) {
case 'past_week':
$dStart->modify('-7 day');
break;
case 'past_1month':
$dStart->modify('-1 month');
break;
case 'past_3month':
$dStart->modify('-3 month');
break;
case 'past_6month':
$dStart->modify('-6 month');
break;
case 'post_year':
$dNow = false;
case 'past_year':
$dStart->modify('-1 year');
break;
case 'today':
// Ranges that need to align with local 'days' need special treatment.
$app = JFactory::getApplication();
$offset = $app->get('offset');
// Reset the start time to be the beginning of today, local time.
$dStart = new JDate('now', $offset);
$dStart->setTime(0, 0, 0);
// Now change the timezone back to UTC.
$tz = new DateTimeZone('GMT');
$dStart->setTimezone($tz);
break;
case 'never':
$dNow = false;
$dStart = $this->_db->getNullDate();
break;
}
return array('dNow' => $dNow, 'dStart' => $dStart);
}
示例6: onPaymentsCheckout
/**
* Process payment transaction.
*
* @param string $context
* @param object $item
* @param Joomla\Registry\Registry $params
*
* @return null|array
*/
public function onPaymentsCheckout($context, &$item, &$params)
{
if (strcmp("com_crowdfunding.payments.checkout.paypal", $context) != 0) {
return null;
}
if ($this->app->isAdmin()) {
return null;
}
$doc = JFactory::getDocument();
/** @var $doc JDocumentHtml */
// Check document type
$docType = $doc->getType();
if (strcmp("html", $docType) != 0) {
return null;
}
$output = array();
$notifyUrl = $this->getCallbackUrl();
$cancelUrl = $this->getCancelUrl($item->slug, $item->catslug);
$returnUrl = $this->getReturnUrl($item->slug, $item->catslug);
// DEBUG DATA
JDEBUG ? $this->log->add(JText::_($this->textPrefix . "_DEBUG_NOTIFY_URL"), $this->debugType, $notifyUrl) : null;
JDEBUG ? $this->log->add(JText::_($this->textPrefix . "_DEBUG_RETURN_URL"), $this->debugType, $returnUrl) : null;
JDEBUG ? $this->log->add(JText::_($this->textPrefix . "_DEBUG_CANCEL_URL"), $this->debugType, $cancelUrl) : null;
// Get country and locale code.
$countryId = $this->params->get("paypal_country");
$country = new Crowdfunding\Country(JFactory::getDbo());
$country->load($countryId);
// Create transport object.
$options = new Joomla\Registry\Registry();
/** @var $options Joomla\Registry\Registry */
$transport = new JHttpTransportCurl($options);
$http = new JHttp($options, $transport);
// Create payment object.
$options = new Joomla\Registry\Registry();
/** @var $options Joomla\Registry\Registry */
$options->set("urls.cancel", $cancelUrl);
$options->set("urls.return", $returnUrl);
$options->set("urls.notify", $notifyUrl);
$this->prepareCredentials($options);
// Get server IP address.
/*$serverIP = $this->app->input->server->get("SERVER_ADDR");
$options->set("credentials.ip_address", $serverIP);*/
// Prepare starting and ending date.
if (!$this->params->get("paypal_starting_date", 0)) {
// End date of the campaign.
$startingDate = new JDate();
// Today
$startingDate->setTime(0, 0, 0);
// At 00:00:00
} else {
$startingDate = new JDate($item->ending_date);
$startingDate->modify("+1 day");
$startingDate->setTime(0, 0, 0);
// At 00:00:00
}
$endingDate = new JDate($item->ending_date);
$endingDate->modify("+10 days");
$options->set("payment.starting_date", $startingDate->format(DATE_ATOM));
$options->set("payment.ending_date", $endingDate->format(DATE_ATOM));
$options->set("payment.max_amount", $item->amount);
$options->set("payment.max_total_amount", $item->amount);
$options->set("payment.number_of_payments", 1);
$options->set("payment.currency_code", $item->currencyCode);
$options->set("payment.fees_payer", $this->params->get("paypal_fees_payer"));
$options->set("payment.ping_type", "NOT_REQUIRED");
$title = JText::sprintf($this->textPrefix . "_INVESTING_IN_S", htmlentities($item->title, ENT_QUOTES, "UTF-8"));
$options->set("payment.memo", $title);
$options->set("request.envelope", $this->envelope);
// Get payment session.
$paymentSessionContext = Crowdfunding\Constants::PAYMENT_SESSION_CONTEXT . $item->id;
$paymentSessionLocal = $this->app->getUserState($paymentSessionContext);
$paymentSession = $this->getPaymentSession(array("session_id" => $paymentSessionLocal->session_id));
// Get API url.
$apiUrl = $this->getApiUrl();
// DEBUG DATA
JDEBUG ? $this->log->add(JText::_($this->textPrefix . "_DEBUG_PAYPAL_ADAPTIVE_OPTIONS"), $this->debugType, $options->toArray()) : null;
$adaptive = new Prism\Payment\PayPal\Adaptive($apiUrl, $options);
$adaptive->setTransport($http);
$response = $adaptive->doPreppproval();
// DEBUG DATA
JDEBUG ? $this->log->add(JText::_($this->textPrefix . "_DEBUG_PAYPAL_ADAPTIVE_RESPONSE"), $this->debugType, $response) : null;
$preapprovalKey = $response->getPreApprovalKey();
if (!$preapprovalKey) {
return null;
}
// Store token to the payment session.
$paymentSession->setUniqueKey($preapprovalKey);
$paymentSession->storeUniqueKey();
// Get paypal checkout URL.
if (!$this->params->get('paypal_sandbox', 1)) {
$output["redirect_url"] = $this->params->get("paypal_url") . "?cmd=_ap-preapproval&preapprovalkey=" . rawurlencode($preapprovalKey);
//.........这里部分代码省略.........