Plugin Directory

Changeset 3398617


Ignore:
Timestamp:
11/19/2025 08:14:14 AM (4 months ago)
Author:
tharkun69
Message:

1.4.13

  • Add of block priority
  • Fix: Interval change script error corrected
  • Fix: Changed Session handling to transient
Location:
occupancy-plan/trunk
Files:
1 added
31 edited

Legend:

Unmodified
Added
Removed
  • occupancy-plan/trunk/admin/class-occupancy-plan-admin.php

    r3383502 r3398617  
    7171    require_once plugin_dir_path(dirname(__FILE__)) . 'admin/controller/class-occupancy-plan-block-exceptions.php';
    7272}
     73
     74require_once plugin_dir_path(dirname(__FILE__)) . 'includes/occupancy-plan-transient.php';
    7375
    7476class Occupancy_Plan_Admin
     
    358360    public function load_admin_plans()
    359361    {
    360         $tab = (isset($_GET['tab']))? esc_attr($_GET['tab']) : ((isset($_SESSION['op_tabid']))? esc_attr($_SESSION['op_tabid']) : '0');
    361         $_SESSION['op_tabid'] = $tab;
     362        $tab = (isset($_GET['tab']))? esc_attr($_GET['tab']) : esc_attr(occupancy_plan_get_state_value('op_tabid', 0));
     363        occupancy_plan_set_state_value('op_tabid', $tab);
    362364        if ($tab == '0')
    363365        {
     
    925927     * 1.3.17 - Import of field 'authorizedusers'
    926928     * 1.4.3 - Add 'checkblockconflict' column
     929     * 1.4.13 - Add 'priority' column
    927930     */
    928931    public function csv_import($planID, $importblocks)
     
    11361139                            'provisional' => ($datalen > 26)? intval($csvdata[26]) : 0,
    11371140                            'confirmed' => ($datalen > 27)? intval($csvdata[27]) : null,
    1138                             'authorizedusers' => ($datalen > 28)? sanitize_text_field($csvdata[28]) : ''
     1141                            'authorizedusers' => ($datalen > 28)? sanitize_text_field($csvdata[28]) : '',
     1142                            'priority' => ($datalen > 29)? intval($csvdata[29]) : 0
    11391143                        );
    11401144                        $format = array('%d','%s','%s','%s','%d','%d','%d',
    11411145                            '%s','%s','%s','%s','%d','%d',
    11421146                            '%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s',
    1143                             '%s','%d','%s','%s');
     1147                            '%s','%d','%s','%s','%d');
    11441148                        if ($wpdb->insert($table_block, $blockdata, $format) != false)
    11451149                        {
     
    13901394                        'created', 'createdby', 'lastmodified', 'lastmodifiedby',
    13911395                        'customfield1', 'customfield2', 'customfield3', 'customfield4',
    1392                         'mailaddress','provisional','confirmed', 'authorizedusers');
     1396                        'mailaddress','provisional','confirmed', 'authorizedusers', 'priority');
    13931397        fputcsv($file, $csv_header, $delimiter);
    13941398
     
    13991403                        created,createdby,lastmodified,lastmodifiedby,
    14001404                        customfield1,customfield2,customfield3,customfield4,
    1401                         mailaddress,provisional,confirmed,authorizedusers
     1405                        mailaddress,provisional,confirmed,authorizedusers,priority
    14021406                FROM $table_block WHERE planid = $planID";
    14031407        $blocks = $wpdb->get_results($sql, ARRAY_A);
     
    14251429        Occupancy_Plan_Plugin::update_db_check();
    14261430    }
    1427 
    1428     /**
    1429      * Start the session
    1430      *
    1431      * @since     1.4
    1432      *
    1433      * 1.4.3 - Fix: Error “An active PHP session was detected”
    1434      * 1.4.10 - Changed to session_status check
    1435      * 1.4.11 - Set of 'read_and_close' to 'true'
    1436      * 1.4.12 - Set of 'read_and_close' to 'true' deleted
    1437      */
    1438     public function start_session()
    1439     {
    1440         if (session_status() !== PHP_SESSION_ACTIVE) {
    1441             session_start();
    1442         }
    1443     }
    1444 
    1445     /**
    1446      * Destroy the session
    1447      *
    1448      * @since     1.4
    1449      *
    1450      * 1.4.6 - Fix: Check if PHP session is active
    1451      */
    1452     public function end_session()
    1453     {
    1454         if (session_status() === PHP_SESSION_ACTIVE)
    1455         {
    1456             session_destroy();
    1457         }
    1458     }
    14591431}
  • occupancy-plan/trunk/admin/controller/class-occupancy-plan-block-exceptions.php

    r3068435 r3398617  
    101101            $wpdb->delete($table_block_exception, array('id' => (int) $courtid));
    102102
    103             $_SESSION["op_msgid"] = 61;
     103            occupancy_plan_set_state_value("op_msgid", 61);
    104104        }
    105105    }
     
    129129        $this->internal_save_block_exception($exceptionid, $blockid, $exceptiondata);
    130130
    131         $_SESSION["op_msgid"] = ($exceptionid == 0)? 63:62;
    132         $_SESSION["op_tabid"] = 1;
    133         $_SESSION["op_blockid"] = $blockid;
     131        $state = occupancy_plan_get_state();
     132        $state["op_msgid"] = ($exceptionid == 0)? 63:62;
     133        $state["op_tabid"] = 1;
     134        $state["op_blockid"] = $blockid;
     135        occupancy_plan_set_state($state);
    134136
    135137        wp_redirect(admin_url("admin.php?page=occupancy-plan-block"));
     
    148150        $format = array('%d','%s','%s','%s','%s','%d');
    149151
    150         $_SESSION["op_blockid"] = $blockid;
     152        occupancy_plan_set_state_value("op_blockid", $blockid);
    151153
    152154        if ((isset($exceptionid)) && ($exceptionid > 0))
  • occupancy-plan/trunk/admin/controller/class-occupancy-plan-blocks.php

    r3291549 r3398617  
    2222     * 1.2.4 - Add 'provisional' flag to block
    2323     * 1.3.14 - Use schedule default color for new block in backend
     24     * 1.4.13 - Add column priority
    2425     */
    2526    public function new_block($plan)
     
    5556        $block->customfield4 = '';
    5657        $block->provisional = 0;
     58        $block->priority = 1;
    5759
    5860        return $block;
     
    134136            $result = $wpdb->delete($table_block, array('id' => (int) $blockid));
    135137
     138            $state = occupancy_plan_get_state();
    136139            if (isset($_POST['is_provisional']))
    137140            {
    138                 $_SESSION["op_tabid"] = 2;
    139                 $_SESSION["op_msgid"] = 21;
     141                $state["op_tabid"] = 2;
     142                $state["op_msgid"] = 21;
    140143            }
    141144            else
    142145            {
    143                 $_SESSION["op_tabid"] = 1;
    144                 $_SESSION["op_msgid"] = 11;
    145             }
     146                $state["op_tabid"] = 1;
     147                $state["op_msgid"] = 11;
     148            }
     149            occupancy_plan_set_state($state);
    146150        }
    147151
     
    193197            }
    194198
    195             $_SESSION["op_tabid"] = 2;
    196             $_SESSION["op_msgid"] = 24;
    197             $_SESSION["op_planid"] = $planid;
     199            $state = occupancy_plan_get_state();
     200            $state["op_tabid"] = 2;
     201            $state["op_msgid"] = 24;
     202            $state["op_planid"] = $planid;
     203            occupancy_plan_set_state($state);
    198204        }
    199205
     
    237243            $result = $wpdb->delete($table_block, array('id' => (int) $block->id));
    238244
    239             $_SESSION["op_tabid"] = 2;
    240             $_SESSION["op_msgid"] = 25;
    241             $_SESSION["op_planid"] = $planid;
     245            $state = occupancy_plan_get_state();
     246            $state["op_tabid"] = 2;
     247            $state["op_msgid"] = 25;
     248            $state["op_planid"] = $planid;
     249            occupancy_plan_set_state($state);
    242250        }
    243251
     
    260268        $result = $this->internal_save_block();
    261269
    262         $_SESSION["op_tabid"] = ($is_provisional)? 2 : 1;
    263         $_SESSION["op_planid"] = $planid;
     270        $state = occupancy_plan_get_state();
     271        $state["op_tabid"] = ($is_provisional)? 2 : 1;
     272        $state["op_planid"] = $planid;
    264273
    265274        if (false === $result)
     
    267276            if ($is_provisional)
    268277            {
    269                 $_SESSION["op_msgid"] = ($blockid > 0)? 26 : 27;
     278                $state["op_msgid"] = ($blockid > 0)? 26 : 27;
    270279            }
    271280            else
    272281            {
    273                 $_SESSION["op_msgid"] = ($blockid > 0)? 16 : 17;
     282                $state["op_msgid"] = ($blockid > 0)? 16 : 17;
    274283            }
    275284            return $wpdb->last_error;
     
    279288            if ($is_provisional)
    280289            {
    281                 $_SESSION["op_msgid"] = ($blockid > 0)? 22 : 23;
     290                $state["op_msgid"] = ($blockid > 0)? 22 : 23;
    282291            }
    283292            else
    284293            {
    285                 $_SESSION["op_msgid"] = ($blockid > 0)? 12 : 13;
    286             }
    287         }
     294                $state["op_msgid"] = ($blockid > 0)? 12 : 13;
     295            }
     296        }
     297        occupancy_plan_set_state($state);
     298
    288299        wp_redirect(admin_url("admin.php?page=occupancy-plan"));
    289300    }
     
    459470                    'customfield4' => sanitize_text_field($_POST['customfield4']),
    460471                    'provisional' => isset($_POST['provisional'])? intval($_POST['provisional']) : 0,
     472                    'priority' => isset($_POST['priority'])? intval($_POST['priority']) : 0
    461473                    );
    462474
     
    464476
    465477            $format = array('%d','%s','%s','%s','%d','%d','%d','%s','%s','%s','%s','%d',
    466                 '%d','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%d');
     478                '%d','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%d','%d');
    467479            $id = intval($_POST['id']);
    468480            // Update existing booking block record
     
    492504                    'mailaddress' => (isset($_POST['mailaddress']))? sanitize_text_field($_POST['mailaddress']) : '',
    493505                    'comment' => $comment,
     506                    'authorizedusers' => (isset($_POST['authorizedusers']))? sanitize_textarea_field($_POST['authorizedusers']) : '',
    494507                    'created' => (isset($_POST['created']))? sanitize_text_field($_POST['created']) : date("Y-m-d H:i"),
    495508                    'createdby' => (isset($_POST['createdby']))? sanitize_text_field($_POST['createdby']) : wp_get_current_user()->user_login,
     
    501514                    'customfield4' => sanitize_text_field($_POST['customfield4']),
    502515                    'provisional' => isset($_POST['provisional'])? intval($_POST['provisional']) : 0,
     516                    'priority' => isset($_POST['priority'])? intval($_POST['priority']) : 0
    503517                    );
    504518
     
    506520
    507521            $format = array('%d','%s','%s','%s','%d','%d','%d','%s','%s','%s','%s','%d',
    508                 '%d','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%d');
     522                '%d','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%d','%d');
    509523
    510524            // Insert a new booking block record
  • occupancy-plan/trunk/admin/controller/class-occupancy-plan-court-names.php

    r3208007 r3398617  
    104104                array('%d'));
    105105
    106             $_SESSION["op_tabid"] = 4;
    107             $_SESSION["op_msgid"] = 41;
     106            $state = occupancy_plan_get_state();
     107            $state["op_tabid"] = 4;
     108            $state["op_msgid"] = 41;
     109            occupancy_plan_set_state($state);
    108110        }
    109111
     
    147149            array('%d'));
    148150
    149         $_SESSION["op_msgid"] = ($courtid == 0)? 43:42;
    150         $_SESSION["op_tabid"] = 4;
    151         $_SESSION["op_planid"] = $planid;
     151        $state = occupancy_plan_get_state();
     152        $state["op_msgid"] = ($courtid == 0)? 43:42;
     153        $state["op_tabid"] = 4;
     154        $state["op_planid"] = $planid;
     155        occupancy_plan_set_state($state);
    152156
    153157        wp_redirect(admin_url("admin.php?page=occupancy-plan"));
  • occupancy-plan/trunk/admin/controller/class-occupancy-plan-plans.php

    r3208007 r3398617  
    690690                return __('Time Slot successfully created!', 'occupancy-plan');
    691691            case 56:
    692                 return $_SESSION["op_delcount"] . ' '. __('Time Slots deleted!', 'occupancy-plan');
     692                return occupancy_plan_get_state_value("op_delcount", 0) . ' '. __('Time Slots deleted!', 'occupancy-plan');
    693693        }
    694694    }
  • occupancy-plan/trunk/admin/controller/class-occupancy-plan-prepared-blocks.php

    r3208007 r3398617  
    101101            $result = $wpdb->delete($table_prepared_block, array('id' => (int) $blockID));
    102102
    103             $_SESSION["op_tabid"] = 3;
    104             $_SESSION["op_msgid"] = 31;
     103            $state = occupancy_plan_get_state();
     104            $state["op_tabid"] = 3;
     105            $state["op_msgid"] = 31;
     106            occupancy_plan_set_state($state);
    105107        }
    106108
     
    133135        $this->internal_save_prepared_block($blockid, $planid, $blockdata);
    134136
    135         $_SESSION["op_msgid"] = ($blockid == 0)? 33:32;
    136         $_SESSION["op_tabid"] = 3;
    137         $_SESSION["op_planid"] = $planid;
     137        $state = occupancy_plan_get_state();
     138        $state["op_msgid"] = ($blockid == 0)? 33:32;
     139        $state["op_tabid"] = 3;
     140        $state["op_planid"] = $planid;
     141        occupancy_plan_set_state($state);
    138142
    139143        wp_redirect(admin_url("admin.php?page=occupancy-plan"));
  • occupancy-plan/trunk/admin/controller/class-occupancy-plan-time-slots.php

    r3208007 r3398617  
    8989            $wpdb->delete($table_time_slot, array('id' => (int) $timeID));
    9090
    91             $_SESSION["op_tabid"] = 5;
    92             $_SESSION["op_msgid"] = 51;
     91            $state = occupancy_plan_get_state();
     92            $state["op_tabid"] = 5;
     93            $state["op_msgid"] = 51;
     94            occupancy_plan_set_state($state);
    9395        }
    9496
     
    117119        $this->internal_save_time_slot($timeid, $planid, $timedata);
    118120
    119         $_SESSION["op_msgid"] = ($timeid == 0)? 53:52;
    120         $_SESSION["op_tabid"] = 5;
    121         $_SESSION["op_planid"] = $planid;
     121        $state = occupancy_plan_get_state();
     122        $state["op_msgid"] = ($timeid == 0)? 53:52;
     123        $state["op_tabid"] = 5;
     124        $state["op_planid"] = $planid;
     125        occupancy_plan_set_state($state);
    122126
    123127        wp_redirect(admin_url("admin.php?page=occupancy-plan"));
  • occupancy-plan/trunk/admin/js/occupancy-plan-admin.js

    r3068435 r3398617  
    199199
    200200        $('.op-intervalselect').change(function() {
     201
    201202            var interval = $(this).val();
    202203            if (interval == 1)
    203204            {
    204                 $('div.op-singledate').show();
    205                 $('td.op-intervalinfo').hide();
    206                 $('div.op-multidate').hide();
    207                 $('select.op-intervalinfoselect-3').hide();
    208                 $('select.op-intervalinfoselect-5').hide();
     205                $('.op-singledate').show();
     206                $('.op-intervalinfo').hide();
     207                $('.op-multidate').hide();
     208                $('.op-intervalinfoselect-3').hide();
     209                $('.op-intervalinfoselect-5').hide();
    209210            }
    210211            else if (interval == 2)
    211212            {
    212                 $('div.op-singledate').hide();
    213                 $('td.op-intervalinfo').hide();
    214                 $('div.op-multidate').show();
    215                 $('select.op-intervalinfoselect-3').hide();
    216                 $('select.op-intervalinfoselect-5').hide();
     213                $('.op-singledate').hide();
     214                $('.op-intervalinfo').hide();
     215                $('v.op-multidate').show();
     216                $('.op-intervalinfoselect-3').hide();
     217                $('.op-intervalinfoselect-5').hide();
    217218            }
    218219            else if (interval == 3)
    219220            {
    220                 $('div.op-singledate').hide();
    221                 $('td.op-intervalinfo').show();
    222                 $('div.op-multidate').show();
    223                 $('select.op-intervalinfoselect-3').show();
    224                 $('select.op-intervalinfoselect-5').hide();
     221                $('.op-singledate').hide();
     222                $('.op-intervalinfo').show();
     223                $('.op-multidate').show();
     224                $('.op-intervalinfoselect-3').show();
     225                $('.op-intervalinfoselect-5').hide();
    225226            }
    226227            else if (interval == 4)
    227228            {
    228                 $('div.op-singledate').hide();
    229                 $('td.op-intervalinfo').hide();
    230                 $('div.op-multidate').show();
    231                 $('select.op-intervalinfoselect-3').hide();
    232                 $('select.op-intervalinfoselect-5').hide();
     229                $('.op-singledate').hide();
     230                $('.op-intervalinfo').hide();
     231                $('.op-multidate').show();
     232                $('.op-intervalinfoselect-3').hide();
     233                $('.op-intervalinfoselect-5').hide();
    233234            }
    234235            else if (interval == 5)
    235236            {
    236                 $('div.op-singledate').hide();
    237                 $('td.op-intervalinfo').show();
    238                 $('div.op-multidate').show();
    239                 $('select.op-intervalinfoselect-3').hide();
    240                 $('select.op-intervalinfoselect-5').show();
     237                $('.op-singledate').hide();
     238                $('.op-intervalinfo').show();
     239                $('.op-multidate').show();
     240                $('.op-intervalinfoselect-3').hide();
     241                $('.op-intervalinfoselect-5').show();
    241242            }
    242243        });
  • occupancy-plan/trunk/admin/partials/occupancy-plan-block-exception.php

    r3383502 r3398617  
    1818    }
    1919
    20     // error_log(print_r($_SESSION, true));
     20    // Load current state
     21    $state = occupancy_plan_get_state();
     22
     23    // error_log(print_r($state, true));
    2124
    2225    if (isset($_GET['mode']))
     
    4851    }
    4952
    50     $_SESSION["op_msgid"] = 0;
    51     $lastpage = $_SESSION["op_lastpage"];
    52     $_SESSION["op_lastpage"] = 'block-exception';
     53    $state["op_msgid"] = 0;
     54    $lastpage = $state["op_lastpage"];
     55    $state["op_lastpage"] = 'block-exception';
     56
     57    // Save current state
     58    occupancy_plan_set_state($state);
    5359?>
    5460
  • occupancy-plan/trunk/admin/partials/occupancy-plan-block.php

    r3383502 r3398617  
    1919    }
    2020
    21     // error_log(print_r($_SESSION, true));
     21    // Load current state
     22    $state = occupancy_plan_get_state();
    2223
    2324    if (isset($_GET['mode']))
     
    3132        $block = $this->blocks->get_block(intval($_GET['blockID']));
    3233    }
    33     else if ((isset($_SESSION['op_blockid'])) && (intval($_SESSION['op_blockid']) > 0))
     34    else if ((isset($state['op_blockid'])) && (intval($state['op_blockid']) > 0))
    3435    {
    35         $block = $this->blocks->get_block(intval($_SESSION['op_blockid']));
     36        $block = $this->blocks->get_block(intval($state['op_blockid']));
    3637    }
    3738    else if (isset($_GET['planID']))
     
    5556
    5657        $courts = $this->blocks->get_court_names($plan);
    57         $message = (isset($_SESSION["op_msgid"]))? $this->blocks->get_message(intval($_SESSION["op_msgid"])) : NULL;
    58         $_SESSION["op_blockid"] = $block->id;
    59         $_SESSION["op_planid"] = $block->planid;
     58        $message = (isset($state["op_msgid"]))? $this->blocks->get_message(intval($state["op_msgid"])) : NULL;
     59        $state["op_blockid"] = $block->id;
     60        $state["op_planid"] = $block->planid;
    6061    }
    6162    else
     
    6465    }
    6566
    66     $_SESSION["op_tabid"] = ($block->provisional == 1)? 2:1;
    67     $_SESSION["op_msgid"] = 0;
    68     $lastpage = (isset($_SESSION["op_lastpage"]))? $_SESSION["op_lastpage"] : 'plan';
    69     $_SESSION["op_lastpage"] = 'block';
     67    $state["op_tabid"] = ($block->provisional == 1)? 2:1;
     68    $state["op_msgid"] = 0;
     69    $lastpage = (isset($state["op_lastpage"]))? $state["op_lastpage"] : 'plan';
     70    $state["op_lastpage"] = 'block';
     71
     72    // Save current state
     73    occupancy_plan_set_state($state);
    7074?>
    7175
     
    284288                    <div class="op-admin-form-group">
    285289                        <div class="op-admin-form-col-4">
     290                            <label class="op-admin-label" for="priority"><?php echo __('Priority', 'occupancy-plan');?></label>
     291                        </div>
     292                        <div class="op-admin-form-col-8">
     293                            <input class="op-admin-input-25" type="text" name="priority" maxlength="1" value="<?php echo esc_attr($block->priority)?>" <?php echo (isset($mode))? '':'readonly'?> />
     294                            <span class="op-help-tip" data-tooltip="<?php echo __('Bookings with smaller values are displayed in the foreground', 'occupancy-plan');?>">?</span>
     295                        </div>
     296                        <div class="op-admin-form-col-4">
    286297                            <label class="op-admin-label "for="color"><?php echo __('Color', 'occupancy-plan');?></label>
    287298                        </div>
  • occupancy-plan/trunk/admin/partials/occupancy-plan-blocks.php

    r3208007 r3398617  
    1818        wp_die();
    1919    }
     20
     21    // Load current state
     22    $state = occupancy_plan_get_state();
    2023
    2124    if ((isset( $_GET['export'])) && (isset($_GET['planID'])))
     
    4144        $planID = intval($_GET['planID']);
    4245    }
    43     else if (isset($_SESSION['op_planid']))
     46    else if (isset($state['op_planid']))
    4447    {
    45         $planID = intval($_SESSION['op_planid']);
     48        $planID = intval($state['op_planid']);
    4649    }
    4750    else
     
    7679        $planID = $plans[0]->id;
    7780    }
    78     $_SESSION['op_planid'] = $planID;
    79     $_SESSION['op_blockid'] = null;
     81    $state['op_planid'] = $planID;
     82    $state['op_blockid'] = null;
    8083    $blocksTable = new Occupancy_Plan_Blocks(false, false);
    8184    $blocksTable->prepare_items();
     85
     86    // Save current state
     87    occupancy_plan_set_state($state);
    8288?>
    8389
  • occupancy-plan/trunk/admin/partials/occupancy-plan-court-name.php

    r3208007 r3398617  
    2020    }
    2121
     22    // Load current state
     23    $state = occupancy_plan_get_state();
     24
    2225    if (isset($_GET['mode']))
    2326    {
     
    3033        $court = $this->courtnames->get_court_name(intval($_GET['courtID']));
    3134    }
    32     else if ((isset($_GET['planID'])) || (isset($_SESSION['planID'])))
     35    else if ((isset($_GET['planID'])) || (isset($state['planID'])))
    3336    {
    34         $court = $this->courtnames->new_court_name(intval(isset($_GET['planID'])? $_GET['planID'] : $_SESSION['planID']));
     37        $court = $this->courtnames->new_court_name(intval(isset($_GET['planID'])? $_GET['planID'] : $state['planID']));
    3538        $mode = 'create';
    3639    }
     
    4548    }
    4649
    47     $_SESSION["op_tabid"] = 4;
    48     $_SESSION["op_msgid"] = 0;
    49     $lastpage = $_SESSION["op_lastpage"];
    50     $_SESSION["op_lastpage"] = 'court-name';
     50    $state["op_tabid"] = 4;
     51    $state["op_msgid"] = 0;
     52    $lastpage = $state["op_lastpage"];
     53    $state["op_lastpage"] = 'court-name';
     54
     55    // Save current state
     56    occupancy_plan_set_state($state);
    5157?>
    5258
  • occupancy-plan/trunk/admin/partials/occupancy-plan-court-names.php

    r3191380 r3398617  
    1919    }
    2020
     21    // Load current state
     22    $state = occupancy_plan_get_state();
     23
    2124    if (isset($_POST['planID']))
    2225    {
     
    2730        $planID = intval($_GET['planID']);
    2831    }
    29     else if (isset($_SESSION['op_planid']))
     32    else if (isset($state['op_planid']))
    3033    {
    31         $planID = intval($_SESSION['op_planid']);
     34        $planID = intval($state['op_planid']);
    3235    }
    3336    else
     
    5760        $planID = $plans[0]->id;
    5861    }
    59     $_SESSION['op_planid'] = $planID;
     62    $state['op_planid'] = $planID;
    6063    $courtNamesTable = new Occupancy_Plan_Court_Names(false);
    6164    $courtNamesTable->prepare_items();
     65
     66    // Save current state
     67    occupancy_plan_set_state($state);
    6268?>
    6369
  • occupancy-plan/trunk/admin/partials/occupancy-plan-plan.php

    r3291549 r3398617  
    1818    }
    1919
     20    // Load current state
     21    $state = occupancy_plan_get_state();
     22
    2023    if ((isset($_GET['export'])) && (isset($_GET['planID'])))
    2124    {
     
    4245    {
    4346        $planID = intval($_GET['planID']);
    44         $_SESSION['op_planid'] = $planID;
    45     }
    46     else if ((isset($_SESSION['op_planid'])) && (intval($_SESSION['op_planid']) > 0))
    47     {
    48         $planID = intval($_SESSION['op_planid']);
     47        $state['op_planid'] = $planID;
     48    }
     49    else if ((isset($state['op_planid'])) && (intval($state['op_planid']) > 0))
     50    {
     51        $planID = intval($state['op_planid']);
    4952    }
    5053
     
    7275    if (isset($plan))
    7376    {
    74         $message = (isset($_SESSION["op_msgid"]))? $this->plans->get_message(intval($_SESSION["op_msgid"])) : NULL;
    75         $errormessage = (isset($_SESSION["op_msgid"]))? $this->plans->get_error_message(intval($_SESSION["op_msgid"])) : NULL;
    76         $tab = (isset($_SESSION['op_tabid']))? intval($_SESSION['op_tabid']) : 1;
     77        $message = (isset($state["op_msgid"]))? $this->plans->get_message(intval($state["op_msgid"])) : NULL;
     78        $errormessage = (isset($state["op_msgid"]))? $this->plans->get_error_message(intval($state["op_msgid"])) : NULL;
     79        $tab = (isset($state['op_tabid']))? intval($state['op_tabid']) : 1;
    7780    }
    7881    else
    7982    {
    8083        $errormessage = __('Schedule not found!', 'occupancy-plan');
    81         $_SESSION["op_planid"] = 0;
    82     }
    83 
    84     $_SESSION["op_tabid"] = 0;
    85     $_SESSION["op_msgid"] = 0;
    86     $lastpage = (isset($_SESSION["op_lastpage"]))? $_SESSION["op_lastpage"] : 'plan';
    87     $_SESSION["op_lastpage"] = 'plan';
    88     $_SESSION["op_blockid"] = 0;
     84        $state["op_planid"] = 0;
     85    }
     86
     87    $state["op_tabid"] = 0;
     88    $state["op_msgid"] = 0;
     89    $lastpage = (isset($state["op_lastpage"]))? $state["op_lastpage"] : 'plan';
     90    $state["op_lastpage"] = 'plan';
     91    $state["op_blockid"] = 0;
     92
     93    // Save current state
     94    occupancy_plan_set_state($state);
    8995?>
    9096
  • occupancy-plan/trunk/admin/partials/occupancy-plan-plans.php

    r3068435 r3398617  
    1919        wp_die();
    2020    }
     21
     22    // Load current state
     23    $state = occupancy_plan_get_state();
    2124
    2225    if (isset($_GET['msg']))
     
    4447    $plans = $this->plans->get_plans();
    4548
    46     $_SESSION["op_tabid"] = 5;
    47     $_SESSION["op_msgid"] = 0;
    48     $_SESSION["op_planid"] = 0;
     49    $state["op_tabid"] = 5;
     50    $state["op_msgid"] = 0;
     51    $state["op_planid"] = 0;
     52
     53    // Save current state
     54    occupancy_plan_set_state($state);
    4955?>
    5056
  • occupancy-plan/trunk/admin/partials/occupancy-plan-prepared-block.php

    r3208007 r3398617  
    2020    }
    2121
     22    // Load current state
     23    $state = occupancy_plan_get_state();
     24
    2225    if (isset($_GET['mode']))
    2326    {
     
    3033        $block = $this->preparedblocks->get_prepared_block(intval($_GET['blockID']));
    3134    }
    32     else if ((isset($_GET['planID'])) || (isset($_SESSION['planID'])))
     35    else if ((isset($_GET['planID'])) || (isset($state['planID'])))
    3336    {
    3437        // Create a new prepared block
    35         $block = $this->preparedblocks->new_prepared_block(intval(isset($_GET['planID'])? $_GET['planID'] : $_SESSION['planID']));
     38        $block = $this->preparedblocks->new_prepared_block(intval(isset($_GET['planID'])? $_GET['planID'] : $state['planID']));
    3639        $mode = 'create';
    3740    }
     
    4649    }
    4750
    48     $_SESSION["op_tabid"] = 3;
    49     $_SESSION["op_msgid"] = 0;
    50     $lastpage = $_SESSION["op_lastpage"];
    51     $_SESSION["op_lastpage"] = 'prepared-block';
     51    $state["op_tabid"] = 3;
     52    $state["op_msgid"] = 0;
     53    $lastpage = $state["op_lastpage"];
     54    $state["op_lastpage"] = 'prepared-block';
     55
     56    // Save current state
     57    occupancy_plan_set_state($state);
    5258?>
    5359
  • occupancy-plan/trunk/admin/partials/occupancy-plan-prepared-blocks.php

    r3191380 r3398617  
    1919    }
    2020
     21    // Load current state
     22    $state = occupancy_plan_get_state();
     23
    2124    if (isset($_POST['planID']))
    2225    {
     
    2730        $planID = intval($_GET['planID']);
    2831    }
    29     else if (isset($_SESSION['op_planid']))
     32    else if (isset($state['op_planid']))
    3033    {
    31         $planID = intval($_SESSION['op_planid']);
     34        $planID = intval($state['op_planid']);
    3235    }
    3336    else
     
    5760        $planID = $plans[0]->id;
    5861    }
    59     $_SESSION['op_planid'] = $planID;
     62    $state['op_planid'] = $planID;
    6063    $blocksTable = new Occupancy_Plan_Prepared_Blocks(false);
    6164    $blocksTable->prepare_items();
     65
     66    // Save current state
     67    occupancy_plan_set_state($state);
    6268?>
    6369
  • occupancy-plan/trunk/admin/partials/occupancy-plan-preview.php

    r3191380 r3398617  
    1919    }
    2020
     21    // Load current state
     22    $state = occupancy_plan_get_state();
     23
    2124    if (isset($_POST['planID']))
    2225    {
     
    2730        $planID = intval($_GET['planID']);
    2831    }
    29     else if (isset($_SESSION['op_planid']))
     32    else if (isset($state['op_planid']))
    3033    {
    31         $planID = intval($_SESSION['op_planid']);
     34        $planID = intval($state['op_planid']);
    3235    }
    3336    else
     
    5154        $planID = $plans[0]->id;
    5255    }
    53     $_SESSION['op_planid'] = $planID;
     56    $state['op_planid'] = $planID;
     57
     58    // Save current state
     59    occupancy_plan_set_state($state);
    5460?>
    5561
  • occupancy-plan/trunk/admin/partials/occupancy-plan-provisional-blocks.php

    r3191380 r3398617  
    1919    }
    2020
     21    // Load current state
     22    $state = occupancy_plan_get_state();
     23
    2124    if (isset($_POST['planID']))
    2225    {
     
    2730        $planID = intval($_GET['planID']);
    2831    }
    29     else if (isset($_SESSION['op_planid']))
     32    else if (isset($state['op_planid']))
    3033    {
    31         $planID = intval($_SESSION['op_planid']);
     34        $planID = intval($state['op_planid']);
    3235    }
    3336    else
     
    6366        $planID = $plans[0]->id;
    6467    }
    65     $_SESSION['op_planid'] = $planID;
     68    $state['op_planid'] = $planID;
    6669    $blocksTable = new Occupancy_Plan_Blocks(true, false);
    6770    $blocksTable->prepare_items();
     71
     72    // Save current state
     73    occupancy_plan_set_state($state);
    6874?>
    6975
  • occupancy-plan/trunk/admin/partials/occupancy-plan-time-slot.php

    r3208007 r3398617  
    2121    }
    2222
     23    // Load current state
     24    $state = occupancy_plan_get_state();
     25
    2326    if (isset($_GET['mode']))
    2427    {
     
    3134        $time = $this->timeslots->get_time_slot(intval($_GET['timeID']));
    3235    }
    33     else if ((isset($_GET['planID'])) || (isset($_SESSION['planID'])))
     36    else if ((isset($_GET['planID'])) || (isset($state['planID'])))
    3437    {
    35         $time = $this->timeslots->new_time_slot(intval(isset($_GET['planID'])? $_GET['planID'] : $_SESSION['planID']));
     38        $time = $this->timeslots->new_time_slot(intval(isset($_GET['planID'])? $_GET['planID'] : $state['planID']));
    3639        $mode = 'create';
    3740    }
     
    4548    }
    4649
    47     $_SESSION["op_tabid"] = 5;
    48     $_SESSION["op_msgid"] = 0;
    49     $lastpage = $_SESSION["op_lastpage"];
    50     $_SESSION["op_lastpage"] = 'time-slot';
     50    $state["op_tabid"] = 5;
     51    $state["op_msgid"] = 0;
     52    $lastpage = $state["op_lastpage"];
     53    $state["op_lastpage"] = 'time-slot';
     54
     55    // Save current state
     56    occupancy_plan_set_state($state);
    5157?>
    5258
  • occupancy-plan/trunk/admin/partials/occupancy-plan-time-slots.php

    r3191380 r3398617  
    2020    }
    2121
     22    // Load current state
     23    $state = occupancy_plan_get_state();
     24
    2225    if (isset($_POST['planID']))
    2326    {
     
    2831        $planID = intval($_GET['planID']);
    2932    }
    30     else if (isset($_SESSION['op_planid']))
     33    else if (isset($state['op_planid']))
    3134    {
    32         $planID = intval($_SESSION['op_planid']);
     35        $planID = intval($state['op_planid']);
    3336    }
    3437    else
     
    5861        $planID = $plans[0]->id;
    5962    }
    60     $_SESSION['op_planid'] = $planID;
     63    $state['op_planid'] = $planID;
    6164    $timeSlotsTable = new Occupancy_Plan_Time_Slots(false);
    6265    $timeSlotsTable->prepare_items();
     66
     67    // Save current state
     68    occupancy_plan_set_state($state);
    6369?>
    6470
  • occupancy-plan/trunk/admin/table/class-occupancy-plan-block-exceptions.php

    r3068435 r3398617  
    209209            $sql .= " WHERE (blockid = " . esc_sql($_GET['blockID']) . ")";
    210210        }
    211         else if (isset($_SESSION['blockID']))
    212         {
    213             $sql .= " WHERE (blockid = " . esc_sql($_SESSION['blockID']) . ")";
     211        else
     212        {
     213            $blockid = occupancy_plan_get_state_value('blockID', 0);
     214            if ($blockid > 0)
     215            {
     216                $sql .= " WHERE (blockid = " . esc_sql($blockid) . ")";
     217            }
    214218        }
    215219
     
    256260                $selecteditems = array_map('sanitize_text_field', $_POST['bulk-item-selection']);
    257261                $selecteditems = implode(',', $selecteditems);
    258                 $_SESSION["op_delcount"] = count($_POST['bulk-item-selection']);
     262                occupancy_plan_set_state_value("op_delcount", count($_POST['bulk-item-selection']));
    259263            }
    260264            else
     
    269273                $wpdb->query("DELETE FROM $table_block_exception WHERE id IN ($selecteditems)");
    270274
    271                 $_SESSION["op_msgid"] = 66;
     275                occupancy_plan_set_state_value("op_msgid", 66);
    272276            }
    273277        }
  • occupancy-plan/trunk/admin/table/class-occupancy-plan-blocks.php

    r3068435 r3398617  
    412412            JOIN  $table_plan AS plan ON plan.id = block.planid";
    413413
    414         if (isset($_SESSION['op_planid']))
    415         {
    416             $sql .= " WHERE (plan.id = " . esc_sql($_SESSION['op_planid']) . ")";
     414        $planid = occupancy_plan_get_state_value('op_planid', 0);
     415        if ($planid > 0)
     416        {
     417            $sql .= " WHERE (plan.id = " . esc_sql($planid) . ")";
    417418        }
    418419
     
    503504                $selecteditems = array_map('sanitize_text_field', $_POST['bulk-item-selection']);
    504505                $selecteditems = implode(',', $selecteditems);
    505                 $_SESSION["op_delcount"] = count($_POST['bulk-item-selection']);
     506                occupancy_plan_set_state_value("op_delcount", count($_POST['bulk-item-selection']));
    506507            }
    507508            else
     
    515516                $table_block = "{$wpdb->prefix}occupancy_plan_block";
    516517                $wpdb->query("DELETE FROM $table_block WHERE id IN ($selecteditems)");
    517                 $_SESSION["op_msgid"] = ($this->is_provisional)? 26 : 16;
     518                occupancy_plan_set_state_value("op_msgid", ($this->is_provisional)? 26 : 16);
    518519            }
    519520        }
  • occupancy-plan/trunk/admin/table/class-occupancy-plan-court-names.php

    r3068435 r3398617  
    236236            JOIN  $table_plan AS plan ON plan.id = court.planid";
    237237
    238         if (isset($_SESSION['op_planid']))
    239         {
    240             $sql .= " WHERE (plan.id = " . esc_sql($_SESSION['op_planid']) . ")";
     238        $planid = occupancy_plan_get_state_value('op_planid', 0);
     239        if ($planid > 0)
     240        {
     241            $sql .= " WHERE (plan.id = " . esc_sql($planid) . ")";
    241242        }
    242243
     
    286287                $selecteditems = array_map('sanitize_text_field', $_POST['bulk-item-selection']);
    287288                $selecteditems = implode(',', $selecteditems);
    288                 $_SESSION["op_delcount"] = count($_POST['bulk-item-selection']);
     289                occupancy_plan_set_state_value("op_delcount", count($_POST['bulk-item-selection']));
    289290            }
    290291            else
     
    319320                }
    320321
    321                 $_SESSION["op_msgid"] = 46;
     322                occupancy_plan_set_state_value("op_msgid", 46);
    322323            }
    323324        }
  • occupancy-plan/trunk/admin/table/class-occupancy-plan-prepared-blocks.php

    r3068435 r3398617  
    242242            JOIN  $table_plan AS plan ON plan.id = block.planid";
    243243
    244         if (isset($_SESSION['op_planid']))
    245         {
    246             $sql .= " WHERE (plan.id = " . esc_sql($_SESSION['op_planid']) . ")";
     244        $planid = occupancy_plan_get_state_value('op_planid', 0);
     245        if ($planid > 0)
     246        {
     247            $sql .= " WHERE (plan.id = " . esc_sql($planid) . ")";
    247248        }
    248249
     
    291292                $selecteditems = array_map('sanitize_text_field', $_POST['bulk-item-selection']);
    292293                $selecteditems = implode(',', $selecteditems);
    293                 $_SESSION["op_delcount"] = count($_POST['bulk-item-selection']);
     294                occupancy_plan_set_state_value("op_delcount", count($_POST['bulk-item-selection']));
    294295            }
    295296            else
     
    303304                $table_prepared_block = "{$wpdb->prefix}occupancy_plan_prepared_block";
    304305                $wpdb->query("DELETE FROM $table_prepared_block WHERE id IN ($selecteditems)");
    305                 $_SESSION["op_msgid"] = 36;
     306                occupancy_plan_set_state_value("op_msgid", 36);
    306307            }
    307308        }
  • occupancy-plan/trunk/admin/table/class-occupancy-plan-time-slots.php

    r3208007 r3398617  
    229229            JOIN  $table_plan AS plan ON plan.id = timeslot.planid";
    230230
    231         if (isset($_SESSION['op_planid']))
    232         {
    233             $sql .= " WHERE (plan.id = " . esc_sql($_SESSION['op_planid']) . ")";
     231        $planid = occupancy_plan_get_state_value('op_planid', 0);
     232        if ($planid > 0)
     233        {
     234            $sql .= " WHERE (plan.id = " . esc_sql($planid) . ")";
    234235        }
    235236
     
    276277                $selecteditems = array_map('sanitize_text_field', $_POST['bulk-item-selection']);
    277278                $selecteditems = implode(',', $selecteditems);
    278                 $_SESSION["op_delcount"] = count($_POST['bulk-item-selection']);
     279                occupancy_plan_set_state_value("op_delcount", count($_POST['bulk-item-selection']));
    279280            }
    280281            else
     
    288289                $table_time_slot= "{$wpdb->prefix}occupancy_plan_time_slot";
    289290                $wpdb->query("DELETE FROM $table_time_slot WHERE id IN ($selecteditems)");
    290                 $_SESSION["op_msgid"] = 56;
     291                occupancy_plan_set_state_value("op_msgid", 56);
    291292                wp_redirect(admin_url("admin.php?page=occupancy-plan"));
    292293            }
  • occupancy-plan/trunk/includes/class-occupancy-plan-main.php

    r3383502 r3398617  
    148148     * 1.2.5 - Add 'plugins_loaded' action to perfrom db check
    149149     * 1.2.6 - Add of 'confirm_block' and 'reject_block' actions
     150     * 1.4.13 - remove session handling
    150151     */
    151152    private function define_admin_hooks()
     
    188189
    189190        add_action('plugins_loaded', array($plugin_admin, 'db_check'));
    190 
    191         add_action('init', array($plugin_admin, 'start_session'), 1);
    192         add_action('wp_logout', array($plugin_admin, 'end_session'));
    193         add_action('wp_login', array($plugin_admin, 'end_session'));
    194191    }
    195192
  • occupancy-plan/trunk/includes/class-occupancy-plan-plugin.php

    r3103274 r3398617  
    1515
    1616global $occupancy_plan_db_version;
    17 $occupancy_plan_db_version = '1.4.3';
     17$occupancy_plan_db_version = '1.4.13';
    1818
    1919class Occupancy_Plan_Plugin
     
    4949     * 1.4 - Add block exceptions
    5050     * 1.4.3 - Add 'checkblockconflict' column
     51     * 1.4.13 - Add 'priority' column
    5152     *
    5253     */
     
    224225                        confirmed datetime NULL,
    225226                        authorizedusers varchar(256) NULL,
     227                        priority tinyint NULL,
    226228                        UNIQUE KEY id (id)
    227229            ) $charset_collate;";
     
    260262                        confirmed datetime NULL,
    261263                        authorizedusers varchar(256) NULL,
     264                        priority tinyint NULL,
    262265                        FOREIGN KEY (planid) REFERENCES {$table_plan}(id) ON DELETE CASCADE,
    263266                        UNIQUE KEY id (id)
  • occupancy-plan/trunk/occupancy-plan.php

    r3383502 r3398617  
    1616 * Plugin URI:        https://www.software-kunze.de/plugins/occupancy-plan/
    1717 * Description:       Management of Occupancy Plans
    18  * Version:           1.4.12
     18 * Version:           1.4.13
    1919 * Author:            Alexander Kunze Software Consulting
    2020 * Author URI:        https://www.software-kunze.de
     
    3636 * Rename this for your plugin and update it as you release new versions.
    3737 */
    38 define('Occupancy_Plan', '1.4.12');
     38define('Occupancy_Plan', '1.4.13');
    3939
    4040/**
  • occupancy-plan/trunk/public/class-occupancy-plan-public.php

    r3208007 r3398617  
    656656     * 1.3.19 - Add weekday property
    657657     * 1.3.22 -Check block exceptions
     658     * 1.4.13 - Order by priority
    658659     */
    659660    private function get_month_blocks($month, $week, $courtID, $plan, $court_names)
     
    719720                        AND ((`interval` <> 3) OR ((intervalinfo = {$weekdayinmonth}) AND (weekday = {$weekday})))
    720721                        AND ((`interval` <> 5) OR (intervalinfo = {$calendarweek}))
     722                        ORDER BY priority
    721723                        LIMIT 1";
    722724
     
    796798     * 1.3.22 - If frontend is not anoymized then show detailed tooltip
    797799     *        - Check block exceptions
     800     * 1.4.13 - Order by priority
    798801     */
    799802    private function get_week_blocks($week, $time, $plan, $court_names, $courtID)
     
    829832                            AND ((`interval` <> 3) OR (intervalinfo = {$weekdayinmonth}))
    830833                            AND ((`interval` <> 5) OR (intervalinfo = {$calendarweek}))
     834                            ORDER BY priority
    831835                            LIMIT 1";
    832836
     
    917921     * 1.3.22 - If frontend is not anoymized then show detailed tooltip
    918922     *        - Check block exceptions
     923     * 1.4.13 - Order by priority
    919924     */
    920925    private function get_day_blocks($singledate, $time, $plan, $court_names, $courtID)
     
    967972                        AND ((`interval` <> 3) OR (intervalinfo = {$weekdayinmonth}))
    968973                        AND ((`interval` <> 5) OR (intervalinfo = {$calendarweek}))
     974                        ORDER BY priority
    969975                        LIMIT 1";
    970976
     
    13611367            'customfield4' => $block->customfield4,
    13621368            'provisional' => $block->provisional,
    1363             'authorizedusers' => $block->authorizedusers
     1369            'authorizedusers' => $block->authorizedusers,
     1370            'priority' => $block->priority
    13641371        );
    13651372
     
    20412048        $block->customfield4 = '';
    20422049        $block->provisional = $details['provisional'];
     2050        $block->priority = 1;
    20432051
    20442052        return $block;
  • occupancy-plan/trunk/readme.txt

    r3383502 r3398617  
    55Requires at least: 4.9
    66Tested up to: 6.8.3
    7 Stable tag: 1.4.12
     7Stable tag: 1.4.13
    88Requires PHP: 5.2.4
    99License: GPLv2 or later
     
    5050== Changelog ==
    5151
     52= 1.4.13 =
     53* Add of block priority
     54* Fix: Interval change script error corrected
     55* Fix: Changed Session handling to transient
     56
    5257= 1.4.12 =
    5358* Fix: Select correct block after save block exception
Note: See TracChangeset for help on using the changeset viewer.