Plugin Directory

Changeset 2351951


Ignore:
Timestamp:
08/03/2020 07:50:06 PM (6 years ago)
Author:
beyondsoftware
Message:

version 2.2.0

Location:
beyondconnect/trunk
Files:
8 added
15 edited

Legend:

Unmodified
Added
Removed
  • beyondconnect/trunk/beyondConnect.php

    r2339795 r2351951  
    77Plugin URI: https://support.beyond-sw.com/hc/de/categories/360002442180
    88Description: beyondConnect connects WordPress with the beyond software services.
    9 Version: 2.1.24
     9Version: 2.2.0
    1010Author: Felix Stadelmann, beyond software
    1111Author URI: https://beyond-sw.com
  • beyondconnect/trunk/inc/Api/Callbacks/SettingsCallbacks.php

    r2339795 r2351951  
    6464        $output['PG_Username'] = isset($input['PG_Username']) ? $input['PG_Username'] : '';
    6565        $output['PG_Password'] = isset($input['PG_Password']) ? $input['PG_Password'] : '';
     66        $output['PG_CustomerId'] = isset($input['PG_CustomerId']) ? $input['PG_CustomerId'] : '';
     67        $output['PG_TerminalId'] = isset($input['PG_TerminalId']) ? $input['PG_TerminalId'] : '';
     68        $output['PG_InitSuccess'] = isset($input['PG_InitSuccess']) ? $input['PG_InitSuccess'] : '';
     69        $output['PG_InitFail'] = isset($input['PG_InitFail']) ? $input['PG_InitFail'] : '';
     70        $output['PG_PaymentSuccess'] = isset($input['PG_PaymentSuccess']) ? $input['PG_PaymentSuccess'] : '';
     71        $output['PG_PaymentFail'] = isset($input['PG_PaymentFail']) ? $input['PG_PaymentFail'] : '';
     72        $output['PG_PaymentAbort'] = isset($input['PG_PaymentAbort']) ? $input['PG_PaymentAbort'] : '';
     73        $output['PG_PaymentNotify'] = isset($input['PG_PaymentNotify']) ? $input['PG_PaymentNotify'] : '';
    6674
    6775        // Options Setting Fields
  • beyondconnect/trunk/inc/Base/AuthenticationController.php

    r2339795 r2351951  
    1010use Inc\Base\BaseController;
    1111
    12 //use Inc\Api\Widgets\TeachersWidget;
    1312
    1413/**
     
    4342    public function addActions()
    4443    {
     44        //Actions for admin-post.php
     45        //Actions for logged users
     46        add_action('admin_post_bc_logout', array($this, 'logout'));
     47
     48        //Actions for not logged users
     49        add_action('admin_post_nopriv_bc_logout', array($this, 'logout'));
     50
     51        //other Actions
    4552        add_action('admin_init', array($this, 'checkRoles'), 10, 0);
    4653        add_action('bc_assignRoles', array($this, 'assignRoles'), 10, 1);
     54    }
     55
     56    public function logout()
     57    {
     58        if (is_user_logged_in()) {
     59            wp_logout();
     60            wp_redirect('/');
     61        }
    4762    }
    4863
  • beyondconnect/trunk/inc/Base/BaseController.php

    r2339795 r2351951  
    3131            'shortcodes_addresses' => __('Activate Shortcodes Addresses', 'beyondconnect'),
    3232            'shortcodes_courses' => __('Activate Shortcodes Courses', 'beyondconnect'),
     33            'shortcodes_openitems' => __('Activate Shortcodes Open Items', 'beyondconnect'),
     34            'shortcodes_payments' => __('Activate Shortcodes Payments', 'beyondconnect'),
    3335            'shortcodes_registrations' => __('Activate Shortcodes Registrations', 'beyondconnect'),
    3436            'shortcodes_subscriptions' => __('Activate Shortcodes Subscriptions', 'beyondconnect'),
  • beyondconnect/trunk/inc/Base/NinjaFormsController.php

    r2339795 r2351951  
    5252    {
    5353        //Assign global variables to form fields
    54         global $wp_session;
     54        global $bc_global;
    5555
    5656        $default_value = $this->render_shortcodes_default_values($default_value, $field_type, $field_settings);
     
    6262    protected function render_shortcodes_default_values($default_value, $field_type, $field_settings)
    6363    {
    64         global $wp_session;
     64        global $bc_global;
    6565
    6666        $field_key = $field_settings['key'];
     
    7070            return $default_value;
    7171
    72         if (empty($wp_session['bc_shortcode']))
     72        if (empty($bc_global['bc_shortcode']))
    7373            return $default_value;
    7474
    75         foreach ($wp_session['bc_shortcode'] as $key => $value) {
     75        foreach ($bc_global['bc_shortcode'] as $key => $value) {
    7676            if ($key === $field_strip && $count === 1)
    7777                $default_value = $value;
    7878        }
    7979
    80         if (!empty($wp_session['bc_shortcode'][$field_strip]) && $count === 1)
    81             $default_value = $wp_session['bc_shortcode'][$field_strip];
     80        if (!empty($bc_global['bc_shortcode'][$field_strip]) && $count === 1)
     81            $default_value = $bc_global['bc_shortcode'][$field_strip];
    8282
    8383        return $default_value;
  • beyondconnect/trunk/inc/Base/NinjaFormsFields_List.php

    r2339795 r2351951  
    104104        switch ($fieldset) {
    105105            case 'CoursesIDTitleDate':
    106                 $querystring = Beyond::getODataQueryString('Kurse', ('kursId,kursIdTitelDatumVonDatumBis'), '', 'istAnmeldungMoeglich eq true', '', '', 'kursIdTitelDatumVonDatumBis');
     106                $querystring = Beyond::getODataQueryString('Kurse', '', ('kursId,kursIdTitelDatumVonDatumBis'), '', 'istAnmeldungMoeglich eq true', '', '', 'kursIdTitelDatumVonDatumBis');
    107107                $labelfields = array('kursIdTitelDatumVonDatumBis');
    108108                $valuefield = 'kursId';
    109109                break;
    110110            case 'TeacherFirstname':
    111                 $querystring = Beyond::getODataQueryString('Lehrer', ('lehrerId,vorname'), '', '', '', '', 'vorname');
     111                $querystring = Beyond::getODataQueryString('Lehrer', '', ('lehrerId,vorname'), '', '', '', '', 'vorname');
    112112                $labelfields = array('vorname');
    113113                $valuefield = 'lehrerId';
    114114                break;
    115115            case 'TeacherFirstnameLastname':
    116                 $querystring = Beyond::getODataQueryString('Lehrer', ('lehrerId,vorname,nachname'), '', '', '', '', 'vorname, nachname');
     116                $querystring = Beyond::getODataQueryString('Lehrer', '', ('lehrerId,vorname,nachname'), '', '', '', '', 'vorname, nachname');
    117117                $labelfields = array('vorname', 'nachname');
    118118                $valuefield = 'lehrerId';
    119119                break;
    120120            case 'TeacherLastnameFirstname':
    121                 $querystring = Beyond::getODataQueryString('Lehrer', ('lehrerId,nachname,vorname'), '', '', '', '', 'nachname, vorname');
     121                $querystring = Beyond::getODataQueryString('Lehrer', '', ('lehrerId,nachname,vorname'), '', '', '', '', 'nachname, vorname');
    122122                $labelfields = array('nachname', 'vorname');
    123123                $valuefield = 'lehrerId';
  • beyondconnect/trunk/inc/Base/ShortcodesBaseController.php

    r2339795 r2351951  
    101101    protected function replaceGlobalVariableValues($source)
    102102    {
    103         global $wp_session;
    104 
    105         if (empty($wp_session['bc_shortcode']))
     103        global $bc_global;
     104
     105        if (empty($bc_global['bc_shortcode']))
    106106            return $source;
    107107
    108         foreach ($wp_session['bc_shortcode'] as $key => $value) {
     108        foreach ($bc_global['bc_shortcode'] as $key => $value) {
    109109            $source = str_ireplace('{' . $key . '}', urldecode($value), $source);
    110110            $source = str_ireplace('{global_' . $key . '}', urldecode($value), $source);
     
    209209
    210210
    211         global $wp_session;
     211        global $bc_global;
    212212
    213213        if (!empty($wporg_atts['expandedfrom'])) {
    214             foreach ($wp_session['bc_tbl' . $wporg_atts['expandedfrom']] as $from) {
     214            foreach ($bc_global['bc_tbl' . $wporg_atts['expandedfrom']] as $from) {
    215215                $from = array_change_key_case((array)$from, CASE_LOWER);
    216216
     
    219219
    220220                if (strcasecmp($from[$expandedLinkFieldName], $wporg_atts['expandedlinkfieldvalue']) === 0) {
    221                     $wp_session['bc_tbl' . $tablename] = $from[$entityname];
     221                    $bc_global['bc_tbl' . $tablename] = $from[$entityname];
    222222                }
    223223            }
     
    226226            if (!empty($values)) {
    227227                $values = array_change_key_case((array)$values, CASE_LOWER);
    228                 $wp_session['bc_tbl' . $tablename] = $values;
    229             }
    230         }
    231 
    232         if (empty($wp_session['bc_tbl' . $tablename]))
     228                $bc_global['bc_tbl' . $tablename] = $values;
     229            }
     230        }
     231
     232        if (empty($bc_global['bc_tbl' . $tablename]))
    233233            return '';
    234234
    235235        $o = '';
    236236
    237         foreach ($wp_session['bc_tbl' . $tablename] as $record) {
     237        foreach ($bc_global['bc_tbl' . $tablename] as $record) {
    238238            $record = array_change_key_case((array)$record);
    239239
     
    254254        $content = $this->replaceQueryStringValues($content);
    255255        $content = $this->replaceGlobalVariableValues($content);
     256
    256257        $content = trim(do_shortcode($content));
    257258
     
    300301        $content = $this->replaceGlobalVariableValues($content);
    301302
    302         global $wp_session;
    303         $wp_session['bc_' . $elementname . '_list_element_array'] = array(); // clear the element array
     303        global $bc_global;
     304        $bc_global['bc_' . $elementname . '_list_element_array'] = array(); // clear the element array
    304305
    305306        // execute beyondconnect_courses_list_element shortcode first to get the title and content - acts on global $single_tab_array
     
    307308        $repl_content = preg_replace('/\[beyondconnect_' . $elementname . '_list_popupable(.*?)\[\/beyondconnect_' . $elementname . '_list_popupable\]/s', '', $repl_content);
    308309
    309         if (!empty($wporg_atts['expandedfrom'])) {
    310             foreach ($wp_session['bc_tbl' . $wporg_atts['expandedfrom']] as $from) {
     310        if ($tablename === 'warenkorb' && get_transient('bc_cart' . Beyond::getVisitorID()) !== false) {
     311            $values = get_transient('bc_cart' . Beyond::getVisitorID());
     312            $values = array_change_key_case($values, CASE_LOWER);
     313            $bc_global['bc_tbl' . $tablename] = $values;
     314        } else if (!empty($wporg_atts['expandedfrom'])) {
     315            foreach ($bc_global['bc_tbl' . $wporg_atts['expandedfrom']] as $from) {
    311316                $from = array_change_key_case((array)$from, CASE_LOWER);
    312317
     
    315320
    316321                if (strcasecmp($from[$expandedLinkFieldName], $wporg_atts['expandedlinkfieldvalue']) === 0) {
    317                     $wp_session['bc_tbl' . $tablename] = $from[$tablename];
     322                    $bc_global['bc_tbl' . $tablename] = $from[$tablename];
    318323                }
    319324            }
    320325        } else {
    321326            $values = Beyond::getValues(Beyond::getODataString($tablename, $wporg_atts), 'value');
    322             if (!empty($values)) {
     327            if (empty($values)) {
     328                $bc_global['bc_tbl' . $tablename] = array();
     329            } else {
    323330                $values = array_change_key_case((array)$values, CASE_LOWER);
    324                 $wp_session['bc_tbl' . $tablename] = $values;
    325             }
    326         }
    327 
    328         if (empty($wp_session['bc_tbl' . $tablename])) {
     331                $bc_global['bc_tbl' . $tablename] = $values;
     332            }
     333        }
     334
     335        if (empty($bc_global['bc_tbl' . $tablename])) {
    329336            if (empty($wporg_atts['emptytext']))
    330337                return '';
     
    332339                return '<div class="bc_list_empty ' . $elementname . '">' . $wporg_atts['emptytext'] . '</div>';
    333340        }
     341        else {
     342            if (empty($wporg_atts['filledtext']))
     343                $o = '';
     344            else
     345                $o =  '<div class="bc_list_filled ' . $elementname . '">' . $wporg_atts['filledtext'] . '</div>';
     346        }
    334347
    335348        do_shortcode($repl_content);
    336349
    337         $o = '';
    338350        $o .= '<' . ($rendermode === 'div' ? 'div' : "table") . ' class="bc_list_table ' . $elementname . '">';
    339351        $o .= '<' . ($rendermode === 'div' ? 'div' : "thead") . ' class="bc_list_head ' . $elementname . '">';
    340352        $o .= '<' . ($rendermode === 'div' ? 'div' : 'tr') . ' class="bc_list_head_row ' . $elementname . '">';
    341353
    342         foreach ($wp_session['bc_' . $elementname . '_list_element_array'] as $element_attr_array) {
     354        foreach ($bc_global['bc_' . $elementname . '_list_element_array'] as $element_attr_array) {
    343355            $headtitle = $element_attr_array['title'];
    344356            $headcustomclass = empty($element_attr_array['customclass']) ? '' : $element_attr_array['customclass'];
     
    354366        $hasPopupable = false;
    355367
    356         foreach ($wp_session['bc_tbl' . $tablename] as $record) {
     368        foreach ($bc_global['bc_tbl' . $tablename] as $record) {
    357369            $record = array_change_key_case((array)$record, CASE_LOWER);
    358370
     
    364376            $o .= '<' . ($rendermode === 'div' ? 'div' : 'tr') . ' class="bc_list_body_row ' . $elementname . '">';
    365377
    366             foreach ($wp_session['bc_' . $elementname . '_list_element_array'] as $element_attr_array) {
     378            foreach ($bc_global['bc_' . $elementname . '_list_element_array'] as $element_attr_array) {
    367379                $fieldcontent = !empty($element_attr_array['content']) ? $element_attr_array['content'] : '';
    368380                $fieldlink = !empty($element_attr_array['link']) ? $element_attr_array['link'] : '';
     
    433445            //Collapsible
    434446            if ($hasCollapsible) {
    435                 $cols = sizeof($wp_session['bc_' . $elementname . '_list_element_array']);
     447                $cols = sizeof($bc_global['bc_' . $elementname . '_list_element_array']);
    436448
    437449                $o .= '<' . ($rendermode === 'div' ? "div id=\"bc_list_collapsible_row_" . $rowprimary . "\" style=\"display:none;\"" : "tr id=\"bc_list_collapsible_row_" . $rowprimary . "\" style=\"display:none;\"") . ' class="bc_list_collapsible_row ' . $elementname . '">';
     
    455467        //Popupable
    456468        if ($hasPopupable) {
    457             foreach ($wp_session['bc_tbl' . $tablename] as $record) {
     469            foreach ($bc_global['bc_tbl' . $tablename] as $record) {
    458470                $record = array_change_key_case($record);
    459471
  • beyondconnect/trunk/inc/Base/ShortcodesCoursesController.php

    r2339795 r2351951  
    128128        $o = $this->execListShortcode($atts, $content, $tag, 'courses', 'kurse', 'kursid');
    129129        $o = $this->replaceFormula($o);
     130        $o = do_shortcode($o);
    130131        return $o;
    131132    }
     
    135136        $wporg_atts = $this->getShortcodeAtts($atts, $tag);
    136137
    137         global $wp_session;
    138 
    139         $wp_session['bc_courses_list_element_array'][] = array_merge($wporg_atts, array('content' => trim(do_shortcode($content))));
     138        global $bc_global;
     139
     140        //$bc_global['bc_courses_list_element_array'][] = array_merge($wporg_atts, array('content' => trim(do_shortcode($content))));
     141        $bc_global['bc_courses_list_element_array'][] = array_merge($wporg_atts, array('content' => trim($content)));
    140142
    141143        return '';
     
    174176        $o = $this->execListShortcode($atts, $content, $tag, 'coursdates', 'kursDaten', 'kursdatenrowguid');
    175177        $o = $this->replaceFormula($o);
     178        $o = do_shortcode($o);
    176179        return $o;
    177180    }
     
    181184        $wporg_atts = $this->getShortcodeAtts($atts, $tag);
    182185
    183         global $wp_session;
    184         $wp_session['bc_coursdates_list_element_array'][] = array_merge($wporg_atts, array('content' => trim(do_shortcode($content))));
     186        global $bc_global;
     187        $bc_global['bc_coursdates_list_element_array'][] = array_merge($wporg_atts, array('content' => trim($content)));
    185188        return '';
    186189    }
  • beyondconnect/trunk/inc/Base/ShortcodesHelpersController.php

    r2339795 r2351951  
    2828    public function beyondconnect_setglobals($atts = [], $content = null, $tag = '')
    2929    {
    30         global $wp_session;
     30        global $bc_global;
    3131
    3232        $atts = array_change_key_case((array)$atts, CASE_LOWER);
     
    3636        }
    3737
    38         if (empty($wp_session['bc_shortcode']))
    39             $wp_session['bc_shortcode'] = $atts;
     38        if (empty($bc_global['bc_shortcode']))
     39            $bc_global['bc_shortcode'] = $atts;
    4040        else
    41             $wp_session['bc_shortcode'] = array_replace($wp_session['bc_shortcode'], $atts);
     41            $bc_global['bc_shortcode'] = array_replace($bc_global['bc_shortcode'], $atts);
    4242
    4343        $content = do_shortcode($content, false);
     
    4848    public function beyondconnect_getglobals($atts = [], $content = null, $tag = '')
    4949    {
    50         global $wp_session;
     50        global $bc_global;
    5151
    5252        $p = $atts[0];
     
    5555            return "please define param";
    5656
    57         if (empty($wp_session['bc_shortcode']))
     57        if (empty($bc_global['bc_shortcode']))
    5858            return "param " . $p . " not found";
    5959
    60         foreach ($wp_session['bc_shortcode'] as $key => $value) {
     60        foreach ($bc_global['bc_shortcode'] as $key => $value) {
    6161            if (strcasecmp($key, $p) === 0)
    6262                $c = $value;
  • beyondconnect/trunk/inc/Base/ShortcodesRegistrationsController.php

    r2339795 r2351951  
    3131        $o = $this->execListShortcode($atts, $content, $tag, 'registrations', 'anmeldungen', 'person1Rowguid');
    3232        $o = $this->replaceFormula($o);
     33        $o = do_shortcode($o);
    3334        return $o;
    3435    }
     
    3839        $wporg_atts = $this->getShortcodeAtts($atts, $tag);
    3940
    40         global $wp_session;
     41        global $bc_global;
    4142
    42         $wp_session['bc_registrations_list_element_array'][] = array_merge($wporg_atts, array('content' => trim(do_shortcode($content))));
     43        //$bc_global['bc_registrations_list_element_array'][] = array_merge($wporg_atts, array('content' => trim(do_shortcode($content))));
     44        $bc_global['bc_registrations_list_element_array'][] = array_merge($wporg_atts, array('content' => trim($content)));
    4345
    4446        return '';
  • beyondconnect/trunk/inc/Base/ShortcodesSubscriptionsController.php

    r2339795 r2351951  
    3131            'beyondconnect_subscriptions_list_collapsible',
    3232            'beyondconnect_subscriptions_list_popupable',
     33            'beyondconnect_subscriptiontypes_list',
     34            'beyondconnect_subscriptiontypes_list_element',
     35            'beyondconnect_subscriptiontypes_list_button_addtocart',
    3336        );
    3437    }
     
    7477        $o = $this->execListShortcode($atts, $content, $tag, 'subscriptions', 'abonnemente', 'abonnementeRowguid');
    7578        $o = $this->replaceFormula($o);
     79        $o = do_shortcode($o);
    7680        return $o;
    7781    }
     
    8185        $wporg_atts = $this->getShortcodeAtts($atts, $tag);
    8286
    83         global $wp_session;
     87        global $bc_global;
    8488
    85         $wp_session['bc_subscriptions_list_element_array'][] = array_merge($wporg_atts, array('content' => trim(do_shortcode($content))));
     89        $bc_global['bc_subscriptions_list_element_array'][] = array_merge($wporg_atts, array('content' => trim($content)));
    8690
    8791        return '';
    8892    }
     93    public function beyondconnect_subscriptiontypes_list($atts = [], $content = null, $tag = '')
     94    {
     95        $o = $this->execListShortcode($atts, $content, $tag, 'subscriptiontypes', 'abonnementetypen', 'abonnementeTypenId');
     96        $o = $this->replaceFormula($o);
     97        $o = do_shortcode($o);
     98        return $o;
     99    }
    89100
     101    public function beyondconnect_subscriptiontypes_list_element($atts = [], $content = null, $tag = '')
     102    {
     103        $wporg_atts = $this->getShortcodeAtts($atts, $tag);
     104
     105        global $bc_global;
     106
     107        $bc_global['bc_subscriptiontypes_list_element_array'][] = array_merge($wporg_atts, array('content' => trim($content)));
     108
     109        return '';
     110    }
    90111    public function beyondconnect_subscriptions_list_collapsible($atts = [], $content = null, $tag = '')
    91112    {
     
    101122        return $o;
    102123    }
     124    public function beyondconnect_subscriptiontypes_list_button_addtocart($atts = [], $content = null, $tag = '')
     125    {
     126        // normalize attribute keys, lowercase
     127        $wporg_atts = $this->getShortcodeAtts($atts, $tag);
    103128
     129        $o = '';
     130
     131        $o .= '<form action="/wp-admin/admin-post.php/" method="post">';
     132        $o .= '<input type="hidden" name="action" value="bc_buyaddSubscriptionToCart">';
     133        $o .= '<input type="hidden" name="abonnementeTypenId" value="' . $wporg_atts['abonnementetypenid'] . '">';
     134        $o .= '<input type="hidden" name="redirect" value="' . $wporg_atts['redirect'] . '">';
     135        $o .= '<button type="submit" id="submit" class="bc_button buyaddtocart" >' . (empty($wporg_atts['text']) ? 'kaufen' : $wporg_atts['text']) . '</button>';
     136        $o .= '</form>';
     137
     138        return $o;
     139    }
    104140    public function beyondconnect_subscriptions_list_popupable($atts = [], $content = null, $tag = '')
    105141    {
     
    120156        $o = $this->execListShortcode($atts, $content, $tag, 'subscriptionsattendances', 'abonnementeanwesenheiten', 'abonnementeAnwesenheitenRowguid');
    121157        $o = $this->replaceFormula($o);
     158        $o = do_shortcode($o);
    122159        return $o;
    123160    }
     
    127164        $wporg_atts = $this->getShortcodeAtts($atts, $tag);
    128165
    129         global $wp_session;
     166        global $bc_global;
    130167
    131         $wp_session['bc_subscriptionsattendances_list_element_array'][] = array_merge($wporg_atts, array('content' => trim(do_shortcode($content))));
     168        $bc_global['bc_subscriptionsattendances_list_element_array'][] = array_merge($wporg_atts, array('content' => trim($content)));
    132169
    133170        return '';
  • beyondconnect/trunk/inc/Beyond.php

    r2339795 r2351951  
    1515    }
    1616
    17     public static function getODataQueryString(string $entity, string $select, string $expand, string $filter, string $top, string $skip, string $orderby): string
     17    public static function createGUID(): string
     18    {
     19
     20        // Create a token
     21        $token = $_SERVER['HTTP_HOST'];
     22        $token .= $_SERVER['REQUEST_URI'];
     23        $token .= uniqid(rand(), true);
     24
     25        // GUID is 128-bit hex
     26        $hash = strtoupper(md5($token));
     27
     28        // Create formatted GUID
     29        $guid = '';
     30
     31        // GUID format is XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX for readability
     32        $guid .= substr($hash, 0, 8) .
     33            '-' .
     34            substr($hash, 8, 4) .
     35            '-' .
     36            substr($hash, 12, 4) .
     37            '-' .
     38            substr($hash, 16, 4) .
     39            '-' .
     40            substr($hash, 20, 12);
     41
     42        return $guid;
     43    }
     44
     45    public static function getODataQueryString(string $entity, string $function, string $select, string $expand, string $filter, string $top, string $skip, string $orderby): string
    1846    {
    1947        $querystring = '';
     
    3765            $querystring .= (empty($querystring) ? '' : '&') . '$orderby=' . $orderby;
    3866
    39         return $entity . (empty($querystring) ? '' : '?' . $querystring);
     67        return $entity . (empty($function) ? '' : '/' . $function) . (empty($querystring) ? '' : '?' . $querystring);
    4068    }
    4169
     
    6593    }
    6694
     95    public static function getVisitorID(): string
     96    {
     97        if (!empty($_COOKIE['bc_session'])) {
     98            return $_COOKIE['bc_session'];
     99        }
     100
     101        $visitorID = Beyond::createGUID();
     102        $hashed = hash('sha1', $visitorID);
     103
     104        setcookie('bc_session', $hashed, 0, '/');
     105        return $hashed;
     106    }
     107
    67108    public static function getODataString($entity, $wporg_atts): string
    68109    {
    69         $expandstring = '';
    70110        $expandstring = self::getODataSubString($entity, $wporg_atts, 1, 9);
    71111
    72112        $querystring = self::getODataQueryString($entity,
     113            empty($wporg_atts['function']) ? '' : $wporg_atts['function'],
    73114            empty($wporg_atts['select']) ? '' : $wporg_atts['select'],
    74115            $expandstring,
     
    123164    public static function getToken(): string
    124165    {
    125         if (get_transient('token') === false) {
     166        if (get_transient('bc_token') === false) {
    126167            if (!self::refreshToken())
    127168                echo "Error receiving token<br />";
    128169        }
    129170
    130         return get_transient('token');
     171        return get_transient('bc_token');
    131172    }
    132173
     
    138179            return false;
    139180
    140         set_transient('token', $value, HOUR_IN_SECONDS);
     181        set_transient('bc_token', $value, HOUR_IN_SECONDS);
    141182        return true;
    142183    }
    143184
    144     public static function requestToken(): string
     185    public static function requestToken(): ?string
    145186    {
    146187        $option = get_option('beyondconnect_option');
     
    173214    public static function getValues(string $path, string $returnField, bool $onlyStatus = false)
    174215    {
    175         error_log('BC OData Abfrage: ' . $path);
     216        //error_log('BC OData Abfrage: ' . $path);
    176217        $values = self::requestValues($path, $returnField, $onlyStatus);
    177218
     
    223264    public static function setValues(string $path, string $method, array $body, string $returnField, bool $onlyStatus)
    224265    {
    225         error_log('BC OData Abfrage: ' . $path);
     266        //error_log('BC OData Abfrage: ' . $path);
    226267
    227268        $option = get_option('beyondconnect_option');
  • beyondconnect/trunk/inc/Init.php

    r2339795 r2351951  
    2222            Base\AuthenticationController::class,
    2323            Base\NinjaFormsController::class,
     24            Base\PaymentController::class,
    2425            Base\TeachersWidgetController::class,
    2526            Base\ShortcodesHelpersController::class,
    2627            Base\ShortcodesAddressesController::class,
    2728            Base\ShortcodesCoursesController::class,
     29            Base\ShortcodesOpenItemsController::class,
     30            Base\ShortcodesPaymentsController::class,
    2831            Base\ShortcodesRegistrationsController::class,
    2932            Base\ShortcodesSubscriptionsController::class,
  • beyondconnect/trunk/inc/Pages/Settings.php

    r2339795 r2351951  
    211211            )
    212212        );
     213        $args[] = array(
     214            'id' => 'PG_CustomerId',
     215            'title' => __('Customer ID', 'beyondconnect'),
     216            'callback' => array($this->callbacks, 'textField'),
     217            'page' => 'beyondconnect_paymentgateways_page',
     218            'section' => 'beyondconnect_paymentgateways_section',
     219            'args' => array(
     220                'option_name' => 'beyondconnect_option',
     221                'label_for' => 'PG_CustomerId',
     222                'required' => false
     223            )
     224        );
     225        $args[] = array(
     226            'id' => 'PG_TerminalId',
     227            'title' => __('Terminal ID', 'beyondconnect'),
     228            'callback' => array($this->callbacks, 'textField'),
     229            'page' => 'beyondconnect_paymentgateways_page',
     230            'section' => 'beyondconnect_paymentgateways_section',
     231            'args' => array(
     232                'option_name' => 'beyondconnect_option',
     233                'label_for' => 'PG_TerminalId',
     234                'required' => false
     235            )
     236        );
     237        $args[] = array(
     238            'id' => 'PG_InitSuccess',
     239            'title' => __('Url Init Success', 'beyondconnect'),
     240            'callback' => array($this->callbacks, 'textField'),
     241            'page' => 'beyondconnect_paymentgateways_page',
     242            'section' => 'beyondconnect_paymentgateways_section',
     243            'args' => array(
     244                'option_name' => 'beyondconnect_option',
     245                'label_for' => 'PG_InitSuccess',
     246                'required' => false
     247            )
     248        );
     249        $args[] = array(
     250            'id' => 'PG_InitFail',
     251            'title' => __('Url Init Fail', 'beyondconnect'),
     252            'callback' => array($this->callbacks, 'textField'),
     253            'page' => 'beyondconnect_paymentgateways_page',
     254            'section' => 'beyondconnect_paymentgateways_section',
     255            'args' => array(
     256                'option_name' => 'beyondconnect_option',
     257                'label_for' => 'PG_InitFail',
     258                'required' => false
     259            )
     260        );
     261        $args[] = array(
     262            'id' => 'PG_PaymentSuccess',
     263            'title' => __('Url Payment Success', 'beyondconnect'),
     264            'callback' => array($this->callbacks, 'textField'),
     265            'page' => 'beyondconnect_paymentgateways_page',
     266            'section' => 'beyondconnect_paymentgateways_section',
     267            'args' => array(
     268                'option_name' => 'beyondconnect_option',
     269                'label_for' => 'PG_PaymentSuccess',
     270                'required' => false
     271            )
     272        );
     273        $args[] = array(
     274            'id' => 'PG_PaymentFail',
     275            'title' => __('Url Payment Fail', 'beyondconnect'),
     276            'callback' => array($this->callbacks, 'textField'),
     277            'page' => 'beyondconnect_paymentgateways_page',
     278            'section' => 'beyondconnect_paymentgateways_section',
     279            'args' => array(
     280                'option_name' => 'beyondconnect_option',
     281                'label_for' => 'PG_PaymentFail',
     282                'required' => false
     283            )
     284        );
     285        $args[] = array(
     286            'id' => 'PG_PaymentAbort',
     287            'title' => __('Url Payment Abort', 'beyondconnect'),
     288            'callback' => array($this->callbacks, 'textField'),
     289            'page' => 'beyondconnect_paymentgateways_page',
     290            'section' => 'beyondconnect_paymentgateways_section',
     291            'args' => array(
     292                'option_name' => 'beyondconnect_option',
     293                'label_for' => 'PG_PaymentAbort',
     294                'required' => false
     295            )
     296        );
     297        $args[] = array(
     298            'id' => 'PG_PaymentNotify',
     299            'title' => __('Url Payment Notify', 'beyondconnect'),
     300            'callback' => array($this->callbacks, 'textField'),
     301            'page' => 'beyondconnect_paymentgateways_page',
     302            'section' => 'beyondconnect_paymentgateways_section',
     303            'args' => array(
     304                'option_name' => 'beyondconnect_option',
     305                'label_for' => 'PG_PaymentNotify',
     306                'required' => false
     307            )
     308        );
     309
    213310
    214311        //Options Setting Fields
  • beyondconnect/trunk/readme.txt

    r2339795 r2351951  
    55Requires at least: 5.0
    66Tested up to: 5.4.2
    7 Requires PHP: 7.0
    8 Stable tag: 2.1.24
     7Requires PHP: 7.1
     8Stable tag: 2.2.0
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    2929
    3030== Changelog ==
     31= 2.2.0 =
     32* Support for SIX Saferpay payment added
     33* New shortcodes added:
     34    * beyondconnect_openitems_list
     35    * beyondconnect_openitems_list_element
     36    * beyondconnect_openitems_list_button_addtocart
     37    * beyondconnect_cart_button_emptycart
     38    * beyondconnect_cart_button_paycart
     39    * beyondconnect_cart_list
     40    * beyondconnect_cart_element
     41    * beyondconnect_cart_button_removefromcart
     42    * beyondconnect_saferpay_iframe
     43    * beyondconnect_subscriptiontypes_list
     44    * beyondconnect_subscriptiontypes_list_element
     45    * beyondconnect_subscriptiontypes_list_button_addtocart
     46* Function added:
     47    * bc_getValue
     48* Actions added:
     49    * admin_post_bc_logout
     50    * admin_post_bc_addToCart
     51    * admin_post_bc_buyaddSubscriptionToCart
     52    * admin_post_bc_removeFromCart
     53    * admin_post_bc_emptyCart
     54    * admin_post_bc_saferpayInitialize
     55    * admin_post_nopriv_bc_logout
     56    * admin_post_nopriv_bc_addToCart
     57    * admin_post_nopriv_bc_buyaddSubscriptionToCart
     58    * admin_post_nopriv_bc_removeFromCart
     59    * admin_post_nopriv_bc_emptyCart
     60    * admin_post_nopriv_bc_saferpayInitialize
     61    * bc_assignRoles
     62    * bc_processPayment
     63    * bc_saferpayAssert
     64    * bc_saferpayCapture
     65* Bug fixes
    3166= 2.1.24 =
    3267* New shortcodes added:
Note: See TracChangeset for help on using the changeset viewer.