Plugin Directory

Changeset 2603643


Ignore:
Timestamp:
09/23/2021 12:50:30 PM (5 years ago)
Author:
chuhpl
Message:
  • BUGFIX: Registration and Max registration bug fixes in the sanity checking.
  • BUGFIX: Changed to using the WordPress wp_mail() function instead of the PHP mail() function.
  • NEW: Added Registration Contact Type option to the reg form.
  • NEW: Added the ability to force a user to click on "check boxes" in the contract content so that you can add "rules" that must be agreed to before continuing.
  • NEW: Added a new Capability called bookaroom_admin that allows you to apply it to a user or Role to restrict access. Administrator is the only Role given this access as first. Please deactivate and reactivate the plugin after updating to create the capability for the first time.
Location:
book-a-room/trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • book-a-room/trunk/README.txt

    r2160088 r2603643  
    44Tags: meeting room, calendar, library
    55Requires at least: 3.0.1
    6 Tested up to: 4.9.7
     6Tested up to: 5.8.1
    77Stable tag: trunk
    88License: GPLv2 or later
     
    1212
    1313== Description ==
    14 ** IMPORTANT! A recent update requires you to add delimiters to your regex. Please check your Locale settings and make sure your phone and zip regex have a slash / at the start and end.**
     14** IMPORTANT! A recent update requires to deactivate and reactivate the plugin to create a new Capability called bookaroom_admin. This will also apply it to Administrators. You can create a Role or apply this Capability to any other users who need access to the Book a Room admin menues and functions.**
    1515
    1616**Note: You need the [Book a Room Event Calendar plugin](https://wordpress.org/plugins/book-a-room-event-calendar/) to view the Event Calendar.**
     
    106106
    107107== Changelog ==
    108 = 2.8.2.4 =
    109 * Added the ability to add the text #check# in the Meeting Room Content content to have it render a checkbox to the user. If there are any checkboxes rendered this way, they must all be checked before the user can continue.
     108= 2.8.3 =
     109* BUGFIX: Registration and Max registration bug fixes in the sanity checking.
     110* BUGFIX: Changed to using the WordPress wp_mail() function instead of the PHP mail() function.
     111* NEW: Added Registration Contact Type option to the reg form.
     112* NEW: Added the ability to force a user to click on "check boxes" in the contract content so that you can add "rules" that must be agreed to before continuing.
     113* NEW: Added a new Capability called bookaroom_admin that allows you to apply it to a user or Role to restrict access. Administrator is the only Role given this access as first. Please deactivate and reactivate the plugin after updating to create the capability for the first time.
    110114
    111115= 2.8.2.1 =
  • book-a-room/trunk/bookaroom-events-manage.php

    r1796503 r2603643  
    186186        # sort type
    187187        $sql = "SELECT SQL_CALC_FOUND_ROWS MATCH ( `res`.`ev_desc`, `res`.`ev_presenter`, `res`.`ev_privateNotes`, `res`.`ev_publicEmail`, `res`.`ev_publicName`, `res`.`ev_submitter`, `res`.`ev_title`, `res`.`ev_website`, `res`.`ev_webText` ) AGAINST ('{$externals['searchTerms']}' IN NATURAL LANGUAGE MODE ) as `score`,
    188         `ti`.`ti_id`, `ti`.`ti_startTime`, `ti`.`ti_endTime`, `ti`.`ti_type`, `res`.`ev_title`, `res`.`ev_desc`, `ti`.`ti_roomID`, `ti`.`ti_noLocation_branch`, `ti`.`ti_extraInfo`, `res`.`ev_regType`, `res`.`ev_maxReg`, `res`.`ev_noPublish`, COUNT( DISTINCT `tiCount`.`ti_id` ) as eventCount, `res`.`res_id`
     188        `ti`.`ti_id`, `ti`.`ti_startTime`, `ti`.`ti_endTime`, `ti`.`ti_type`, `res`.`ev_title`, `res`.`ev_desc`, `ti`.`ti_roomID`, `ti`.`ti_noLocation_branch`, `ti`.`ti_extraInfo`, `res`.`ev_regType`, `res`.`ev_maxReg`, `res`.`ev_noPublish`, COUNT( DISTINCT `tiCount`.`ti_id` ) as eventCount, `res`.`res_id`, `res`.`ev_regContactType`
    189189            FROM `{$wpdb->prefix}bookaroom_times` AS `ti`
    190190            LEFT JOIN `{$wpdb->prefix}bookaroom_reservations` AS `res` ON `res`.`res_id` = `ti`.`ti_extID`
  • book-a-room/trunk/bookaroom-events.php

    r1907111 r2603643  
    415415                $changeRoom = true;
    416416            case 'edit_single':
     417           
    417418                $externals['recurrence'] = 'single';
    418419                # get search settings
     
    428429                $results = bookaroom_events_manage::getEventList( $externals, $amenityList, $branchList, $roomContList, $roomList );
    429430                #check id   
     431               
    430432                if ( false == ( $eventInfo = self::checkID( $externals[ 'eventID' ] ) ) ) {
    431433                    bookaroom_events_manage::manageEvents( $externals, $results, true, __( 'That ID is invalid. Please try again.', 'book-a-room' ) );
     
    440442                    $externals = self::fixSavedEventInfo( $eventInfo, $externals );
    441443                }
     444
    442445                self::showEventForm_times( $externals, NULL, 'Edit', 'checkSingleEdit', 'edit_single_changeRoom' );
    443446                break;
     
    627630       
    628631        $headers  = 'MIME-Version: 1.0' . "\r\n";
    629         $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
    630                     "From: {$fromName} <{$fromEmail}>" . "\r\n";
     632        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    631633        if( !empty( $replyName ) and !empty( $replyEmail ) ) {
    632634            $headers .= "Reply-To: {$replyName} <{$replyEmail}>" . "\r\n";
     
    782784            `ev_title` = '".$_SESSION['bookaroom_meetings_externalVals']['eventTitle']."',
    783785            `ev_website` = '".$_SESSION['bookaroom_meetings_externalVals']['website']."',
    784             `ev_webText` = '".$_SESSION['bookaroom_meetings_externalVals']['websiteText']."'
     786            `ev_webText` = '".$_SESSION['bookaroom_meetings_externalVals']['websiteText']."',
     787            `ev_regContactType` = '".$_SESSION['bookaroom_meetings_externalVals']['regContactType']."'
    785788            WHERE `res_id` = '{$eventInfo['res_id']}'";
    786789
     
    892895       
    893896       
    894         $sql = "INSERT INTO `$table_name` ( `res_created`, `ev_desc`, `ev_maxReg`, `ev_amenity`, `ev_waitingList`, `ev_presenter`, `ev_privateNotes`, `ev_publicEmail`, `ev_publicName`, `ev_publicPhone`, `ev_noPublish`, `ev_regStartDate`, `ev_regType`, `ev_submitter`, `ev_title`, `ev_website`, `ev_webText` )
     897        $sql = "INSERT INTO `$table_name` ( `res_created`, `ev_desc`, `ev_maxReg`, `ev_amenity`, `ev_waitingList`, `ev_presenter`, `ev_privateNotes`, `ev_publicEmail`, `ev_publicName`, `ev_publicPhone`, `ev_noPublish`, `ev_regStartDate`, `ev_regType`, `ev_submitter`, `ev_title`, `ev_website`, `ev_webText`, `ev_regContactType` )
    895898            VALUES(
    896899            '".$currentTimeMySQL."',
     
    910913            '".$_SESSION['bookaroom_meetings_externalVals']['eventTitle']."',
    911914            '".$_SESSION['bookaroom_meetings_externalVals']['website']."',
    912             '".$_SESSION['bookaroom_meetings_externalVals']['websiteText']."' )";
     915            '".$_SESSION['bookaroom_meetings_externalVals']['websiteText']."',
     916            '".$_SESSION['bookaroom_meetings_externalVals']['regContactType']."' )";
    913917        $wpdb->query( $sql );
    914918
     
    12741278        $final = array();
    12751279        $errorBG = array();
    1276        
     1280                   
    12771281        # event title
    12781282        if( empty( $externals['eventTitle'] ) ) {
     
    12981302            $errorBG['registration'] = true;
    12991303        }
    1300        
    13011304        # registration options
    13021305        if( $externals['registration'] !== 'no' ) {
    13031306            # max reg number?
    1304             if( empty( $externals['maxReg'] ) ) {
     1307            if( !isset( $externals['maxReg'] ) ) {
    13051308                $final[] = __( 'You must enter a number for maximum registration.', 'book-a-room' );
    13061309                $errorBG['maxReg'] = true; 
     
    13761379        $final = array();
    13771380        $errorBG = array();
    1378        
     1381
    13791382        if( empty( $externals['roomID'] ) && empty( $externals['branchID'] ) ) {
    13801383            $final[] = __( 'You must choose a location.', 'book-a-room' );
     
    14471450            $errorBG['registration'] = true;
    14481451        }
    1449        
    14501452        # registration options
    14511453        if( $externals['registration'] !== 'no' ) {
     
    14781480                unset( $error );
    14791481            }
     1482           
     1483            # reg contact type
     1484            if( empty( $externals['regContactType'] ) ) {
     1485                $final[] = __( 'You must choose a registration contact type.', 'book-a-room' );
     1486                $errorBG['regContactType'] = true; 
     1487            } else {
     1488                $good_arr = [ 'either' => __( 'Either required', 'book-a-room' ), 'none' => __( 'None Required', 'book-a-room' ), 'email' => __( 'Email Required', 'book-a-room' ), 'phone' => __( 'Phone Required', 'book-a-room' ), 'both' => __( 'Both Required', 'book-a-room' ) ];
     1489               
     1490                if( !array_key_exists( $externals['regContactType'], $good_arr ) ) {
     1491                    $final[] = __( 'You must choose a registration contact type.', 'book-a-room' );
     1492                    $errorBG['regContactType'] = true;
     1493                }
     1494            }
     1495
     1496
     1497           
     1498
    14801499        }       
    14811500        # url for contact website
     
    14861505
    14871506        # categories
    1488         if( count( $externals['category'] ) < 1 ) {
     1507        if( empty( $externals['category'] ) or count( $externals['category'] ) < 1 ) {
    14891508            $final[] = __( 'You must choose at least one category.', 'book-a-room' );
    14901509            $errorBG['category'] = true;
     
    14921511       
    14931512        # age groups
    1494         if( count( $externals['ageGroup'] ) < 1 ) {
     1513        if( empty( $externals['ageGroup'] ) or count( $externals['ageGroup'] ) < 1 ) {
    14951514            $final[] = __( 'You must choose at least one age group.', 'book-a-room' );
    14961515            $errorBG['ageGroup'] = true;
     
    15461565            `ev`.`ev_publicPhone`, `ev`.`ev_noPublish`, `ev`.`ev_regStartDate`, `ev`.`ev_regType`,
    15471566            `ev`.`ev_submitter`, `ev`.`ev_title`, `ev`.`ev_website`, `ev`.`ev_webText`, `ti`.`ti_attendance`,
    1548             `ti`.`ti_attNotes`,
     1567            `ti`.`ti_attNotes`, `ev`.`ev_regContactType`,
    15491568            COUNT( DISTINCT `tiCheck`.`ti_id` ) as `tiCount`,
    15501569            GROUP_CONCAT( DISTINCT `ages`.`ea_ageID` SEPARATOR  ',' ) as 'ageGroup',
     
    15751594                break;             
    15761595        }       
     1596       
    15771597        return $cooked;
    15781598    }
     
    19962016                        'eventTitle' => 'ev_title', 
    19972017                        'maxReg' => 'ev_maxReg', 
     2018                        'regContactType' => 'ev_regContactType', 
    19982019                        'presenter' => 'ev_presenter', 
    19992020                        'privateNotes' => 'ev_privateNotes', 
     
    20122033                        'noLocation_branch' => 'ti_noLocation_branch'
    20132034                        );
     2035       
    20142036        foreach( $goodArr as $key => $val ) {
    2015             if( !empty( $eventInfo[$val] ) ) {
     2037            if( isset( $eventInfo[$val] ) ) {
    20162038                $externals[$key] = $eventInfo[$val];
    20172039            }
     
    24132435                                                                    'flags'     => FILTER_REQUIRE_ARRAY ),
    24142436                            'hash'                      => FILTER_SANITIZE_STRING,
    2415                             'maxReg'                    => FILTER_SANITIZE_STRING,
     2437                            'maxReg'                    => FILTER_VALIDATE_INT,
    24162438                            'newVal'                    => array(   'filter'    => FILTER_SANITIZE_STRING,
    24172439                                                                    'flags'     => FILTER_REQUIRE_ARRAY ),
     
    24212443                            'publicPhone'               => FILTER_SANITIZE_STRING,
    24222444                            'publicEmail'               => FILTER_SANITIZE_STRING,
    2423                             'regDate'                   => FILTER_SANITIZE_STRING,
     2445                            'regDate'                   => FILTER_SANITIZE_STRING, 'regDate'                    => FILTER_SANITIZE_STRING,
    24242446                            'regID'                     => FILTER_SANITIZE_STRING,
    24252447                            'registration'              => FILTER_SANITIZE_STRING,
     
    24312453                            'hashTime'                  => FILTER_SANITIZE_STRING,
    24322454                            'submit'                    => FILTER_SANITIZE_STRING,
    2433                             'waitingList'               => FILTER_SANITIZE_STRING,
     2455                            'waitingList'               => FILTER_VALIDATE_INT,
    24342456                            'website'                   => FILTER_SANITIZE_STRING,
    24352457                            'websiteText'               => FILTER_SANITIZE_STRING,
     
    24442466                            'regNotes'                  => FILTER_SANITIZE_STRING,
    24452467                            'regEmail'                  => FILTER_SANITIZE_STRING,
     2468                            'regContactType'            => FILTER_SANITIZE_STRING,
    24462469                                                                 );
    24472470           
     
    24542477       
    24552478        foreach( $arrayCheck as $key ) {
    2456             if( empty( $final[$key] ) ) {
     2479            if( isset( $final[$key] ) and $final[$key] == "0" ) {
     2480                $final[$key] = "0";
     2481            } elseif( empty( $final[$key] ) ) {
    24572482                $final[$key] = NULL;
    24582483            } elseif( is_array( $final[$key] ) ) {
  • book-a-room/trunk/bookaroom-meetings-email.php

    r1728894 r2603643  
    292292        $headers = 'MIME-Version: 1.0' . "\r\n";
    293293        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
    294         'From: Test_email' . "\r\n" .
    295         'Reply-To: <>' . "\r\n" .
    296294        'X-Mailer: PHP/' . phpversion();
    297         mail( $bookaroom_alertEmail, 'Book a Room Email Test', $mailContents, $headers );
     295        wp_mail( $bookaroom_alertEmail, 'Book a Room Email Test', $mailContents, $headers );
    298296       
    299297        require( BOOKAROOM_PATH . 'templates/email/testSuccess.php' );
  • book-a-room/trunk/bookaroom-meetings-public.php

    r2160088 r2603643  
    771771        $headers  = 'MIME-Version: 1.0' . "\r\n";
    772772        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
    773                     $replyToOnly .
    774773                    'X-Mailer: PHP/' . phpversion();
    775774        /* translators: Book a Room Event Created: BRANCH_NAME [ROOM_NAME] by CONTACT_NAME on START_DATE from START_TIME to END_TIME */
    776775        $subject = sprintf( __( 'Book a Room Event Created: %s [%s] by %s on %s from %s to %s', 'book-a-room' ), $externals['branchName'], $externals['roomName'], $externals['contactName'], $externals['formDate'], $externals['startTimeDisp'], $externals['endTimeDisp'] );
    777776       
    778         mail( $email, $subject, $contents, $headers );
     777        wp_mail( $email, $subject, $contents, $headers );
    779778       
    780779        if( $admin == true ) {
    781780            $subject = sprintf( __( 'Your Book a Room Event Details: %s [%s] by %s on %s from %s to %s', 'book-a-room' ), $externals['branchName'], $externals['roomName'], $externals['contactName'], $externals['formDate'], $externals['startTimeDisp'], $externals['endTimeDisp'] );
    782             mail( $contactEmail, $subject, $contents, $headers );
     781            wp_mail( $contactEmail, $subject, $contents, $headers );
    783782        }
    784783    }
     
    829828        $headers  = 'MIME-Version: 1.0' . "\r\n";
    830829        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
    831                     $replyToOnly .             
    832830                    'X-Mailer: PHP/' . phpversion();
    833831
    834         mail( $externals['contactEmail'], $subject, $contents, $headers );
     832        wp_mail( $externals['contactEmail'], $subject, $contents, $headers );
    835833
    836834        return $contents;       
     
    914912        return nl2br( $contents );
    915913    }
     914   
     915   
    916916}
    917917?>
  • book-a-room/trunk/bookaroom-meetings.php

    r1862993 r2603643  
    306306                    $headers  = 'MIME-Version: 1.0' . "\r\n";
    307307                    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
    308                         $replyToOnly .
    309308                        'X-Mailer: PHP/' . phpversion();
    310309
    311                     mail( $pendingList['id'][$val]['contactEmail'], $subject, $body, $headers );
     310                    wp_mail( $pendingList['id'][$val]['contactEmail'], $subject, $body, $headers );
    312311                }               
    313312               
     
    509508                {$where}
    510509                ORDER BY `res`.`me_status`, `ti`.`ti_startTime`";
     510       
     511       
    511512        $temp = $wpdb->get_results( $sql, ARRAY_A );
    512513       
  • book-a-room/trunk/bookaroom-payments.php

    r1862993 r2603643  
    393393               
    394394        $headers  = 'MIME-Version: 1.0' . "\r\n";
    395         $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
    396                     "From: {$fromName} <{$fromEmail}>" . "\r\n";
     395        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    397396        if( !empty( $replyName ) and !empty( $replyEmail ) ) {
    398397            $headers .= "Reply-To: {$replyName} <{$replyEmail}>" . "\r\n";
  • book-a-room/trunk/bookaroom.php

    r2160088 r2603643  
    1010Text Domain: book-a-room
    1111*/
    12 global $bookaroom_db_version;
     12global $wpdb, $bookaroom_db_version;
    1313$bookaroom_db_version = "3";
    1414
     
    8888        global $wpdb;
    8989        global $bookaroom_db_version;
     90       
     91        $roles = get_editable_roles();
     92        foreach ($GLOBALS['wp_roles']->role_objects as $key => $role) {
     93            if (isset($roles[$key]) && $role->has_cap('activate_plugins')) {
     94                $role->add_cap('bookaroom_admin');
     95            }
     96        }
    9097       
    9198        require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
     
    625632        global $bookaroom_db_version;
    626633   
     634         $roles = get_editable_roles();
     635        foreach ($GLOBALS['wp_roles']->role_objects as $key => $role) {
     636            if (isset($roles[$key]) && $role->has_cap('bookaroom_admin')) {
     637                $role->remove_cap('bookaroom_admin');
     638            }
     639        }
     640       
    627641        $wpdb->query( "DROP TABLE {$wpdb->prefix}bookaroom_amenities" );
    628642        $wpdb->query( "DROP TABLE {$wpdb->prefix}bookaroom_branches" );
     
    758772        add_menu_page( __( 'Book a Room Management', 'book-a-room' ), __( 'Manage Reservations', 'book-a-room' ), 'read', 'bookaroom_meetings', array( 'book_a_room_meetings', 'bookaroom_pendingRequests' ) );
    759773       
    760         #add_submenu_page( 'bookaroom_meetings', "", '<span style="display:block; margin:1px 0 1px -5px; padding:0; height:2px; line-height:1px; background:#DDD;"></span>', "manage_options", "#" );
    761        
    762774        add_submenu_page( 'bookaroom_meetings', __( 'Meeting Room Meetings - Pending Requests', 'book-a-room' ), sprintf( __( 'Pending [%s]', 'book-a-room' ), $pendingCount ), 'read', 'bookaroom_meetings',  array( 'book_a_room_meetings', 'bookaroom_pendingRequests' ) );
    763775       
     
    774786        add_submenu_page( 'bookaroom_meetings', __( 'Meeting Room Meetings - Search Requests', 'book-a-room' ), __( 'Search', 'book-a-room' ), 'read', 'bookaroom_meetings_search',  array( 'book_a_room_meetingsSearch', 'bookaroom_searchRequests' ) );
    775787       
    776         # Reports       
    777         #add_submenu_page( 'bookaroom_meetings', "", '<span style="display:block; margin:1px 0 1px -5px; padding:0; height:2px; line-height:1px; background:#DDD;"></span>', "read", "#" );
    778        
    779         #add_submenu_page( 'bookaroom_meetings', 'Meeting Room Settings - Reports', 'Reports', 'manage_options', 'bookaroom_settings_reports',  array( 'bookaroom_reports', 'bookaroom_reportsAdmin' ) );
    780 
    781788        # Daily Schedule
    782         add_menu_page( __( 'Book a Room Daily Schedules', 'book-a-room' ), __( 'Daily Schedules', 'book-a-room' ), 'manage_options', 'bookaroom_daily_schedules', array( 'book_a_room_meetings', 'bookaroom_contactList' )  );
    783 
    784         add_submenu_page( 'bookaroom_daily_schedules', __( 'Meeting Room Meetings - Contact List', 'book-a-room' ), __( 'Contact List', 'book-a-room' ), 'read', 'bookaroom_daily_schedules',  array( 'book_a_room_meetings', 'bookaroom_contactList' ) );
    785        
     789        add_menu_page( __( 'Book a Room Daily Schedules', 'book-a-room' ), __( 'Daily Schedules', 'book-a-room' ), 'read', 'bookaroom_daily_schedules', array( 'book_a_room_meetings', 'bookaroom_dailyMeetings' )  );
     790
    786791        add_submenu_page( 'bookaroom_daily_schedules', __( 'Meeting Room Meetings - Daily Meetings', 'book-a-room' ), __( 'Daily Meetings', 'book-a-room' ), 'read', 'bookaroom_daily_schedules_meetings',  array( 'book_a_room_meetings', 'bookaroom_dailyMeetings' ) );
    787792       
    788793        add_submenu_page( 'bookaroom_daily_schedules', __( 'Meeting Room Meetings - Daily Room Signs' ), __( 'Daily Room Signs', 'book-a-room' ), 'read', 'bookaroom_daily_schedules_signs',  array( 'book_a_room_meetings', 'bookaroom_dailyRoomSigns' ) );
    789794
     795        add_submenu_page( 'bookaroom_daily_schedules', __( 'Meeting Room Meetings - Contact List', 'book-a-room' ), __( 'Contact List', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_daily_schedules_contact',  array( 'book_a_room_meetings', 'bookaroom_contactList' ) );
     796       
     797        remove_submenu_page('bookaroom_daily_schedules','bookaroom_daily_schedules');
     798       
     799       
     800
    790801#       add_submenu_page( 'bookaroom_meetings', "", '<span style="display:block; margin:1px 0 1px -5px; padding:0; height:2px; line-height:1px; background:#DDD;"></span>', "read", "#" );
    791802
    792803        # Manage events
    793         add_menu_page( __( 'Book a Room Event Settings', 'book-a-room' ), __( 'Event Settings', 'book-a-room' ), 'manage_options', 'bookaroom_event_settings', array( 'bookaroom_settings_age', 'showFormAge' ) );
    794        
    795         add_submenu_page( 'bookaroom_event_settings', __( 'Manage Age Groups', 'book-a-room' ), __( 'Manage Age Groups', 'book-a-room' ), 'manage_options', 'bookaroom_event_settings',  array( 'bookaroom_settings_age', 'showFormAge' ) );
    796 
    797         add_submenu_page( 'bookaroom_event_settings', __( 'Manage Categories', 'book-a-room' ), __( 'Manage Categories', 'book-a-room' ), 'manage_options', 'bookaroom_event_settings_categories',  array( 'bookaroom_settings_categories', 'showFormCategories' ) );
     804        add_menu_page( __( 'Book a Room Event Settings', 'book-a-room' ), __( 'Event Settings', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_event_settings', array( 'bookaroom_settings_age', 'showFormAge' ) );
     805       
     806        add_submenu_page( 'bookaroom_event_settings', __( 'Manage Age Groups', 'book-a-room' ), __( 'Manage Age Groups', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_event_settings',  array( 'bookaroom_settings_age', 'showFormAge' ) );
     807
     808        add_submenu_page( 'bookaroom_event_settings', __( 'Manage Categories', 'book-a-room' ), __( 'Manage Categories', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_event_settings_categories',  array( 'bookaroom_settings_categories', 'showFormCategories' ) );
    798809               
    799810        # Manage Meeting Room settings
    800         add_menu_page( __( 'Book a Room Settings', 'book-a-room' ), __( 'Meeting Room Settings', 'book-a-room' ), 'manage_options', 'bookaroom_Settings', array( 'bookaroom_settings_admin', 'bookaroom_admin_admin' ) );
    801 
    802         add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings', 'book-a-room' ), __( 'Settings', 'book-a-room' ), 'manage_options', 'bookaroom_Settings',  array( 'bookaroom_settings_admin', 'bookaroom_admin_admin' ) );
    803        
    804         add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Amenities', 'book-a-room' ), __( 'Amenities Admin', 'book-a-room' ), 'manage_options', 'bookaroom_Settings_Amenities',  array( 'bookaroom_settings_amenities', 'bookaroom_admin_amenities' ) );
    805        
    806         add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Branches', 'book-a-room' ), __( 'Branch Admin', 'book-a-room' ), 'manage_options', 'bookaroom_Settings_Branches',  array( 'bookaroom_settings_branches', 'bookaroom_admin_branches' ) );
    807 
    808         add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Rooms', 'book-a-room' ), __( 'Room Admin', 'book-a-room' ), 'manage_options', 'bookaroom_Settings_Rooms',  array( 'bookaroom_settings_rooms', 'bookaroom_admin_rooms' ) );
    809 
    810         add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Room Containers', 'book-a-room' ), __( 'Containers Admin', 'book-a-room' ), 'manage_options', 'bookaroom_Settings_RoomCont',  array( 'bookaroom_settings_roomConts', 'bookaroom_admin_roomCont' ) );
     811        add_menu_page( __( 'Book a Room Settings', 'book-a-room' ), __( 'Meeting Room Settings', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_Settings', array( 'bookaroom_settings_admin', 'bookaroom_admin_admin' ) );
     812
     813        add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings', 'book-a-room' ), __( 'Settings', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_Settings',  array( 'bookaroom_settings_admin', 'bookaroom_admin_admin' ) );
     814       
     815        add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Amenities', 'book-a-room' ), __( 'Amenities Admin', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_Settings_Amenities',  array( 'bookaroom_settings_amenities', 'bookaroom_admin_amenities' ) );
     816       
     817        add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Branches', 'book-a-room' ), __( 'Branch Admin', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_Settings_Branches',  array( 'bookaroom_settings_branches', 'bookaroom_admin_branches' ) );
     818
     819        add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Rooms', 'book-a-room' ), __( 'Room Admin', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_Settings_Rooms',  array( 'bookaroom_settings_rooms', 'bookaroom_admin_rooms' ) );
     820
     821        add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Room Containers', 'book-a-room' ), __( 'Containers Admin', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_Settings_RoomCont',  array( 'bookaroom_settings_roomConts', 'bookaroom_admin_roomCont' ) );
    811822               
    812         add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - City Management', 'book-a-room' ), __( 'City Admin', 'book-a-room' ), 'manage_options', 'bookaroom_Settings_cityManagement',  array( 'bookaroom_settings_cityManagement', 'bookaroom_admin_mainCityManagement' ) );
     823        add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - City Management', 'book-a-room' ), __( 'City Admin', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_Settings_cityManagement',  array( 'bookaroom_settings_cityManagement', 'bookaroom_admin_mainCityManagement' ) );
    813824               
    814         add_submenu_page( 'bookaroom_Settings', "", '<span style="display:block; margin:1px 0 1px -5px; padding:0; height:2px; line-height:1px; background:#DDD;"></span>', "manage_options", "#" );
    815        
    816         add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Email', 'book-a-room' ), __( 'Email Admin', 'book-a-room' ), 'manage_options', 'bookaroom_Settings_Email',  array( 'bookaroom_settings_email', 'bookaroom_admin_email' ) );
    817        
    818         add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Content', 'book-a-room' ), __( 'Content Admin', 'book-a-room' ), 'manage_options', 'bookaroom_Settings_Content',  array( 'bookaroom_settings_content', 'bookaroom_admin_content' ) );
    819 
    820         add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Closings', 'book-a-room' ), __( 'Closings Admin', 'book-a-room' ), 'manage_options', 'bookaroom_Settings_Closings',  array( 'bookaroom_settings_closings', 'bookaroom_admin_closings' ) );
    821        
    822         add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Locale', 'book-a-room' ), __( 'Locale Admin', 'book-a-room' ), 'manage_options', 'bookaroom_Settings_Locale',  array( 'bookaroom_settings_locale', 'bookaroom_admin_locale' ) );
     825        add_submenu_page( 'bookaroom_Settings', "", '<span style="display:block; margin:1px 0 1px -5px; padding:0; height:2px; line-height:1px; background:#DDD;"></span>', "bookaroom_admin", "#" );
     826       
     827        add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Email', 'book-a-room' ), __( 'Email Admin', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_Settings_Email',  array( 'bookaroom_settings_email', 'bookaroom_admin_email' ) );
     828       
     829        add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Content', 'book-a-room' ), __( 'Content Admin', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_Settings_Content',  array( 'bookaroom_settings_content', 'bookaroom_admin_content' ) );
     830
     831        add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Closings', 'book-a-room' ), __( 'Closings Admin', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_Settings_Closings',  array( 'bookaroom_settings_closings', 'bookaroom_admin_closings' ) );
     832       
     833        add_submenu_page( 'bookaroom_Settings', __( 'Meeting Room Settings - Locale', 'book-a-room' ), __( 'Locale Admin', 'book-a-room' ), 'bookaroom_admin', 'bookaroom_Settings_Locale',  array( 'bookaroom_settings_locale', 'bookaroom_admin_locale' ) );
    823834
    824835
    825836        # Help files
    826         add_menu_page( __( 'Bookaroom Help', 'book-a-room' ), __( 'Bookaroom Help', 'book-a-room' ), 'manage_options', 'Bookaroom_Help', array( 'bookaroom_help', 'showHelp' ) );
    827 
    828         add_submenu_page( 'Bookaroom_Help', __( 'Meeting Room Help', 'book-a-room' ), __( 'Main Help', 'book-a-room' ), 'manage_options', 'Bookaroom_Help',  array( 'bookaroom_help', 'showHelp' ) );
    829        
    830         #add_submenu_page( 'Bookaroom_Help', 'Meeting Room Help', 'Setup Help', 'manage_options', 'Bookaroom_Help_Setup',  array( 'bookaroom_help', 'showHelp_setup' ) );
     837        add_menu_page( __( 'Bookaroom Help', 'book-a-room' ), __( 'Bookaroom Help', 'book-a-room' ), 'bookaroom_admin', 'Bookaroom_Help', array( 'bookaroom_help', 'showHelp' ) );
     838
     839        add_submenu_page( 'Bookaroom_Help', __( 'Meeting Room Help', 'book-a-room' ), __( 'Main Help', 'book-a-room' ), 'bookaroom_admin', 'Bookaroom_Help',  array( 'bookaroom_help', 'showHelp' ) );
    831840       
    832841        #initialize     
  • book-a-room/trunk/css/bookaroom_day.css

    r1922950 r2603643  
    421421    border-top-left-radius: 20px;
    422422    border-top-right-radius: 20px;
    423     height: 180px;
     423    height: 260px;
    424424}
    425425#topRow .instructions, #topRow .options
  • book-a-room/trunk/sharedFunctions.php

    r1728894 r2603643  
    111111    function myStartSession() {
    112112        if(!session_id()) {
    113             session_start();
     113            #session_start();
    114114        }
    115115    }
     
    117117if( !function_exists( "myEndSession" ) ) {
    118118    function myEndSession() {
    119         session_destroy ();
     119        #session_destroy ();
    120120    }
    121121}
  • book-a-room/trunk/templates/events/eventForm_event.php

    r1855828 r2603643  
    226226        <tr>
    227227            <td><?php _e( 'Max. Registrations', 'book-a-room' ); ?></td>
    228             <td<?php if( !empty( $errorArr[ 'errorBG'][ 'maxReg'] ) ) echo ' class="error"';?>><input name="maxReg" type="text" id="maxReg" value="<?php echo $externals['maxReg']; ?>" size="3" maxlength="3" />
     228            <td<?php if( !empty( $errorArr[ 'errorBG'][ 'maxReg'] ) ) echo ' class="error"';?>><input name="maxReg" type="number" id="maxReg" value="<?php echo $externals['maxReg']; ?>" size="3" maxlength="3" />
    229229            </td>
    230230        </tr>
    231231        <tr>
    232232            <td><?php _e( 'Waiting List', 'book-a-room' ); ?></td>
    233             <td<?php if( !empty( $errorArr[ 'errorBG'][ 'maxReg'] ) ) echo ' class="error"';?>><input name="waitingList" type="text" id="waitingList" value="<?php echo $externals['waitingList']; ?>" size="3" maxlength="3" />
     233            <td<?php if( !empty( $errorArr[ 'errorBG'][ 'maxReg'] ) ) echo ' class="error"';?>><input name="waitingList" type="number" id="waitingList" value="<?php echo $externals['waitingList']; ?>" size="3" maxlength="3" />
    234234            </td>
    235235        </tr>
  • book-a-room/trunk/templates/events/eventForm_times.php

    r1819066 r2603643  
    4242        $( 'input[name=registration]:radio' ).change( function () {
    4343            if ( $( this ).val() == 'no' ) {
    44                 $( '#waitingList, #maxReg, #regDate' ).prop( 'disabled', true );
     44                $( '#waitingList, #maxReg, #regDate, #regContactType' ).prop( 'disabled', true );
    4545            } else {
    46                 $( '#waitingList, #maxReg, #regDate' ).prop( 'disabled', false );
     46                $( '#waitingList, #maxReg, #regDate, #regContactType' ).prop( 'disabled', false );
    4747            }
    4848        } );
     
    5252        if ( typeof $( 'input[name=registration]:checked' ) !== 'undefined' ) {
    5353            if ( $( 'input[name=registration]:checked' ).val() == 'no' ) {
    54                 $( '#waitingList, #maxReg, #regDate' ).prop( 'disabled', true );
     54                $( '#waitingList, #maxReg, #regDate, #regContactType' ).prop( 'disabled', true );
    5555            } else {
    56                 $( '#waitingList, #maxReg, #regDate' ).prop( 'disabled', false );
     56                $( '#waitingList, #maxReg, #regDate, #regContactType' ).prop( 'disabled', false );
    5757            }
    5858        }
     
    522522            <td>
    523523                <p><?php _e( 'Event Description', 'book-a-room' ); ?><br>
    524                     <em> <?php _e( '(300 char. max)', 'book-a-room' ); ?></em>
     524                    <em> <?php _e( '(1000 char. max)', 'book-a-room' ); ?></em>
    525525                </p>
    526526            </td>
    527             <td<?php if( !empty( $errorArr['errorBG']['eventDesc'] ) ) echo ' class="error"'; ?>><textarea name="eventDesc" cols="55" rows="6" id="eventDesc" onKeyDown="limitText(this.form.eventDesc,this.form.eventDesc_countdown,300);" onKeyUp="limitText(this.form.eventDesc,this.form.eventDesc_countdown,300);"><?php echo $externals['eventDesc']; ?></textarea>
     527            <td<?php if( !empty( $errorArr['errorBG']['eventDesc'] ) ) echo ' class="error"'; ?>><textarea name="eventDesc" cols="55" rows="6" id="eventDesc" onKeyDown="limitText(this.form.eventDesc,this.form.eventDesc_countdown,1000);" onKeyUp="limitText(this.form.eventDesc,this.form.eventDesc_countdown,1000);"><?php echo $externals['eventDesc']; ?></textarea>
    528528                <br>
    529                 <input readonly type="text" name="eventDesc_countdown" size="3" value="300" id="numbCount"> <?php /* translators: this appears as "n Characters left" under a text box. */ _e( 'Characters left.', 'book-a-room' ); ?></td>
     529                <input readonly type="text" name="eventDesc_countdown" size="3" value="1000" id="numbCount"> <?php /* translators: this appears as "n Characters left" under a text box. */ _e( 'Characters left.', 'book-a-room' ); ?></td>
    530530        </tr>
    531531        <?php
     
    551551        </tr>
    552552        <tr>
     553            <td><?php _e( 'Registration Contact Type', 'book-a-room' ); ?></td>
     554            <td<?php if( !empty( $errorArr['errorBG']['regContactType'] ) ) echo ' class="error"'; ?>>
     555                <select name="regContactType" id="regContactType">
     556                <?php
     557                $good_arr = [ 'either' => __( 'Either required', 'book-a-room' ), 'none' => __( 'None Required', 'book-a-room' ), 'email' => __( 'Email Required', 'book-a-room' ), 'phone' => __( 'Phone Required', 'book-a-room' ), 'both' => __( 'Both Required', 'book-a-room' ) ];
     558               
     559                $selected = ( !array_key_exists( $externals['regContactType'], $good_arr ) ) ? ' selected="selected"' : null;
     560                echo "<option value=\"\"{$selected}>".__( 'Choose one', 'book-a-room' )."</option>";
     561               
     562                foreach( $good_arr as $key => $val ) {
     563                    $selected = ( $externals['regContactType'] == $key ) ? ' selected="selected"' : null;
     564                    echo "<option value=\"{$key}\"{$selected}>{$val}</option>";
     565                }
     566                ?>
     567                </select>
     568            </td>
     569        </tr>
     570        <tr>
    553571            <td><?php _e( 'Max. Registrations', 'book-a-room' ); ?></td>
    554             <td<?php if( !empty( $errorArr['errorBG']['maxReg'] ) ) echo ' class="error"'; ?>><input name="maxReg" type="text" id="maxReg" value="<?php echo $externals['maxReg']; ?>" size="3" maxlength="3" />
     572            <td<?php if( !empty( $errorArr['errorBG']['maxReg'] ) ) echo ' class="error"'; ?>><input name="maxReg" type="number" id="maxReg" value="<?php echo $externals['maxReg']; ?>" size="3" maxlength="3" />
    555573            </td>
    556574        </tr>
    557575        <tr>
    558576            <td><?php _e( 'Waiting List', 'book-a-room' ); ?></td>
    559             <td<?php if( !empty( $errorArr['errorBG']['maxReg'] ) ) echo ' class="error"'; ?>><input name="waitingList" type="text" id="waitingList" value="<?php echo $externals['waitingList']; ?>" size="3" maxlength="3" />
     577            <td<?php if( !empty( $errorArr['errorBG']['maxReg'] ) ) echo ' class="error"'; ?>><input name="waitingList" type="number" id="waitingList" value="<?php echo $externals['waitingList']; ?>" size="3" maxlength="3" />
    560578            </td>
    561579        </tr>
  • book-a-room/trunk/templates/meetings/dailyMeetings.php

    r1733681 r2603643  
    332332               
    333333        $headers  = 'MIME-Version: 1.0' . "\r\n";
    334         $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
    335                     "From: {$fromName} <{$fromEmail}>" . "\r\n";
     334        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    336335        if( !empty( $replyName ) and !empty( $replyEmail ) ) {
    337336            $headers .= "Reply-To: {$replyName} <{$replyEmail}>" . "\r\n";
Note: See TracChangeset for help on using the changeset viewer.