Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * Implements hook_menu
- */
- function proof_payment_menu() {
- $items['user/%/orders/%/pay'] = array(
- 'title' => t('Proof of payment'),
- 'page arguments' => array(1, 3),
- 'page callback' => 'proof_payment_view',
- 'access callback' => TRUE,
- );
- return $items;
- }
- function proof_payment_view($user_id, $order_id) {
- $page = '';
- $user_id = filter_xss($user_id);
- $order_id = filter_xss($order_id);
- if (is_numeric($order_id) && is_numeric($user_id)) {
- $order = commerce_order_load($order_id);
- //dpm($order);
- if ($order) {
- if ($order->uid == $user_id) {
- if ($order->status == 'pending') {
- //here change status
- commerce_order_status_update($order, 'payment');
- $page .= '<h3>' . t('You confirmed your payment') . '</h3>';
- $page .= '<p>' . t('The operator will verify the payment and send you the order data') . '</p>';
- $page .= '<ul class="proof_payment">';
- $page .= '<li>' . l(t('See order'), 'user/' . $order->uid . '/orders/' . $order_id) . '</li>';
- $query = new EntityFieldQuery();
- $query->entityCondition('entity_type', 'node');
- //$query->propertyCondition('status', 1);
- $query->propertyCondition('type', 'user_identity');
- $query->propertyCondition('uid', $order->uid);
- $query->propertyOrderBy('created', 'desc');
- $query->range(0, 1);
- //$query->propertyCondition('language', $language->language, '=');
- $result = $query->execute();
- //���� ��� ������� ����, ������ ��������� ����
- if (empty($result['node']))
- $page .= '<li>' . l(t('Confirm identity'), '/user/' . $order->uid . '/identity') . '</li>';
- else {//�������� ���� ����
- $nodes = node_load_multiple(array_keys($result['node']));
- foreach ($nodes as $node) {
- if (isset($node->field_date_expire['und'][0]['value'])) {
- $date = $node->field_date_expire['und'][0]['value'];
- if (strtotime($date) < time()) {
- $page .= '<li>' . l(t('Confirm identity'), '/user/' . $order->uid . '/identity') . '</li>';
- drupal_set_message(t('Please update your identity (date expire)'), 'status');
- }
- }
- }
- }
- $page .= '</ul>';
- }
- else if ($order->status == 'canceled') {
- drupal_set_message(t('Your order has been canceled'), 'warning');
- }else{
- drupal_set_message(t('You have already confirmed your payment'), 'status');
- watchdog('proof_payment', t('You have already confirmed your payment') . ' User: ' . $order->uid . ' Order: ' . $order_id);
- }
- } else {
- drupal_set_message(t('This order does not belong to this user'), 'warning');
- watchdog('proof_payment', t('This order does not belong to this user') . ' User: ' . $user_id . ' Order: ' . $order_id);
- }
- } else {
- drupal_set_message(t('This order not exist'), 'warning');
- watchdog('proof_payment', t('This order not exist') . ' User: ' . $user_id . ' Order: ' . $order_id);
- }
- }
- return $page;
- }
- //�������� ������� ���������� ���� ���� � ����� ���� ������
- /**
- * @return mixed
- */
- function proof_payment_block_info() {
- // This example comes from node.module.
- $blocks['proof_payment'] = array(
- 'info' => t('Proof payment link'),
- );
- return $blocks;
- }
- //������� ����������� �����
- function proof_payment_block_view($delta = '') {
- $block = array();
- switch ($delta) {
- case 'proof_payment':
- $user_id = filter_xss(arg(1));
- $order_id = filter_xss(arg(3));
- $pay = filter_xss(arg(4));
- //dpm($pay);
- if(empty($pay)) {
- $order = commerce_order_load($order_id);
- $status = commerce_order_status_load($order->status);
- $block['content'] = '<div class="current-status-pay">' . t('Current status: ') . '<span>' . t($status['title']) . '</span></div>';
- if ($order->status == 'pending') {
- $block['content'] .= '<div class="submit_payment">';
- $block['content'] .= l(t('Confirm payment'), '/user/' . $user_id . '/orders/' . $order_id . '/pay');
- $block['content'] .= '</div>';
- }
- }
- break;
- }
- return $block;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement