2013-05-20 20:21:58 +03:00
<!DOCTYPE html>
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" / >
< meta name = "generator" content = "ApiGen 2.8.0" / >
< meta name = "robots" content = "noindex" / >
< title > File appointments.php< / title >
< script type = "text/javascript" src = "resources/combined.js?955602237" > < / script >
2013-10-19 13:34:32 +03:00
< script type = "text/javascript" src = "elementlist.js?679583101" > < / script >
2013-05-20 20:21:58 +03:00
< link rel = "stylesheet" type = "text/css" media = "all" href = "resources/style.css?3505392360" / >
< / head >
< body >
< div id = "left" >
< div id = "menu" >
< a href = "index.html" title = "Overview" > < span > Overview< / span > < / a >
< div id = "groups" >
2013-09-13 16:21:03 +03:00
< h3 > Namespaces< / h3 >
< ul >
< li class = "active" > < a href = "namespace-None.html" > None< / a >
< / li >
< li > < a href = "namespace-PHP.html" > PHP< / a >
< / li >
< / ul >
2013-05-20 20:21:58 +03:00
< / div >
2013-09-13 16:21:03 +03:00
< hr / >
2013-05-20 20:21:58 +03:00
< div id = "elements" >
< h3 > Classes< / h3 >
< ul >
2013-09-13 16:21:03 +03:00
< li > < a href = "class-Admins_Model.html" > Admins_Model< / a > < / li >
2013-05-20 20:21:58 +03:00
< li class = "active" > < a href = "class-Appointments.html" > Appointments< / a > < / li >
< li > < a href = "class-Appointments_Model.html" > Appointments_Model< / a > < / li >
2013-06-13 19:25:34 +03:00
< li > < a href = "class-Backend.html" > Backend< / a > < / li >
2013-09-13 16:21:03 +03:00
< li > < a href = "class-Backend_api.html" > Backend_api< / a > < / li >
2013-05-20 20:21:58 +03:00
< li > < a href = "class-Customers_Model.html" > Customers_Model< / a > < / li >
2013-09-13 16:21:03 +03:00
< li > < a href = "class-Errors.html" > Errors< / a > < / li >
< li > < a href = "class-Google.html" > Google< / a > < / li >
2013-05-20 20:21:58 +03:00
< li > < a href = "class-Providers_Model.html" > Providers_Model< / a > < / li >
< li > < a href = "class-Roles_Model.html" > Roles_Model< / a > < / li >
2013-09-13 16:21:03 +03:00
< li > < a href = "class-Secretaries_Model.html" > Secretaries_Model< / a > < / li >
2013-05-20 20:21:58 +03:00
< li > < a href = "class-Services_Model.html" > Services_Model< / a > < / li >
< li > < a href = "class-Settings_Model.html" > Settings_Model< / a > < / li >
< li > < a href = "class-Test.html" > Test< / a > < / li >
2013-10-19 13:34:32 +03:00
< li > < a href = "class-User.html" > User< / a > < / li >
< li > < a href = "class-User_Model.html" > User_Model< / a > < / li >
2013-05-20 20:21:58 +03:00
< / ul >
< / div >
< / div >
< / div >
< div id = "splitter" > < / div >
< div id = "right" >
< div id = "rightInner" >
< form id = "search" >
< input type = "hidden" name = "cx" value = "" / >
< input type = "hidden" name = "ie" value = "UTF-8" / >
< input type = "text" name = "q" class = "text" / >
< input type = "submit" value = "Search" / >
< / form >
< div id = "navigation" >
< ul >
< li >
< a href = "index.html" title = "Overview" > < span > Overview< / span > < / a >
< / li >
2013-09-13 16:21:03 +03:00
< li >
< a href = "namespace-None.html" title = "Summary of None" > < span > Namespace< / span > < / a >
< / li >
2013-05-20 20:21:58 +03:00
< li >
< a href = "class-Appointments.html" title = "Summary of Appointments" > < span > Class< / span > < / a >
< / li >
< / ul >
< ul >
< li >
< a href = "tree.html" title = "Tree view of classes, interfaces, traits and exceptions" > < span > Tree< / span > < / a >
< / li >
< / ul >
< ul >
< / ul >
< / div >
< pre > < code > < span id = "1" class = "l" > < a class = "l" href = "#1" > 1: < / a > < span class = "xlang" > < ?php< / span > < span class = "php-keyword1" > if< / span > ( ! < span class = "php-keyword2" > defined< / span > (< span class = "php-quote" > 'BASEPATH'< / span > )) < span class = "php-keyword1" > exit< / span > (< span class = "php-quote" > 'No direct script access allowed'< / span > );
< / span > < span id = "2" class = "l" > < a class = "l" href = "#2" > 2: < / a >
< / span > < span id = "3" class = "l" > < a class = "l" href = "#3" > 3: < / a > < span class = "php-keyword1" > class< / span > < a id = "Appointments" href = "#Appointments" > Appointments< / a > < span class = "php-keyword1" > extends< / span > CI_Controller {
< / span > < span id = "4" class = "l" > < a class = "l" href = "#4" > 4: < / a > < span class = "php-comment" > /**
2013-06-08 12:54:45 +03:00
< / span > < / span > < span id = "5" class = "l" > < a class = "l" href = "#5" > 5: < / a > < span class = "php-comment" > * Default callback method of the application.
< / span > < / span > < span id = "6" class = "l" > < a class = "l" href = "#6" > 6: < / a > < span class = "php-comment" > *
< / span > < / span > < span id = "7" class = "l" > < a class = "l" href = "#7" > 7: < / a > < span class = "php-comment" > * This method creates the appointment book wizard. If an appointment hash
< / span > < / span > < span id = "8" class = "l" > < a class = "l" href = "#8" > 8: < / a > < span class = "php-comment" > * is provided then it means that the customer followed the appointment
< / span > < / span > < span id = "9" class = "l" > < a class = "l" href = "#9" > 9: < / a > < span class = "php-comment" > * manage link that was send with the book success email.
< / span > < / span > < span id = "10" class = "l" > < a class = "l" href = "#10" > 10: < / a > < span class = "php-comment" > *
< / span > < / span > < span id = "11" class = "l" > < a class = "l" href = "#11" > 11: < / a > < span class = "php-comment" > * @param string $appointment_hash The db appointment hash of an existing
< / span > < / span > < span id = "12" class = "l" > < a class = "l" href = "#12" > 12: < / a > < span class = "php-comment" > * record.
< / span > < / span > < span id = "13" class = "l" > < a class = "l" href = "#13" > 13: < / a > < span class = "php-comment" > */< / span >
< / span > < span id = "14" class = "l" > < a class = "l" href = "#14" > 14: < / a > < span class = "php-keyword1" > public< / span > < span class = "php-keyword1" > function< / span > < a id = "_index" href = "#_index" > index< / a > (< span class = "php-var" > $appointment_hash< / span > = < span class = "php-quote" > ''< / span > ) {
2013-10-19 13:34:32 +03:00
< / span > < span id = "15" class = "l" > < a class = "l" href = "#15" > 15: < / a > < span class = "php-keyword1" > if< / span > (!< span class = "php-var" > $this< / span > -> check_installation()) < span class = "php-keyword1" > return< / span > ;
< / span > < span id = "16" class = "l" > < a class = "l" href = "#16" > 16: < / a >
< / span > < span id = "17" class = "l" > < a class = "l" href = "#17" > 17: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'appointments_model'< / span > );
< / span > < span id = "18" class = "l" > < a class = "l" href = "#18" > 18: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'providers_model'< / span > );
< / span > < span id = "19" class = "l" > < a class = "l" href = "#19" > 19: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'services_model'< / span > );
< / span > < span id = "20" class = "l" > < a class = "l" href = "#20" > 20: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'customers_model'< / span > );
< / span > < span id = "21" class = "l" > < a class = "l" href = "#21" > 21: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'settings_model'< / span > );
< / span > < span id = "22" class = "l" > < a class = "l" href = "#22" > 22: < / a >
< / span > < span id = "23" class = "l" > < a class = "l" href = "#23" > 23: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-keyword2" > strtoupper< / span > (< span class = "php-var" > $_SERVER< / span > [< span class = "php-quote" > 'REQUEST_METHOD'< / span > ]) !== < span class = "php-quote" > 'POST'< / span > ) {
< / span > < span id = "24" class = "l" > < a class = "l" href = "#24" > 24: < / a > < span class = "php-keyword1" > try< / span > {
< / span > < span id = "25" class = "l" > < a class = "l" href = "#25" > 25: < / a > < span class = "php-var" > $available_services< / span > = < span class = "php-var" > $this< / span > -> services_model-> get_available_services();
< / span > < span id = "26" class = "l" > < a class = "l" href = "#26" > 26: < / a > < span class = "php-var" > $available_providers< / span > = < span class = "php-var" > $this< / span > -> providers_model-> get_available_providers();
< / span > < span id = "27" class = "l" > < a class = "l" href = "#27" > 27: < / a > < span class = "php-var" > $company_name< / span > = < span class = "php-var" > $this< / span > -> settings_model-> get_setting(< span class = "php-quote" > 'company_name'< / span > );
< / span > < span id = "28" class = "l" > < a class = "l" href = "#28" > 28: < / a >
< / span > < span id = "29" class = "l" > < a class = "l" href = "#29" > 29: < / a > < span class = "php-comment" > // If an appointment hash is provided then it means that the customer < / span >
< / span > < span id = "30" class = "l" > < a class = "l" href = "#30" > 30: < / a > < span class = "php-comment" > // is trying to edit a registered appointment record.< / span >
< / span > < span id = "31" class = "l" > < a class = "l" href = "#31" > 31: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $appointment_hash< / span > !== < span class = "php-quote" > ''< / span > ){
< / span > < span id = "32" class = "l" > < a class = "l" href = "#32" > 32: < / a > < span class = "php-comment" > // Load the appointments data and enable the manage mode of the page.< / span >
< / span > < span id = "33" class = "l" > < a class = "l" href = "#33" > 33: < / a > < span class = "php-var" > $manage_mode< / span > = < span class = "php-keyword1" > TRUE< / span > ;
< / span > < span id = "34" class = "l" > < a class = "l" href = "#34" > 34: < / a >
< / span > < span id = "35" class = "l" > < a class = "l" href = "#35" > 35: < / a > < span class = "php-var" > $results< / span > = < span class = "php-var" > $this< / span > -> appointments_model-> get_batch(< span class = "php-keyword1" > array< / span > (< span class = "php-quote" > 'hash'< / span > => < span class = "php-var" > $appointment_hash< / span > ));
< / span > < span id = "36" class = "l" > < a class = "l" href = "#36" > 36: < / a >
< / span > < span id = "37" class = "l" > < a class = "l" href = "#37" > 37: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-keyword2" > count< / span > (< span class = "php-var" > $results< / span > ) === < span class = "php-num" > 0< / span > ) {
< / span > < span id = "38" class = "l" > < a class = "l" href = "#38" > 38: < / a > < span class = "php-comment" > // The requested appointment doesn't exist in the database. Display< / span >
< / span > < span id = "39" class = "l" > < a class = "l" href = "#39" > 39: < / a > < span class = "php-comment" > // a message to the customer.< / span >
< / span > < span id = "40" class = "l" > < a class = "l" href = "#40" > 40: < / a > < span class = "php-var" > $view< / span > = < span class = "php-keyword1" > array< / span > (
< / span > < span id = "41" class = "l" > < a class = "l" href = "#41" > 41: < / a > < span class = "php-quote" > 'message_title'< / span > => < span class = "php-quote" > 'Appointment Not Found!'< / span > ,
< / span > < span id = "42" class = "l" > < a class = "l" href = "#42" > 42: < / a > < span class = "php-quote" > 'message_text'< / span > => < span class = "php-quote" > 'The appointment you requested does not exist in '< / span >
< / span > < span id = "43" class = "l" > < a class = "l" href = "#43" > 43: < / a > . < span class = "php-quote" > 'the system database anymore.'< / span > ,
< / span > < span id = "44" class = "l" > < a class = "l" href = "#44" > 44: < / a > < span class = "php-quote" > 'message_icon'< / span > => < span class = "php-var" > $this< / span > -> config-> item(< span class = "php-quote" > 'base_url'< / span > )
< / span > < span id = "45" class = "l" > < a class = "l" href = "#45" > 45: < / a > . < span class = "php-quote" > 'assets/images/error.png'< / span >
< / span > < span id = "46" class = "l" > < a class = "l" href = "#46" > 46: < / a > );
< / span > < span id = "47" class = "l" > < a class = "l" href = "#47" > 47: < / a > < span class = "php-var" > $this< / span > -> load-> view(< span class = "php-quote" > 'appointments/message'< / span > , < span class = "php-var" > $view< / span > );
< / span > < span id = "48" class = "l" > < a class = "l" href = "#48" > 48: < / a > < span class = "php-keyword1" > return< / span > ;
< / span > < span id = "49" class = "l" > < a class = "l" href = "#49" > 49: < / a > }
< / span > < span id = "50" class = "l" > < a class = "l" href = "#50" > 50: < / a >
< / span > < span id = "51" class = "l" > < a class = "l" href = "#51" > 51: < / a > < span class = "php-var" > $appointment< / span > = < span class = "php-var" > $results< / span > [< span class = "php-num" > 0< / span > ];
< / span > < span id = "52" class = "l" > < a class = "l" href = "#52" > 52: < / a > < span class = "php-var" > $provider< / span > = < span class = "php-var" > $this< / span > -> providers_model-> get_row(< span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_users_provider'< / span > ]);
< / span > < span id = "53" class = "l" > < a class = "l" href = "#53" > 53: < / a > < span class = "php-var" > $customer< / span > = < span class = "php-var" > $this< / span > -> customers_model-> get_row(< span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_users_customer'< / span > ]);
< / span > < span id = "54" class = "l" > < a class = "l" href = "#54" > 54: < / a >
< / span > < span id = "55" class = "l" > < a class = "l" href = "#55" > 55: < / a > } < span class = "php-keyword1" > else< / span > {
< / span > < span id = "56" class = "l" > < a class = "l" href = "#56" > 56: < / a > < span class = "php-comment" > // The customer is going to book a new appointment so there is no < / span >
< / span > < span id = "57" class = "l" > < a class = "l" href = "#57" > 57: < / a > < span class = "php-comment" > // need for the manage functionality to be initialized.< / span >
< / span > < span id = "58" class = "l" > < a class = "l" href = "#58" > 58: < / a > < span class = "php-var" > $manage_mode< / span > = < span class = "php-keyword1" > FALSE< / span > ;
< / span > < span id = "59" class = "l" > < a class = "l" href = "#59" > 59: < / a > < span class = "php-var" > $appointment< / span > = < span class = "php-keyword1" > array< / span > ();
< / span > < span id = "60" class = "l" > < a class = "l" href = "#60" > 60: < / a > < span class = "php-var" > $provider< / span > = < span class = "php-keyword1" > array< / span > ();
< / span > < span id = "61" class = "l" > < a class = "l" href = "#61" > 61: < / a > < span class = "php-var" > $customer< / span > = < span class = "php-keyword1" > array< / span > ();
< / span > < span id = "62" class = "l" > < a class = "l" href = "#62" > 62: < / a > }
< / span > < span id = "63" class = "l" > < a class = "l" href = "#63" > 63: < / a >
< / span > < span id = "64" class = "l" > < a class = "l" href = "#64" > 64: < / a > < span class = "php-comment" > // Load the book appointment view.< / span >
< / span > < span id = "65" class = "l" > < a class = "l" href = "#65" > 65: < / a > < span class = "php-var" > $view< / span > = < span class = "php-keyword1" > array< / span > (
< / span > < span id = "66" class = "l" > < a class = "l" href = "#66" > 66: < / a > < span class = "php-quote" > 'available_services'< / span > => < span class = "php-var" > $available_services< / span > ,
< / span > < span id = "67" class = "l" > < a class = "l" href = "#67" > 67: < / a > < span class = "php-quote" > 'available_providers'< / span > => < span class = "php-var" > $available_providers< / span > ,
< / span > < span id = "68" class = "l" > < a class = "l" href = "#68" > 68: < / a > < span class = "php-quote" > 'company_name'< / span > => < span class = "php-var" > $company_name< / span > ,
< / span > < span id = "69" class = "l" > < a class = "l" href = "#69" > 69: < / a > < span class = "php-quote" > 'manage_mode'< / span > => < span class = "php-var" > $manage_mode< / span > ,
< / span > < span id = "70" class = "l" > < a class = "l" href = "#70" > 70: < / a > < span class = "php-quote" > 'appointment_data'< / span > => < span class = "php-var" > $appointment< / span > ,
< / span > < span id = "71" class = "l" > < a class = "l" href = "#71" > 71: < / a > < span class = "php-quote" > 'provider_data'< / span > => < span class = "php-var" > $provider< / span > ,
< / span > < span id = "72" class = "l" > < a class = "l" href = "#72" > 72: < / a > < span class = "php-quote" > 'customer_data'< / span > => < span class = "php-var" > $customer< / span >
< / span > < span id = "73" class = "l" > < a class = "l" href = "#73" > 73: < / a > );
< / span > < span id = "74" class = "l" > < a class = "l" href = "#74" > 74: < / a >
< / span > < span id = "75" class = "l" > < a class = "l" href = "#75" > 75: < / a > } < span class = "php-keyword1" > catch< / span > (Exception < span class = "php-var" > $exc< / span > ) {
< / span > < span id = "76" class = "l" > < a class = "l" href = "#76" > 76: < / a > < span class = "php-var" > $view< / span > [< span class = "php-quote" > 'exceptions'< / span > ][] = < span class = "php-var" > $exc< / span > ;
< / span > < span id = "77" class = "l" > < a class = "l" href = "#77" > 77: < / a > }
2013-09-13 16:21:03 +03:00
< / span > < span id = "78" class = "l" > < a class = "l" href = "#78" > 78: < / a >
2013-10-19 13:34:32 +03:00
< / span > < span id = "79" class = "l" > < a class = "l" href = "#79" > 79: < / a > < span class = "php-var" > $this< / span > -> load-> view(< span class = "php-quote" > 'appointments/book'< / span > , < span class = "php-var" > $view< / span > );
< / span > < span id = "80" class = "l" > < a class = "l" href = "#80" > 80: < / a >
< / span > < span id = "81" class = "l" > < a class = "l" href = "#81" > 81: < / a > } < span class = "php-keyword1" > else< / span > {
< / span > < span id = "82" class = "l" > < a class = "l" href = "#82" > 82: < / a > < span class = "php-comment" > // The page is a post-back. Register the appointment and send notification emails< / span >
< / span > < span id = "83" class = "l" > < a class = "l" href = "#83" > 83: < / a > < span class = "php-comment" > // to the provider and the customer that are related to the appointment. If google < / span >
< / span > < span id = "84" class = "l" > < a class = "l" href = "#84" > 84: < / a > < span class = "php-comment" > // sync is enabled then add the appointment to the provider's account.< / span >
< / span > < span id = "85" class = "l" > < a class = "l" href = "#85" > 85: < / a >
< / span > < span id = "86" class = "l" > < a class = "l" href = "#86" > 86: < / a > < span class = "php-keyword1" > try< / span > {
< / span > < span id = "87" class = "l" > < a class = "l" href = "#87" > 87: < / a > < span class = "php-var" > $post_data< / span > = < span class = "php-keyword2" > json_decode< / span > (< span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'post_data'< / span > ], < span class = "php-keyword1" > true< / span > );
< / span > < span id = "88" class = "l" > < a class = "l" href = "#88" > 88: < / a > < span class = "php-var" > $appointment< / span > = < span class = "php-var" > $post_data< / span > [< span class = "php-quote" > 'appointment'< / span > ];
< / span > < span id = "89" class = "l" > < a class = "l" href = "#89" > 89: < / a > < span class = "php-var" > $customer< / span > = < span class = "php-var" > $post_data< / span > [< span class = "php-quote" > 'customer'< / span > ];
< / span > < span id = "90" class = "l" > < a class = "l" href = "#90" > 90: < / a >
< / span > < span id = "91" class = "l" > < a class = "l" href = "#91" > 91: < / a > < span class = "php-var" > $customer_id< / span > = < span class = "php-var" > $this< / span > -> customers_model-> add(< span class = "php-var" > $customer< / span > );
< / span > < span id = "92" class = "l" > < a class = "l" href = "#92" > 92: < / a > < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_users_customer'< / span > ] = < span class = "php-var" > $customer_id< / span > ;
< / span > < span id = "93" class = "l" > < a class = "l" href = "#93" > 93: < / a >
< / span > < span id = "94" class = "l" > < a class = "l" href = "#94" > 94: < / a > < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id'< / span > ] = < span class = "php-var" > $this< / span > -> appointments_model-> add(< span class = "php-var" > $appointment< / span > );
< / span > < span id = "95" class = "l" > < a class = "l" href = "#95" > 95: < / a > < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'hash'< / span > ] = < span class = "php-var" > $this< / span > -> appointments_model-> get_value(< span class = "php-quote" > 'hash'< / span > , < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id'< / span > ]);
< / span > < span id = "96" class = "l" > < a class = "l" href = "#96" > 96: < / a >
< / span > < span id = "97" class = "l" > < a class = "l" href = "#97" > 97: < / a > < span class = "php-var" > $provider< / span > = < span class = "php-var" > $this< / span > -> providers_model-> get_row(< span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_users_provider'< / span > ]);
< / span > < span id = "98" class = "l" > < a class = "l" href = "#98" > 98: < / a > < span class = "php-var" > $service< / span > = < span class = "php-var" > $this< / span > -> services_model-> get_row(< span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_services'< / span > ]);
< / span > < span id = "99" class = "l" > < a class = "l" href = "#99" > 99: < / a >
< / span > < span id = "100" class = "l" > < a class = "l" href = "#100" > 100: < / a > < span class = "php-var" > $company_settings< / span > = < span class = "php-keyword1" > array< / span > (
< / span > < span id = "101" class = "l" > < a class = "l" href = "#101" > 101: < / a > < span class = "php-quote" > 'company_name'< / span > => < span class = "php-var" > $this< / span > -> settings_model-> get_setting(< span class = "php-quote" > 'company_name'< / span > ),
< / span > < span id = "102" class = "l" > < a class = "l" href = "#102" > 102: < / a > < span class = "php-quote" > 'company_link'< / span > => < span class = "php-var" > $this< / span > -> settings_model-> get_setting(< span class = "php-quote" > 'company_link'< / span > ),
< / span > < span id = "103" class = "l" > < a class = "l" href = "#103" > 103: < / a > < span class = "php-quote" > 'company_email'< / span > => < span class = "php-var" > $this< / span > -> settings_model-> get_setting(< span class = "php-quote" > 'company_email'< / span > )
< / span > < span id = "104" class = "l" > < a class = "l" href = "#104" > 104: < / a > );
< / span > < span id = "105" class = "l" > < a class = "l" href = "#105" > 105: < / a >
< / span > < span id = "106" class = "l" > < a class = "l" href = "#106" > 106: < / a > < span class = "php-comment" > // :: SYNCHRONIZE APPOINTMENT WITH PROVIDER'S GOOGLE CALENDAR< / span >
< / span > < span id = "107" class = "l" > < a class = "l" href = "#107" > 107: < / a > < span class = "php-comment" > // The provider must have previously granted access to his google calendar account < / span >
< / span > < span id = "108" class = "l" > < a class = "l" href = "#108" > 108: < / a > < span class = "php-comment" > // in order to sync the appointment.< / span >
< / span > < span id = "109" class = "l" > < a class = "l" href = "#109" > 109: < / a > < span class = "php-keyword1" > try< / span > {
< / span > < span id = "110" class = "l" > < a class = "l" href = "#110" > 110: < / a > < span class = "php-var" > $google_sync< / span > = < span class = "php-var" > $this< / span > -> providers_model-> get_setting(< span class = "php-quote" > 'google_sync'< / span > ,
< / span > < span id = "111" class = "l" > < a class = "l" href = "#111" > 111: < / a > < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_users_provider'< / span > ]);
< / span > < span id = "112" class = "l" > < a class = "l" href = "#112" > 112: < / a >
< / span > < span id = "113" class = "l" > < a class = "l" href = "#113" > 113: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $google_sync< / span > == < span class = "php-keyword1" > TRUE< / span > ) {
< / span > < span id = "114" class = "l" > < a class = "l" href = "#114" > 114: < / a > < span class = "php-var" > $google_token< / span > = < span class = "php-keyword2" > json_decode< / span > (< span class = "php-var" > $this< / span > -> providers_model
< / span > < span id = "115" class = "l" > < a class = "l" href = "#115" > 115: < / a > -> get_setting(< span class = "php-quote" > 'google_token'< / span > , < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_users_provider'< / span > ]));
< / span > < span id = "116" class = "l" > < a class = "l" href = "#116" > 116: < / a >
< / span > < span id = "117" class = "l" > < a class = "l" href = "#117" > 117: < / a > < span class = "php-var" > $this< / span > -> load-> library(< span class = "php-quote" > 'google_sync'< / span > );
< / span > < span id = "118" class = "l" > < a class = "l" href = "#118" > 118: < / a > < span class = "php-var" > $this< / span > -> google_sync-> refresh_token(< span class = "php-var" > $google_token< / span > -> refresh_token);
< / span > < span id = "119" class = "l" > < a class = "l" href = "#119" > 119: < / a >
< / span > < span id = "120" class = "l" > < a class = "l" href = "#120" > 120: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $post_data< / span > [< span class = "php-quote" > 'manage_mode'< / span > ] === < span class = "php-keyword1" > FALSE< / span > ) {
< / span > < span id = "121" class = "l" > < a class = "l" href = "#121" > 121: < / a > < span class = "php-comment" > // Add appointment to Google Calendar.< / span >
< / span > < span id = "122" class = "l" > < a class = "l" href = "#122" > 122: < / a > < span class = "php-var" > $google_event< / span > = < span class = "php-var" > $this< / span > -> google_sync-> add_appointment(< span class = "php-var" > $appointment< / span > , < span class = "php-var" > $provider< / span > ,
< / span > < span id = "123" class = "l" > < a class = "l" href = "#123" > 123: < / a > < span class = "php-var" > $service< / span > , < span class = "php-var" > $customer< / span > , < span class = "php-var" > $company_settings< / span > );
< / span > < span id = "124" class = "l" > < a class = "l" href = "#124" > 124: < / a > < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_google_calendar'< / span > ] = < span class = "php-var" > $google_event< / span > -> id;
< / span > < span id = "125" class = "l" > < a class = "l" href = "#125" > 125: < / a > < span class = "php-var" > $this< / span > -> appointments_model-> add(< span class = "php-var" > $appointment< / span > );
< / span > < span id = "126" class = "l" > < a class = "l" href = "#126" > 126: < / a > } < span class = "php-keyword1" > else< / span > {
< / span > < span id = "127" class = "l" > < a class = "l" href = "#127" > 127: < / a > < span class = "php-comment" > // Update appointment to Google Calendar.< / span >
< / span > < span id = "128" class = "l" > < a class = "l" href = "#128" > 128: < / a > < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_google_calendar'< / span > ] = < span class = "php-var" > $this< / span > -> appointments_model
< / span > < span id = "129" class = "l" > < a class = "l" href = "#129" > 129: < / a > -> get_value(< span class = "php-quote" > 'id_google_calendar'< / span > , < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id'< / span > ]);
< / span > < span id = "130" class = "l" > < a class = "l" href = "#130" > 130: < / a >
< / span > < span id = "131" class = "l" > < a class = "l" href = "#131" > 131: < / a > < span class = "php-var" > $this< / span > -> google_sync-> update_appointment(< span class = "php-var" > $appointment< / span > , < span class = "php-var" > $provider< / span > ,
< / span > < span id = "132" class = "l" > < a class = "l" href = "#132" > 132: < / a > < span class = "php-var" > $service< / span > , < span class = "php-var" > $customer< / span > , < span class = "php-var" > $company_settings< / span > );
< / span > < span id = "133" class = "l" > < a class = "l" href = "#133" > 133: < / a > }
< / span > < span id = "134" class = "l" > < a class = "l" href = "#134" > 134: < / a > }
< / span > < span id = "135" class = "l" > < a class = "l" href = "#135" > 135: < / a > } < span class = "php-keyword1" > catch< / span > (Exception < span class = "php-var" > $exc< / span > ) {
< / span > < span id = "136" class = "l" > < a class = "l" href = "#136" > 136: < / a > < span class = "php-var" > $view< / span > [< span class = "php-quote" > 'exceptions'< / span > ][] = < span class = "php-var" > $exc< / span > ;
< / span > < span id = "137" class = "l" > < a class = "l" href = "#137" > 137: < / a > }
< / span > < span id = "138" class = "l" > < a class = "l" href = "#138" > 138: < / a >
< / span > < span id = "139" class = "l" > < a class = "l" href = "#139" > 139: < / a > < span class = "php-comment" > // :: SEND NOTIFICATION EMAILS TO BOTH CUSTOMER AND PROVIDER< / span >
< / span > < span id = "140" class = "l" > < a class = "l" href = "#140" > 140: < / a > < span class = "php-keyword1" > try< / span > {
< / span > < span id = "141" class = "l" > < a class = "l" href = "#141" > 141: < / a > < span class = "php-var" > $this< / span > -> load-> library(< span class = "php-quote" > 'Notifications'< / span > );
< / span > < span id = "142" class = "l" > < a class = "l" href = "#142" > 142: < / a >
< / span > < span id = "143" class = "l" > < a class = "l" href = "#143" > 143: < / a > < span class = "php-var" > $send_provider< / span > = < span class = "php-var" > $this< / span > -> providers_model
< / span > < span id = "144" class = "l" > < a class = "l" href = "#144" > 144: < / a > -> get_setting(< span class = "php-quote" > 'notifications'< / span > , < span class = "php-var" > $provider< / span > [< span class = "php-quote" > 'id'< / span > ]);
< / span > < span id = "145" class = "l" > < a class = "l" href = "#145" > 145: < / a >
< / span > < span id = "146" class = "l" > < a class = "l" href = "#146" > 146: < / a > < span class = "php-keyword1" > if< / span > (!< span class = "php-var" > $post_data< / span > [< span class = "php-quote" > 'manage_mode'< / span > ]) {
< / span > < span id = "147" class = "l" > < a class = "l" href = "#147" > 147: < / a > < span class = "php-var" > $customer_title< / span > = < span class = "php-quote" > 'Your appointment has been successfully booked!'< / span > ;
< / span > < span id = "148" class = "l" > < a class = "l" href = "#148" > 148: < / a > < span class = "php-var" > $customer_message< / span > = < span class = "php-quote" > 'Thank you for arranging an appointment with us. '< / span >
< / span > < span id = "149" class = "l" > < a class = "l" href = "#149" > 149: < / a > . < span class = "php-quote" > 'Below you can see the appointment details. Make changes '< / span >
< / span > < span id = "150" class = "l" > < a class = "l" href = "#150" > 150: < / a > . < span class = "php-quote" > 'by clicking the appointment link.'< / span > ;
< / span > < span id = "151" class = "l" > < a class = "l" href = "#151" > 151: < / a > < span class = "php-var" > $customer_link< / span > = < span class = "php-var" > $this< / span > -> config-> item(< span class = "php-quote" > 'base_url'< / span > ) . < span class = "php-quote" > 'appointments/index/'< / span >
< / span > < span id = "152" class = "l" > < a class = "l" href = "#152" > 152: < / a > . < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'hash'< / span > ];
< / span > < span id = "153" class = "l" > < a class = "l" href = "#153" > 153: < / a >
< / span > < span id = "154" class = "l" > < a class = "l" href = "#154" > 154: < / a > < span class = "php-var" > $provider_title< / span > = < span class = "php-quote" > 'A new appointment has been added to your plan.'< / span > ;
< / span > < span id = "155" class = "l" > < a class = "l" href = "#155" > 155: < / a > < span class = "php-var" > $provider_message< / span > = < span class = "php-quote" > 'You can make changes by clicking the appointment '< / span >
< / span > < span id = "156" class = "l" > < a class = "l" href = "#156" > 156: < / a > . < span class = "php-quote" > 'link below'< / span > ;
< / span > < span id = "157" class = "l" > < a class = "l" href = "#157" > 157: < / a > < span class = "php-var" > $provider_link< / span > = < span class = "php-var" > $this< / span > -> config-> item(< span class = "php-quote" > 'base_url'< / span > ) . < span class = "php-quote" > 'backend/index/'< / span >
2013-09-13 16:21:03 +03:00
< / span > < span id = "158" class = "l" > < a class = "l" href = "#158" > 158: < / a > . < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'hash'< / span > ];
2013-10-19 13:34:32 +03:00
< / span > < span id = "159" class = "l" > < a class = "l" href = "#159" > 159: < / a > } < span class = "php-keyword1" > else< / span > {
< / span > < span id = "160" class = "l" > < a class = "l" href = "#160" > 160: < / a > < span class = "php-var" > $customer_title< / span > = < span class = "php-quote" > 'Appointment changes have been successfully saved!'< / span > ;
< / span > < span id = "161" class = "l" > < a class = "l" href = "#161" > 161: < / a > < span class = "php-var" > $customer_message< / span > = < span class = "php-quote" > ''< / span > ;
< / span > < span id = "162" class = "l" > < a class = "l" href = "#162" > 162: < / a > < span class = "php-var" > $customer_link< / span > = < span class = "php-var" > $this< / span > -> config-> item(< span class = "php-quote" > 'base_url'< / span > ) . < span class = "php-quote" > 'appointments/index/'< / span >
2013-09-13 16:21:03 +03:00
< / span > < span id = "163" class = "l" > < a class = "l" href = "#163" > 163: < / a > . < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'hash'< / span > ];
2013-10-19 13:34:32 +03:00
< / span > < span id = "164" class = "l" > < a class = "l" href = "#164" > 164: < / a >
< / span > < span id = "165" class = "l" > < a class = "l" href = "#165" > 165: < / a > < span class = "php-var" > $provider_title< / span > = < span class = "php-quote" > 'Appointment details have changed.'< / span > ;
< / span > < span id = "166" class = "l" > < a class = "l" href = "#166" > 166: < / a > < span class = "php-var" > $provider_message< / span > = < span class = "php-quote" > ''< / span > ;
< / span > < span id = "167" class = "l" > < a class = "l" href = "#167" > 167: < / a > < span class = "php-var" > $provider_link< / span > = < span class = "php-var" > $this< / span > -> config-> item(< span class = "php-quote" > 'base_url'< / span > ) . < span class = "php-quote" > 'backend/index/'< / span >
< / span > < span id = "168" class = "l" > < a class = "l" href = "#168" > 168: < / a > . < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'hash'< / span > ];
< / span > < span id = "169" class = "l" > < a class = "l" href = "#169" > 169: < / a > }
< / span > < span id = "170" class = "l" > < a class = "l" href = "#170" > 170: < / a >
< / span > < span id = "171" class = "l" > < a class = "l" href = "#171" > 171: < / a > < span class = "php-var" > $this< / span > -> notifications-> send_appointment_details(< span class = "php-var" > $appointment< / span > , < span class = "php-var" > $provider< / span > ,
< / span > < span id = "172" class = "l" > < a class = "l" href = "#172" > 172: < / a > < span class = "php-var" > $service< / span > , < span class = "php-var" > $customer< / span > ,< span class = "php-var" > $company_settings< / span > , < span class = "php-var" > $customer_title< / span > ,
< / span > < span id = "173" class = "l" > < a class = "l" href = "#173" > 173: < / a > < span class = "php-var" > $customer_message< / span > , < span class = "php-var" > $customer_link< / span > , < span class = "php-var" > $customer< / span > [< span class = "php-quote" > 'email'< / span > ]);
< / span > < span id = "174" class = "l" > < a class = "l" href = "#174" > 174: < / a >
< / span > < span id = "175" class = "l" > < a class = "l" href = "#175" > 175: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $send_provider< / span > == < span class = "php-keyword1" > TRUE< / span > ) {
< / span > < span id = "176" class = "l" > < a class = "l" href = "#176" > 176: < / a > < span class = "php-var" > $this< / span > -> notifications-> send_appointment_details(< span class = "php-var" > $appointment< / span > , < span class = "php-var" > $provider< / span > ,
< / span > < span id = "177" class = "l" > < a class = "l" href = "#177" > 177: < / a > < span class = "php-var" > $service< / span > , < span class = "php-var" > $customer< / span > , < span class = "php-var" > $company_settings< / span > , < span class = "php-var" > $provider_title< / span > ,
< / span > < span id = "178" class = "l" > < a class = "l" href = "#178" > 178: < / a > < span class = "php-var" > $provider_message< / span > , < span class = "php-var" > $provider_link< / span > , < span class = "php-var" > $provider< / span > [< span class = "php-quote" > 'email'< / span > ]);
< / span > < span id = "179" class = "l" > < a class = "l" href = "#179" > 179: < / a > }
< / span > < span id = "180" class = "l" > < a class = "l" href = "#180" > 180: < / a > } < span class = "php-keyword1" > catch< / span > (Exception < span class = "php-var" > $exc< / span > ) {
< / span > < span id = "181" class = "l" > < a class = "l" href = "#181" > 181: < / a > < span class = "php-var" > $view< / span > [< span class = "php-quote" > 'exceptions'< / span > ][] = < span class = "php-var" > $exc< / span > ;
< / span > < span id = "182" class = "l" > < a class = "l" href = "#182" > 182: < / a > }
< / span > < span id = "183" class = "l" > < a class = "l" href = "#183" > 183: < / a >
< / span > < span id = "184" class = "l" > < a class = "l" href = "#184" > 184: < / a > < span class = "php-comment" > // :: LOAD THE BOOK SUCCESS VIEW< / span >
< / span > < span id = "185" class = "l" > < a class = "l" href = "#185" > 185: < / a > < span class = "php-var" > $view< / span > = < span class = "php-keyword1" > array< / span > (
< / span > < span id = "186" class = "l" > < a class = "l" href = "#186" > 186: < / a > < span class = "php-quote" > 'appointment_data'< / span > => < span class = "php-var" > $appointment< / span > ,
< / span > < span id = "187" class = "l" > < a class = "l" href = "#187" > 187: < / a > < span class = "php-quote" > 'provider_data'< / span > => < span class = "php-var" > $provider< / span > ,
< / span > < span id = "188" class = "l" > < a class = "l" href = "#188" > 188: < / a > < span class = "php-quote" > 'service_data'< / span > => < span class = "php-var" > $service< / span > ,
< / span > < span id = "189" class = "l" > < a class = "l" href = "#189" > 189: < / a > < span class = "php-quote" > 'company_name'< / span > => < span class = "php-var" > $company_settings< / span > [< span class = "php-quote" > 'company_name'< / span > ]
< / span > < span id = "190" class = "l" > < a class = "l" href = "#190" > 190: < / a > );
< / span > < span id = "191" class = "l" > < a class = "l" href = "#191" > 191: < / a >
< / span > < span id = "192" class = "l" > < a class = "l" href = "#192" > 192: < / a > } < span class = "php-keyword1" > catch< / span > (Exception < span class = "php-var" > $exc< / span > ) {
< / span > < span id = "193" class = "l" > < a class = "l" href = "#193" > 193: < / a > < span class = "php-var" > $view< / span > [< span class = "php-quote" > 'exceptions'< / span > ][] = < span class = "php-var" > $exc< / span > ;
< / span > < span id = "194" class = "l" > < a class = "l" href = "#194" > 194: < / a > }
< / span > < span id = "195" class = "l" > < a class = "l" href = "#195" > 195: < / a >
< / span > < span id = "196" class = "l" > < a class = "l" href = "#196" > 196: < / a > < span class = "php-var" > $this< / span > -> load-> view(< span class = "php-quote" > 'appointments/book_success'< / span > , < span class = "php-var" > $view< / span > );
< / span > < span id = "197" class = "l" > < a class = "l" href = "#197" > 197: < / a > }
< / span > < span id = "198" class = "l" > < a class = "l" href = "#198" > 198: < / a > }
< / span > < span id = "199" class = "l" > < a class = "l" href = "#199" > 199: < / a >
< / span > < span id = "200" class = "l" > < a class = "l" href = "#200" > 200: < / a > < span class = "php-comment" > /**
< / span > < / span > < span id = "201" class = "l" > < a class = "l" href = "#201" > 201: < / a > < span class = "php-comment" > * Cancel an existing appointment.
< / span > < / span > < span id = "202" class = "l" > < a class = "l" href = "#202" > 202: < / a > < span class = "php-comment" > *
< / span > < / span > < span id = "203" class = "l" > < a class = "l" href = "#203" > 203: < / a > < span class = "php-comment" > * This method removes an appointment from the company's schedule.
< / span > < / span > < span id = "204" class = "l" > < a class = "l" href = "#204" > 204: < / a > < span class = "php-comment" > * In order for the appointment to be deleted, the hash string must
< / span > < / span > < span id = "205" class = "l" > < a class = "l" href = "#205" > 205: < / a > < span class = "php-comment" > * be provided. The customer can only cancel the appointment if the
< / span > < / span > < span id = "206" class = "l" > < a class = "l" href = "#206" > 206: < / a > < span class = "php-comment" > * edit time period is not over yet.
< / span > < / span > < span id = "207" class = "l" > < a class = "l" href = "#207" > 207: < / a > < span class = "php-comment" > *
< / span > < / span > < span id = "208" class = "l" > < a class = "l" href = "#208" > 208: < / a > < span class = "php-comment" > * @param string $appointment_hash This is used to distinguish the
< / span > < / span > < span id = "209" class = "l" > < a class = "l" href = "#209" > 209: < / a > < span class = "php-comment" > * appointment record.
< / span > < / span > < span id = "210" class = "l" > < a class = "l" href = "#210" > 210: < / a > < span class = "php-comment" > * @param string $_POST['cancel_reason'] The text that describes why
< / span > < / span > < span id = "211" class = "l" > < a class = "l" href = "#211" > 211: < / a > < span class = "php-comment" > * the customer cancelled the appointment.
< / span > < / span > < span id = "212" class = "l" > < a class = "l" href = "#212" > 212: < / a > < span class = "php-comment" > */< / span >
< / span > < span id = "213" class = "l" > < a class = "l" href = "#213" > 213: < / a > < span class = "php-keyword1" > public< / span > < span class = "php-keyword1" > function< / span > < a id = "_cancel" href = "#_cancel" > cancel< / a > (< span class = "php-var" > $appointment_hash< / span > ) {
< / span > < span id = "214" class = "l" > < a class = "l" href = "#214" > 214: < / a > < span class = "php-keyword1" > try< / span > {
< / span > < span id = "215" class = "l" > < a class = "l" href = "#215" > 215: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'appointments_model'< / span > );
< / span > < span id = "216" class = "l" > < a class = "l" href = "#216" > 216: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'providers_model'< / span > );
< / span > < span id = "217" class = "l" > < a class = "l" href = "#217" > 217: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'customers_model'< / span > );
< / span > < span id = "218" class = "l" > < a class = "l" href = "#218" > 218: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'services_model'< / span > );
< / span > < span id = "219" class = "l" > < a class = "l" href = "#219" > 219: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'settings_model'< / span > );
< / span > < span id = "220" class = "l" > < a class = "l" href = "#220" > 220: < / a >
< / span > < span id = "221" class = "l" > < a class = "l" href = "#221" > 221: < / a > < span class = "php-comment" > // Check whether the appointment hash exists in the database.< / span >
< / span > < span id = "222" class = "l" > < a class = "l" href = "#222" > 222: < / a > < span class = "php-var" > $records< / span > = < span class = "php-var" > $this< / span > -> appointments_model-> get_batch(< span class = "php-keyword1" > array< / span > (< span class = "php-quote" > 'hash'< / span > => < span class = "php-var" > $appointment_hash< / span > ));
< / span > < span id = "223" class = "l" > < a class = "l" href = "#223" > 223: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-keyword2" > count< / span > (< span class = "php-var" > $records< / span > ) == < span class = "php-num" > 0< / span > ) {
< / span > < span id = "224" class = "l" > < a class = "l" href = "#224" > 224: < / a > < span class = "php-keyword1" > throw< / span > < span class = "php-keyword1" > new< / span > Exception(< span class = "php-quote" > 'No record matches the provided hash.'< / span > );
< / span > < span id = "225" class = "l" > < a class = "l" href = "#225" > 225: < / a > }
< / span > < span id = "226" class = "l" > < a class = "l" href = "#226" > 226: < / a >
< / span > < span id = "227" class = "l" > < a class = "l" href = "#227" > 227: < / a > < span class = "php-var" > $appointment< / span > = < span class = "php-var" > $records< / span > [< span class = "php-num" > 0< / span > ];
< / span > < span id = "228" class = "l" > < a class = "l" href = "#228" > 228: < / a > < span class = "php-var" > $provider< / span > = < span class = "php-var" > $this< / span > -> providers_model-> get_row(< span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_users_provider'< / span > ]);
< / span > < span id = "229" class = "l" > < a class = "l" href = "#229" > 229: < / a > < span class = "php-var" > $customer< / span > = < span class = "php-var" > $this< / span > -> customers_model-> get_row(< span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_users_customer'< / span > ]);
< / span > < span id = "230" class = "l" > < a class = "l" href = "#230" > 230: < / a > < span class = "php-var" > $service< / span > = < span class = "php-var" > $this< / span > -> services_model-> get_row(< span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_services'< / span > ]);
< / span > < span id = "231" class = "l" > < a class = "l" href = "#231" > 231: < / a >
< / span > < span id = "232" class = "l" > < a class = "l" href = "#232" > 232: < / a > < span class = "php-var" > $company_settings< / span > = < span class = "php-keyword1" > array< / span > (
< / span > < span id = "233" class = "l" > < a class = "l" href = "#233" > 233: < / a > < span class = "php-quote" > 'company_name'< / span > => < span class = "php-var" > $this< / span > -> settings_model-> get_setting(< span class = "php-quote" > 'company_name'< / span > ),
< / span > < span id = "234" class = "l" > < a class = "l" href = "#234" > 234: < / a > < span class = "php-quote" > 'company_email'< / span > => < span class = "php-var" > $this< / span > -> settings_model-> get_setting(< span class = "php-quote" > 'company_email'< / span > ),
< / span > < span id = "235" class = "l" > < a class = "l" href = "#235" > 235: < / a > < span class = "php-quote" > 'company_link'< / span > => < span class = "php-var" > $this< / span > -> settings_model-> get_setting(< span class = "php-quote" > 'company_link'< / span > )
< / span > < span id = "236" class = "l" > < a class = "l" href = "#236" > 236: < / a > );
< / span > < span id = "237" class = "l" > < a class = "l" href = "#237" > 237: < / a >
< / span > < span id = "238" class = "l" > < a class = "l" href = "#238" > 238: < / a > < span class = "php-comment" > // :: DELETE APPOINTMENT RECORD FROM THE DATABASE.< / span >
< / span > < span id = "239" class = "l" > < a class = "l" href = "#239" > 239: < / a > < span class = "php-keyword1" > if< / span > (!< span class = "php-var" > $this< / span > -> appointments_model-> < span class = "php-keyword2" > delete< / span > (< span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id'< / span > ])) {
< / span > < span id = "240" class = "l" > < a class = "l" href = "#240" > 240: < / a > < span class = "php-keyword1" > throw< / span > < span class = "php-keyword1" > new< / span > Exception(< span class = "php-quote" > 'Appointment could not be deleted from the database.'< / span > );
< / span > < span id = "241" class = "l" > < a class = "l" href = "#241" > 241: < / a > }
< / span > < span id = "242" class = "l" > < a class = "l" href = "#242" > 242: < / a >
< / span > < span id = "243" class = "l" > < a class = "l" href = "#243" > 243: < / a > < span class = "php-comment" > // :: SYNC APPOINTMENT REMOVAL WITH GOOGLE CALENDAR< / span >
< / span > < span id = "244" class = "l" > < a class = "l" href = "#244" > 244: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_google_calendar'< / span > ] != < span class = "php-keyword1" > NULL< / span > ) {
< / span > < span id = "245" class = "l" > < a class = "l" href = "#245" > 245: < / a > < span class = "php-keyword1" > try< / span > {
< / span > < span id = "246" class = "l" > < a class = "l" href = "#246" > 246: < / a > < span class = "php-var" > $google_sync< / span > = < span class = "php-var" > $this< / span > -> providers_model-> get_setting(< span class = "php-quote" > 'google_sync'< / span > ,
< / span > < span id = "247" class = "l" > < a class = "l" href = "#247" > 247: < / a > < span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_users_provider'< / span > ]);
< / span > < span id = "248" class = "l" > < a class = "l" href = "#248" > 248: < / a >
< / span > < span id = "249" class = "l" > < a class = "l" href = "#249" > 249: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $google_sync< / span > == < span class = "php-keyword1" > TRUE< / span > ) {
< / span > < span id = "250" class = "l" > < a class = "l" href = "#250" > 250: < / a > < span class = "php-var" > $google_token< / span > = < span class = "php-keyword2" > json_decode< / span > (< span class = "php-var" > $this< / span > -> providers_model
< / span > < span id = "251" class = "l" > < a class = "l" href = "#251" > 251: < / a > -> get_setting(< span class = "php-quote" > 'google_token'< / span > , < span class = "php-var" > $provider< / span > [< span class = "php-quote" > 'id'< / span > ]));
< / span > < span id = "252" class = "l" > < a class = "l" href = "#252" > 252: < / a > < span class = "php-var" > $this< / span > -> load-> library(< span class = "php-quote" > 'Google_Sync'< / span > );
< / span > < span id = "253" class = "l" > < a class = "l" href = "#253" > 253: < / a > < span class = "php-var" > $this< / span > -> google_sync-> refresh_token(< span class = "php-var" > $google_token< / span > -> refresh_token);
< / span > < span id = "254" class = "l" > < a class = "l" href = "#254" > 254: < / a > < span class = "php-var" > $this< / span > -> google_sync-> delete_appointment(< span class = "php-var" > $appointment< / span > [< span class = "php-quote" > 'id_google_calendar'< / span > ]);
< / span > < span id = "255" class = "l" > < a class = "l" href = "#255" > 255: < / a > }
< / span > < span id = "256" class = "l" > < a class = "l" href = "#256" > 256: < / a > } < span class = "php-keyword1" > catch< / span > (Exception < span class = "php-var" > $exc< / span > ) {
< / span > < span id = "257" class = "l" > < a class = "l" href = "#257" > 257: < / a > < span class = "php-var" > $exceptions< / span > [] = < span class = "php-var" > $exc< / span > ;
< / span > < span id = "258" class = "l" > < a class = "l" href = "#258" > 258: < / a > }
< / span > < span id = "259" class = "l" > < a class = "l" href = "#259" > 259: < / a > }
< / span > < span id = "260" class = "l" > < a class = "l" href = "#260" > 260: < / a >
< / span > < span id = "261" class = "l" > < a class = "l" href = "#261" > 261: < / a > < span class = "php-comment" > // :: SEND NOTIFICATION EMAILS TO CUSTOMER AND PROVIDER < / span >
< / span > < span id = "262" class = "l" > < a class = "l" href = "#262" > 262: < / a > < span class = "php-keyword1" > try< / span > {
< / span > < span id = "263" class = "l" > < a class = "l" href = "#263" > 263: < / a > < span class = "php-var" > $this< / span > -> load-> library(< span class = "php-quote" > 'Notifications'< / span > );
< / span > < span id = "264" class = "l" > < a class = "l" href = "#264" > 264: < / a >
< / span > < span id = "265" class = "l" > < a class = "l" href = "#265" > 265: < / a > < span class = "php-var" > $send_provider< / span > = < span class = "php-var" > $this< / span > -> providers_model
< / span > < span id = "266" class = "l" > < a class = "l" href = "#266" > 266: < / a > -> get_setting(< span class = "php-quote" > 'notifications'< / span > , < span class = "php-var" > $provider< / span > [< span class = "php-quote" > 'id'< / span > ]);
< / span > < span id = "267" class = "l" > < a class = "l" href = "#267" > 267: < / a >
< / span > < span id = "268" class = "l" > < a class = "l" href = "#268" > 268: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $send_provider< / span > == < span class = "php-keyword1" > TRUE< / span > ) {
< / span > < span id = "269" class = "l" > < a class = "l" href = "#269" > 269: < / a > < span class = "php-var" > $this< / span > -> notifications-> send_delete_appointment(< span class = "php-var" > $appointment< / span > , < span class = "php-var" > $provider< / span > ,
< / span > < span id = "270" class = "l" > < a class = "l" href = "#270" > 270: < / a > < span class = "php-var" > $service< / span > , < span class = "php-var" > $customer< / span > , < span class = "php-var" > $company_settings< / span > , < span class = "php-var" > $provider< / span > [< span class = "php-quote" > 'email'< / span > ],
< / span > < span id = "271" class = "l" > < a class = "l" href = "#271" > 271: < / a > < span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'cancel_reason'< / span > ]);
< / span > < span id = "272" class = "l" > < a class = "l" href = "#272" > 272: < / a > }
< / span > < span id = "273" class = "l" > < a class = "l" href = "#273" > 273: < / a >
< / span > < span id = "274" class = "l" > < a class = "l" href = "#274" > 274: < / a > < span class = "php-var" > $this< / span > -> notifications-> send_delete_appointment(< span class = "php-var" > $appointment< / span > , < span class = "php-var" > $provider< / span > ,
< / span > < span id = "275" class = "l" > < a class = "l" href = "#275" > 275: < / a > < span class = "php-var" > $service< / span > , < span class = "php-var" > $customer< / span > , < span class = "php-var" > $company_settings< / span > , < span class = "php-var" > $customer< / span > [< span class = "php-quote" > 'email'< / span > ],
< / span > < span id = "276" class = "l" > < a class = "l" href = "#276" > 276: < / a > < span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'cancel_reason'< / span > ]);
< / span > < span id = "277" class = "l" > < a class = "l" href = "#277" > 277: < / a > } < span class = "php-keyword1" > catch< / span > (Exception < span class = "php-var" > $exc< / span > ) {
< / span > < span id = "278" class = "l" > < a class = "l" href = "#278" > 278: < / a > < span class = "php-var" > $exceptions< / span > [] = < span class = "php-var" > $exc< / span > ;
< / span > < span id = "279" class = "l" > < a class = "l" href = "#279" > 279: < / a > }
< / span > < span id = "280" class = "l" > < a class = "l" href = "#280" > 280: < / a > } < span class = "php-keyword1" > catch< / span > (Exception < span class = "php-var" > $exc< / span > ) {
< / span > < span id = "281" class = "l" > < a class = "l" href = "#281" > 281: < / a > < span class = "php-comment" > // Display the error message to the customer.< / span >
< / span > < span id = "282" class = "l" > < a class = "l" href = "#282" > 282: < / a > < span class = "php-var" > $exceptions< / span > [] = < span class = "php-var" > $exc< / span > ;
< / span > < span id = "283" class = "l" > < a class = "l" href = "#283" > 283: < / a > }
< / span > < span id = "284" class = "l" > < a class = "l" href = "#284" > 284: < / a >
< / span > < span id = "285" class = "l" > < a class = "l" href = "#285" > 285: < / a > < span class = "php-var" > $view< / span > = < span class = "php-keyword1" > array< / span > ();
< / span > < span id = "286" class = "l" > < a class = "l" href = "#286" > 286: < / a >
< / span > < span id = "287" class = "l" > < a class = "l" href = "#287" > 287: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-keyword1" > isset< / span > (< span class = "php-var" > $exceptions< / span > )) {
< / span > < span id = "288" class = "l" > < a class = "l" href = "#288" > 288: < / a > < span class = "php-var" > $view< / span > [< span class = "php-quote" > 'exceptions'< / span > ] = < span class = "php-var" > $exceptions< / span > ;
< / span > < span id = "289" class = "l" > < a class = "l" href = "#289" > 289: < / a > }
< / span > < span id = "290" class = "l" > < a class = "l" href = "#290" > 290: < / a >
< / span > < span id = "291" class = "l" > < a class = "l" href = "#291" > 291: < / a > < span class = "php-var" > $this< / span > -> load-> view(< span class = "php-quote" > 'appointments/cancel'< / span > , < span class = "php-var" > $view< / span > );
< / span > < span id = "292" class = "l" > < a class = "l" href = "#292" > 292: < / a > }
< / span > < span id = "293" class = "l" > < a class = "l" href = "#293" > 293: < / a >
< / span > < span id = "294" class = "l" > < a class = "l" href = "#294" > 294: < / a > < span class = "php-comment" > /**
< / span > < / span > < span id = "295" class = "l" > < a class = "l" href = "#295" > 295: < / a > < span class = "php-comment" > * [AJAX] Get the available appointment hours for the given date.
< / span > < / span > < span id = "296" class = "l" > < a class = "l" href = "#296" > 296: < / a > < span class = "php-comment" > *
< / span > < / span > < span id = "297" class = "l" > < a class = "l" href = "#297" > 297: < / a > < span class = "php-comment" > * This method answers to an AJAX request. It calculates the available hours
< / span > < / span > < span id = "298" class = "l" > < a class = "l" href = "#298" > 298: < / a > < span class = "php-comment" > * for thegiven service, provider and date.
< / span > < / span > < span id = "299" class = "l" > < a class = "l" href = "#299" > 299: < / a > < span class = "php-comment" > *
< / span > < / span > < span id = "300" class = "l" > < a class = "l" href = "#300" > 300: < / a > < span class = "php-comment" > * @param numeric $_POST['service_id'] The selected service's record id.
< / span > < / span > < span id = "301" class = "l" > < a class = "l" href = "#301" > 301: < / a > < span class = "php-comment" > * @param numeric $_POST['provider_id'] The selected provider's record id.
< / span > < / span > < span id = "302" class = "l" > < a class = "l" href = "#302" > 302: < / a > < span class = "php-comment" > * @param string $_POST['selected_date'] The selected date of which the
< / span > < / span > < span id = "303" class = "l" > < a class = "l" href = "#303" > 303: < / a > < span class = "php-comment" > * available hours we want to see.
< / span > < / span > < span id = "304" class = "l" > < a class = "l" href = "#304" > 304: < / a > < span class = "php-comment" > * @param numeric $_POST['service_duration'] The selected service duration in
< / span > < / span > < span id = "305" class = "l" > < a class = "l" href = "#305" > 305: < / a > < span class = "php-comment" > * minutes.
< / span > < / span > < span id = "306" class = "l" > < a class = "l" href = "#306" > 306: < / a > < span class = "php-comment" > * @param string $$_POST['manage_mode'] Contains either 'true' or 'false' and determines
< / span > < / span > < span id = "307" class = "l" > < a class = "l" href = "#307" > 307: < / a > < span class = "php-comment" > * the if current user is managing an already booked appointment or not.
< / span > < / span > < span id = "308" class = "l" > < a class = "l" href = "#308" > 308: < / a > < span class = "php-comment" > * @return Returns a json object with the available hours.
< / span > < / span > < span id = "309" class = "l" > < a class = "l" href = "#309" > 309: < / a > < span class = "php-comment" > */< / span >
< / span > < span id = "310" class = "l" > < a class = "l" href = "#310" > 310: < / a > < span class = "php-keyword1" > public< / span > < span class = "php-keyword1" > function< / span > < a id = "_ajax_get_available_hours" href = "#_ajax_get_available_hours" > ajax_get_available_hours< / a > () {
< / span > < span id = "311" class = "l" > < a class = "l" href = "#311" > 311: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'providers_model'< / span > );
< / span > < span id = "312" class = "l" > < a class = "l" href = "#312" > 312: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'appointments_model'< / span > );
< / span > < span id = "313" class = "l" > < a class = "l" href = "#313" > 313: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'settings_model'< / span > );
< / span > < span id = "314" class = "l" > < a class = "l" href = "#314" > 314: < / a >
< / span > < span id = "315" class = "l" > < a class = "l" href = "#315" > 315: < / a > < span class = "php-keyword1" > try< / span > {
< / span > < span id = "316" class = "l" > < a class = "l" href = "#316" > 316: < / a > < span class = "php-comment" > // If manage mode is TRUE then the following we should not consider the selected < / span >
< / span > < span id = "317" class = "l" > < a class = "l" href = "#317" > 317: < / a > < span class = "php-comment" > // appointment when calculating the available time periods of the provider.< / span >
< / span > < span id = "318" class = "l" > < a class = "l" href = "#318" > 318: < / a > < span class = "php-var" > $exclude_appointments< / span > = (< span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'manage_mode'< / span > ] === < span class = "php-quote" > 'true'< / span > )
< / span > < span id = "319" class = "l" > < a class = "l" href = "#319" > 319: < / a > ? < span class = "php-keyword1" > array< / span > (< span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'appointment_id'< / span > ])
< / span > < span id = "320" class = "l" > < a class = "l" href = "#320" > 320: < / a > : < span class = "php-keyword1" > array< / span > ();
< / span > < span id = "321" class = "l" > < a class = "l" href = "#321" > 321: < / a >
< / span > < span id = "322" class = "l" > < a class = "l" href = "#322" > 322: < / a > < span class = "php-var" > $empty_periods< / span > = < span class = "php-var" > $this< / span > -> get_provider_available_time_periods(< span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'provider_id'< / span > ],
< / span > < span id = "323" class = "l" > < a class = "l" href = "#323" > 323: < / a > < span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'selected_date'< / span > ], < span class = "php-var" > $exclude_appointments< / span > );
< / span > < span id = "324" class = "l" > < a class = "l" href = "#324" > 324: < / a >
< / span > < span id = "325" class = "l" > < a class = "l" href = "#325" > 325: < / a > < span class = "php-comment" > // Calculate the available appointment hours for the given date. The empty spaces < / span >
< / span > < span id = "326" class = "l" > < a class = "l" href = "#326" > 326: < / a > < span class = "php-comment" > // are broken down to 15 min and if the service fit in each quarter then a new < / span >
< / span > < span id = "327" class = "l" > < a class = "l" href = "#327" > 327: < / a > < span class = "php-comment" > // available hour is added to the " $available_hours" array.< / span >
< / span > < span id = "328" class = "l" > < a class = "l" href = "#328" > 328: < / a >
< / span > < span id = "329" class = "l" > < a class = "l" href = "#329" > 329: < / a > < span class = "php-var" > $available_hours< / span > = < span class = "php-keyword1" > array< / span > ();
< / span > < span id = "330" class = "l" > < a class = "l" href = "#330" > 330: < / a >
< / span > < span id = "331" class = "l" > < a class = "l" href = "#331" > 331: < / a > < span class = "php-keyword1" > foreach< / span > (< span class = "php-var" > $empty_periods< / span > < span class = "php-keyword1" > as< / span > < span class = "php-var" > $period< / span > ) {
< / span > < span id = "332" class = "l" > < a class = "l" href = "#332" > 332: < / a > < span class = "php-var" > $start_hour< / span > = < span class = "php-keyword1" > new< / span > DateTime(< span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'selected_date'< / span > ] . < span class = "php-quote" > ' '< / span > . < span class = "php-var" > $period< / span > [< span class = "php-quote" > 'start'< / span > ]);
< / span > < span id = "333" class = "l" > < a class = "l" href = "#333" > 333: < / a > < span class = "php-var" > $end_hour< / span > = < span class = "php-keyword1" > new< / span > DateTime(< span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'selected_date'< / span > ] . < span class = "php-quote" > ' '< / span > . < span class = "php-var" > $period< / span > [< span class = "php-quote" > 'end'< / span > ]);
< / span > < span id = "334" class = "l" > < a class = "l" href = "#334" > 334: < / a >
< / span > < span id = "335" class = "l" > < a class = "l" href = "#335" > 335: < / a > < span class = "php-var" > $minutes< / span > = < span class = "php-var" > $start_hour< / span > -> format(< span class = "php-quote" > 'i'< / span > );
2013-09-13 16:21:03 +03:00
< / span > < span id = "336" class = "l" > < a class = "l" href = "#336" > 336: < / a >
2013-10-19 13:34:32 +03:00
< / span > < span id = "337" class = "l" > < a class = "l" href = "#337" > 337: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $minutes< / span > % < span class = "php-num" > 15< / span > != < span class = "php-num" > 0< / span > ) {
< / span > < span id = "338" class = "l" > < a class = "l" href = "#338" > 338: < / a > < span class = "php-comment" > // Change the start hour of the current space in order to be< / span >
< / span > < span id = "339" class = "l" > < a class = "l" href = "#339" > 339: < / a > < span class = "php-comment" > // on of the following: 00, 15, 30, 45.< / span >
< / span > < span id = "340" class = "l" > < a class = "l" href = "#340" > 340: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $minutes< / span > < < span class = "php-num" > 15< / span > ) {
< / span > < span id = "341" class = "l" > < a class = "l" href = "#341" > 341: < / a > < span class = "php-var" > $start_hour< / span > -> setTime(< span class = "php-var" > $start_hour< / span > -> format(< span class = "php-quote" > 'H'< / span > ), < span class = "php-num" > 15< / span > );
< / span > < span id = "342" class = "l" > < a class = "l" href = "#342" > 342: < / a > } < span class = "php-keyword1" > else< / span > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $minutes< / span > < < span class = "php-num" > 30< / span > ) {
< / span > < span id = "343" class = "l" > < a class = "l" href = "#343" > 343: < / a > < span class = "php-var" > $start_hour< / span > -> setTime(< span class = "php-var" > $start_hour< / span > -> format(< span class = "php-quote" > 'H'< / span > ), < span class = "php-num" > 30< / span > );
< / span > < span id = "344" class = "l" > < a class = "l" href = "#344" > 344: < / a > } < span class = "php-keyword1" > else< / span > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $minutes< / span > < < span class = "php-num" > 45< / span > ) {
< / span > < span id = "345" class = "l" > < a class = "l" href = "#345" > 345: < / a > < span class = "php-var" > $start_hour< / span > -> setTime(< span class = "php-var" > $start_hour< / span > -> format(< span class = "php-quote" > 'H'< / span > ), < span class = "php-num" > 45< / span > );
< / span > < span id = "346" class = "l" > < a class = "l" href = "#346" > 346: < / a > } < span class = "php-keyword1" > else< / span > {
< / span > < span id = "347" class = "l" > < a class = "l" href = "#347" > 347: < / a > < span class = "php-var" > $start_hour< / span > -> setTime(< span class = "php-var" > $start_hour< / span > -> format(< span class = "php-quote" > 'H'< / span > ) + < span class = "php-num" > 1< / span > , < span class = "php-num" > 00< / span > );
< / span > < span id = "348" class = "l" > < a class = "l" href = "#348" > 348: < / a > }
< / span > < span id = "349" class = "l" > < a class = "l" href = "#349" > 349: < / a > }
< / span > < span id = "350" class = "l" > < a class = "l" href = "#350" > 350: < / a >
< / span > < span id = "351" class = "l" > < a class = "l" href = "#351" > 351: < / a > < span class = "php-var" > $current_hour< / span > = < span class = "php-var" > $start_hour< / span > ;
< / span > < span id = "352" class = "l" > < a class = "l" href = "#352" > 352: < / a > < span class = "php-var" > $diff< / span > = < span class = "php-var" > $current_hour< / span > -> diff(< span class = "php-var" > $end_hour< / span > );
< / span > < span id = "353" class = "l" > < a class = "l" href = "#353" > 353: < / a >
< / span > < span id = "354" class = "l" > < a class = "l" href = "#354" > 354: < / a > < span class = "php-keyword1" > while< / span > ((< span class = "php-var" > $diff< / span > -> h * < span class = "php-num" > 60< / span > + < span class = "php-var" > $diff< / span > -> i) > < span class = "php-keyword2" > intval< / span > (< span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'service_duration'< / span > ])) {
< / span > < span id = "355" class = "l" > < a class = "l" href = "#355" > 355: < / a > < span class = "php-var" > $available_hours< / span > [] = < span class = "php-var" > $current_hour< / span > -> format(< span class = "php-quote" > 'H:i'< / span > );
< / span > < span id = "356" class = "l" > < a class = "l" href = "#356" > 356: < / a > < span class = "php-var" > $current_hour< / span > -> add(< span class = "php-keyword1" > new< / span > DateInterval(< span class = "php-quote" > " PT15M" < / span > ));
< / span > < span id = "357" class = "l" > < a class = "l" href = "#357" > 357: < / a > < span class = "php-var" > $diff< / span > = < span class = "php-var" > $current_hour< / span > -> diff(< span class = "php-var" > $end_hour< / span > );
< / span > < span id = "358" class = "l" > < a class = "l" href = "#358" > 358: < / a > }
< / span > < span id = "359" class = "l" > < a class = "l" href = "#359" > 359: < / a > }
< / span > < span id = "360" class = "l" > < a class = "l" href = "#360" > 360: < / a >
< / span > < span id = "361" class = "l" > < a class = "l" href = "#361" > 361: < / a > < span class = "php-comment" > // If the selected date is today, remove past hours. It is important < / span >
< / span > < span id = "362" class = "l" > < a class = "l" href = "#362" > 362: < / a > < span class = "php-comment" > // include the timeout before booking that is set in the backoffice< / span >
< / span > < span id = "363" class = "l" > < a class = "l" href = "#363" > 363: < / a > < span class = "php-comment" > // the system. Normally we might want the customer to book an appointment< / span >
< / span > < span id = "364" class = "l" > < a class = "l" href = "#364" > 364: < / a > < span class = "php-comment" > // that is at least half or one hour from now. The setting is stored in < / span >
< / span > < span id = "365" class = "l" > < a class = "l" href = "#365" > 365: < / a > < span class = "php-comment" > // minutes.< / span >
< / span > < span id = "366" class = "l" > < a class = "l" href = "#366" > 366: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'm/d/Y'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'selected_date'< / span > ])) == < span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'm/d/Y'< / span > )) {
< / span > < span id = "367" class = "l" > < a class = "l" href = "#367" > 367: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'manage_mode'< / span > ] === < span class = "php-quote" > 'true'< / span > ) {
< / span > < span id = "368" class = "l" > < a class = "l" href = "#368" > 368: < / a > < span class = "php-var" > $book_advance_timeout< / span > = < span class = "php-num" > 0< / span > ;
< / span > < span id = "369" class = "l" > < a class = "l" href = "#369" > 369: < / a > } < span class = "php-keyword1" > else< / span > {
< / span > < span id = "370" class = "l" > < a class = "l" href = "#370" > 370: < / a > < span class = "php-var" > $book_advance_timeout< / span > = < span class = "php-var" > $this< / span > -> settings_model-> get_setting(< span class = "php-quote" > 'book_advance_timeout'< / span > );
< / span > < span id = "371" class = "l" > < a class = "l" href = "#371" > 371: < / a > }
< / span > < span id = "372" class = "l" > < a class = "l" href = "#372" > 372: < / a >
< / span > < span id = "373" class = "l" > < a class = "l" href = "#373" > 373: < / a > < span class = "php-keyword1" > foreach< / span > (< span class = "php-var" > $available_hours< / span > < span class = "php-keyword1" > as< / span > < span class = "php-var" > $index< / span > => < span class = "php-var" > $value< / span > ) {
< / span > < span id = "374" class = "l" > < a class = "l" href = "#374" > 374: < / a > < span class = "php-var" > $available_hour< / span > = < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $value< / span > );
< / span > < span id = "375" class = "l" > < a class = "l" href = "#375" > 375: < / a > < span class = "php-var" > $current_hour< / span > = < span class = "php-keyword2" > strtotime< / span > (< span class = "php-quote" > '+'< / span > . < span class = "php-var" > $book_advance_timeout< / span > . < span class = "php-quote" > ' minutes'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-quote" > 'now'< / span > ));
< / span > < span id = "376" class = "l" > < a class = "l" href = "#376" > 376: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $available_hour< / span > < = < span class = "php-var" > $current_hour< / span > ) {
< / span > < span id = "377" class = "l" > < a class = "l" href = "#377" > 377: < / a > < span class = "php-keyword1" > unset< / span > (< span class = "php-var" > $available_hours< / span > [< span class = "php-var" > $index< / span > ]);
< / span > < span id = "378" class = "l" > < a class = "l" href = "#378" > 378: < / a > }
< / span > < span id = "379" class = "l" > < a class = "l" href = "#379" > 379: < / a > }
< / span > < span id = "380" class = "l" > < a class = "l" href = "#380" > 380: < / a > }
< / span > < span id = "381" class = "l" > < a class = "l" href = "#381" > 381: < / a >
< / span > < span id = "382" class = "l" > < a class = "l" href = "#382" > 382: < / a > < span class = "php-var" > $available_hours< / span > = < span class = "php-keyword2" > array_values< / span > (< span class = "php-var" > $available_hours< / span > );
< / span > < span id = "383" class = "l" > < a class = "l" href = "#383" > 383: < / a > < span class = "php-keyword1" > echo< / span > < span class = "php-keyword2" > json_encode< / span > (< span class = "php-var" > $available_hours< / span > );
< / span > < span id = "384" class = "l" > < a class = "l" href = "#384" > 384: < / a >
< / span > < span id = "385" class = "l" > < a class = "l" href = "#385" > 385: < / a > } < span class = "php-keyword1" > catch< / span > (Exception < span class = "php-var" > $exc< / span > ) {
< / span > < span id = "386" class = "l" > < a class = "l" href = "#386" > 386: < / a > < span class = "php-keyword1" > echo< / span > < span class = "php-keyword2" > json_encode< / span > (< span class = "php-keyword1" > array< / span > (
< / span > < span id = "387" class = "l" > < a class = "l" href = "#387" > 387: < / a > < span class = "php-quote" > 'exceptions'< / span > => < span class = "php-keyword1" > array< / span > (exceptionToJavaScript(< span class = "php-var" > $exc< / span > ))
< / span > < span id = "388" class = "l" > < a class = "l" href = "#388" > 388: < / a > ));
< / span > < span id = "389" class = "l" > < a class = "l" href = "#389" > 389: < / a > }
< / span > < span id = "390" class = "l" > < a class = "l" href = "#390" > 390: < / a > }
< / span > < span id = "391" class = "l" > < a class = "l" href = "#391" > 391: < / a >
< / span > < span id = "392" class = "l" > < a class = "l" href = "#392" > 392: < / a > < span class = "php-comment" > /**
< / span > < / span > < span id = "393" class = "l" > < a class = "l" href = "#393" > 393: < / a > < span class = "php-comment" > * Check whether the provider is still available in the selected appointment date.
< / span > < / span > < span id = "394" class = "l" > < a class = "l" href = "#394" > 394: < / a > < span class = "php-comment" > *
< / span > < / span > < span id = "395" class = "l" > < a class = "l" href = "#395" > 395: < / a > < span class = "php-comment" > * It might be times where two or more customers select the same appointment date and time.
< / span > < / span > < span id = "396" class = "l" > < a class = "l" href = "#396" > 396: < / a > < span class = "php-comment" > * This shouldn't be allowed to happen, so one of the two customers will eventually get the
< / span > < / span > < span id = "397" class = "l" > < a class = "l" href = "#397" > 397: < / a > < span class = "php-comment" > * prefered date and the other one will have to choose for another date. Use this method
< / span > < / span > < span id = "398" class = "l" > < a class = "l" href = "#398" > 398: < / a > < span class = "php-comment" > * just before the customer confirms the appointment details. If the selected date was taken
< / span > < / span > < span id = "399" class = "l" > < a class = "l" href = "#399" > 399: < / a > < span class = "php-comment" > * in the mean time, the customer must be prompted to select another time for his appointment.
< / span > < / span > < span id = "400" class = "l" > < a class = "l" href = "#400" > 400: < / a > < span class = "php-comment" > *
< / span > < / span > < span id = "401" class = "l" > < a class = "l" href = "#401" > 401: < / a > < span class = "php-comment" > * @param int $_POST['id_users_provider'] The selected provider's record id.
< / span > < / span > < span id = "402" class = "l" > < a class = "l" href = "#402" > 402: < / a > < span class = "php-comment" > * @param int $_POST['id_services'] The selected service's record id.
< / span > < / span > < span id = "403" class = "l" > < a class = "l" href = "#403" > 403: < / a > < span class = "php-comment" > * @param string $_POST['start_datetime'] This is a mysql formed string.
< / span > < / span > < span id = "404" class = "l" > < a class = "l" href = "#404" > 404: < / a > < span class = "php-comment" > * @return bool Returns whether the selected datetime is still available.
< / span > < / span > < span id = "405" class = "l" > < a class = "l" href = "#405" > 405: < / a > < span class = "php-comment" > */< / span >
< / span > < span id = "406" class = "l" > < a class = "l" href = "#406" > 406: < / a > < span class = "php-keyword1" > public< / span > < span class = "php-keyword1" > function< / span > < a id = "_ajax_check_datetime_availability" href = "#_ajax_check_datetime_availability" > ajax_check_datetime_availability< / a > () {
< / span > < span id = "407" class = "l" > < a class = "l" href = "#407" > 407: < / a > < span class = "php-keyword1" > try< / span > {
< / span > < span id = "408" class = "l" > < a class = "l" href = "#408" > 408: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'services_model'< / span > );
< / span > < span id = "409" class = "l" > < a class = "l" href = "#409" > 409: < / a >
< / span > < span id = "410" class = "l" > < a class = "l" href = "#410" > 410: < / a > < span class = "php-var" > $service_duration< / span > = < span class = "php-var" > $this< / span > -> services_model-> get_value(< span class = "php-quote" > 'duration'< / span > , < span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'id_services'< / span > ]);
< / span > < span id = "411" class = "l" > < a class = "l" href = "#411" > 411: < / a >
< / span > < span id = "412" class = "l" > < a class = "l" href = "#412" > 412: < / a > < span class = "php-var" > $available_periods< / span > = < span class = "php-var" > $this< / span > -> get_provider_available_time_periods(
< / span > < span id = "413" class = "l" > < a class = "l" href = "#413" > 413: < / a > < span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'id_users_provider'< / span > ], < span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'start_datetime'< / span > ]);
2013-09-13 16:21:03 +03:00
< / span > < span id = "414" class = "l" > < a class = "l" href = "#414" > 414: < / a >
2013-10-19 13:34:32 +03:00
< / span > < span id = "415" class = "l" > < a class = "l" href = "#415" > 415: < / a > < span class = "php-var" > $is_still_available< / span > = < span class = "php-keyword1" > FALSE< / span > ;
< / span > < span id = "416" class = "l" > < a class = "l" href = "#416" > 416: < / a >
< / span > < span id = "417" class = "l" > < a class = "l" href = "#417" > 417: < / a > < span class = "php-keyword1" > foreach< / span > (< span class = "php-var" > $available_periods< / span > < span class = "php-keyword1" > as< / span > < span class = "php-var" > $period< / span > ) {
< / span > < span id = "418" class = "l" > < a class = "l" href = "#418" > 418: < / a > < span class = "php-var" > $appt_start< / span > = < span class = "php-keyword1" > new< / span > DateTime(< span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'start_datetime'< / span > ]);
< / span > < span id = "419" class = "l" > < a class = "l" href = "#419" > 419: < / a > < span class = "php-var" > $appt_start< / span > = < span class = "php-var" > $appt_start< / span > -> format(< span class = "php-quote" > 'H:i'< / span > );
< / span > < span id = "420" class = "l" > < a class = "l" href = "#420" > 420: < / a >
< / span > < span id = "421" class = "l" > < a class = "l" href = "#421" > 421: < / a > < span class = "php-var" > $appt_end< / span > = < span class = "php-keyword1" > new< / span > DateTime(< span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'start_datetime'< / span > ]);
< / span > < span id = "422" class = "l" > < a class = "l" href = "#422" > 422: < / a > < span class = "php-var" > $appt_end< / span > -> add(< span class = "php-keyword1" > new< / span > DateInterval(< span class = "php-quote" > 'PT'< / span > . < span class = "php-var" > $service_duration< / span > . < span class = "php-quote" > 'M'< / span > ));
< / span > < span id = "423" class = "l" > < a class = "l" href = "#423" > 423: < / a > < span class = "php-var" > $appt_end< / span > = < span class = "php-var" > $appt_end< / span > -> format(< span class = "php-quote" > 'H:i'< / span > );
< / span > < span id = "424" class = "l" > < a class = "l" href = "#424" > 424: < / a >
< / span > < span id = "425" class = "l" > < a class = "l" href = "#425" > 425: < / a > < span class = "php-var" > $period_start< / span > = < span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'H:i'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $period< / span > [< span class = "php-quote" > 'start'< / span > ]));
< / span > < span id = "426" class = "l" > < a class = "l" href = "#426" > 426: < / a > < span class = "php-var" > $period_end< / span > = < span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'H:i'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $period< / span > [< span class = "php-quote" > 'end'< / span > ]));
< / span > < span id = "427" class = "l" > < a class = "l" href = "#427" > 427: < / a >
< / span > < span id = "428" class = "l" > < a class = "l" href = "#428" > 428: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $period_start< / span > < = < span class = "php-var" > $appt_start< / span > & & < span class = "php-var" > $period_end< / span > > = < span class = "php-var" > $appt_end< / span > ) {
< / span > < span id = "429" class = "l" > < a class = "l" href = "#429" > 429: < / a > < span class = "php-var" > $is_still_available< / span > = < span class = "php-keyword1" > TRUE< / span > ;
< / span > < span id = "430" class = "l" > < a class = "l" href = "#430" > 430: < / a > < span class = "php-keyword1" > break< / span > ;
< / span > < span id = "431" class = "l" > < a class = "l" href = "#431" > 431: < / a > }
< / span > < span id = "432" class = "l" > < a class = "l" href = "#432" > 432: < / a > }
< / span > < span id = "433" class = "l" > < a class = "l" href = "#433" > 433: < / a >
< / span > < span id = "434" class = "l" > < a class = "l" href = "#434" > 434: < / a > < span class = "php-keyword1" > echo< / span > < span class = "php-keyword2" > json_encode< / span > (< span class = "php-var" > $is_still_available< / span > );
< / span > < span id = "435" class = "l" > < a class = "l" href = "#435" > 435: < / a >
< / span > < span id = "436" class = "l" > < a class = "l" href = "#436" > 436: < / a > } < span class = "php-keyword1" > catch< / span > (Exception < span class = "php-var" > $exc< / span > ) {
< / span > < span id = "437" class = "l" > < a class = "l" href = "#437" > 437: < / a > < span class = "php-keyword1" > echo< / span > < span class = "php-keyword2" > json_encode< / span > (< span class = "php-keyword1" > array< / span > (
< / span > < span id = "438" class = "l" > < a class = "l" href = "#438" > 438: < / a > < span class = "php-quote" > 'exceptions'< / span > => < span class = "php-keyword1" > array< / span > (exceptionToJavaScript(< span class = "php-var" > $exc< / span > ))
< / span > < span id = "439" class = "l" > < a class = "l" href = "#439" > 439: < / a > ));
< / span > < span id = "440" class = "l" > < a class = "l" href = "#440" > 440: < / a > }
< / span > < span id = "441" class = "l" > < a class = "l" href = "#441" > 441: < / a > }
< / span > < span id = "442" class = "l" > < a class = "l" href = "#442" > 442: < / a >
< / span > < span id = "443" class = "l" > < a class = "l" href = "#443" > 443: < / a > < span class = "php-comment" > /**
< / span > < / span > < span id = "444" class = "l" > < a class = "l" href = "#444" > 444: < / a > < span class = "php-comment" > * Get an array containing the free time periods (start - end) of a selected date.
< / span > < / span > < span id = "445" class = "l" > < a class = "l" href = "#445" > 445: < / a > < span class = "php-comment" > *
< / span > < / span > < span id = "446" class = "l" > < a class = "l" href = "#446" > 446: < / a > < span class = "php-comment" > * This method is very important because there are many cases where the system needs to
< / span > < / span > < span id = "447" class = "l" > < a class = "l" href = "#447" > 447: < / a > < span class = "php-comment" > * know when a provider is avaible for an appointment. This method will return an array
< / span > < / span > < span id = "448" class = "l" > < a class = "l" href = "#448" > 448: < / a > < span class = "php-comment" > * that belongs to the selected date and contains values that have the start and the end
< / span > < / span > < span id = "449" class = "l" > < a class = "l" href = "#449" > 449: < / a > < span class = "php-comment" > * time of an available time period.
< / span > < / span > < span id = "450" class = "l" > < a class = "l" href = "#450" > 450: < / a > < span class = "php-comment" > *
< / span > < / span > < span id = "451" class = "l" > < a class = "l" href = "#451" > 451: < / a > < span class = "php-comment" > * @param numeric $provider_id The provider's record id.
< / span > < / span > < span id = "452" class = "l" > < a class = "l" href = "#452" > 452: < / a > < span class = "php-comment" > * @param string $selected_date The date to be checked (MySQL formatted string).
< / span > < / span > < span id = "453" class = "l" > < a class = "l" href = "#453" > 453: < / a > < span class = "php-comment" > * @param array $exclude_appointments This array contains the ids of the appointments that
< / span > < / span > < span id = "454" class = "l" > < a class = "l" href = "#454" > 454: < / a > < span class = "php-comment" > * will not be taken into consideration when the available time periods are calculated.
< / span > < / span > < span id = "455" class = "l" > < a class = "l" href = "#455" > 455: < / a > < span class = "php-comment" > * @return array Returns an array with the available time periods of the provider.
< / span > < / span > < span id = "456" class = "l" > < a class = "l" href = "#456" > 456: < / a > < span class = "php-comment" > */< / span >
< / span > < span id = "457" class = "l" > < a class = "l" href = "#457" > 457: < / a > < span class = "php-keyword1" > private< / span > < span class = "php-keyword1" > function< / span > < a id = "_get_provider_available_time_periods" href = "#_get_provider_available_time_periods" > get_provider_available_time_periods< / a > (< span class = "php-var" > $provider_id< / span > , < span class = "php-var" > $selected_date< / span > ,
< / span > < span id = "458" class = "l" > < a class = "l" href = "#458" > 458: < / a > < span class = "php-var" > $exclude_appointments< / span > = < span class = "php-keyword1" > array< / span > ()) {
< / span > < span id = "459" class = "l" > < a class = "l" href = "#459" > 459: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'appointments_model'< / span > );
< / span > < span id = "460" class = "l" > < a class = "l" href = "#460" > 460: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'providers_model'< / span > );
< / span > < span id = "461" class = "l" > < a class = "l" href = "#461" > 461: < / a >
< / span > < span id = "462" class = "l" > < a class = "l" href = "#462" > 462: < / a > < span class = "php-comment" > // Get the provider's working plan and reserved appointments. < / span >
< / span > < span id = "463" class = "l" > < a class = "l" href = "#463" > 463: < / a > < span class = "php-var" > $working_plan< / span > = < span class = "php-keyword2" > json_decode< / span > (< span class = "php-var" > $this< / span > -> providers_model-> get_setting(< span class = "php-quote" > 'working_plan'< / span > , < span class = "php-var" > $provider_id< / span > ), < span class = "php-keyword1" > true< / span > );
< / span > < span id = "464" class = "l" > < a class = "l" href = "#464" > 464: < / a >
< / span > < span id = "465" class = "l" > < a class = "l" href = "#465" > 465: < / a > < span class = "php-var" > $where_clause< / span > = < span class = "php-keyword1" > array< / span > (
< / span > < span id = "466" class = "l" > < a class = "l" href = "#466" > 466: < / a > < span class = "php-quote" > 'DATE(start_datetime)'< / span > => < span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'Y-m-d'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $selected_date< / span > )),
< / span > < span id = "467" class = "l" > < a class = "l" href = "#467" > 467: < / a > < span class = "php-quote" > 'id_users_provider'< / span > => < span class = "php-var" > $provider_id< / span >
< / span > < span id = "468" class = "l" > < a class = "l" href = "#468" > 468: < / a > );
2013-09-13 16:21:03 +03:00
< / span > < span id = "469" class = "l" > < a class = "l" href = "#469" > 469: < / a >
2013-10-19 13:34:32 +03:00
< / span > < span id = "470" class = "l" > < a class = "l" href = "#470" > 470: < / a > < span class = "php-var" > $reserved_appointments< / span > = < span class = "php-var" > $this< / span > -> appointments_model-> get_batch(< span class = "php-var" > $where_clause< / span > );
< / span > < span id = "471" class = "l" > < a class = "l" href = "#471" > 471: < / a >
< / span > < span id = "472" class = "l" > < a class = "l" href = "#472" > 472: < / a > < span class = "php-comment" > // Sometimes it might be necessary to not take into account some appointment records< / span >
< / span > < span id = "473" class = "l" > < a class = "l" href = "#473" > 473: < / a > < span class = "php-comment" > // in order to display what the providers' available time periods would be without them.< / span >
< / span > < span id = "474" class = "l" > < a class = "l" href = "#474" > 474: < / a > < span class = "php-keyword1" > foreach< / span > (< span class = "php-var" > $exclude_appointments< / span > < span class = "php-keyword1" > as< / span > < span class = "php-var" > $excluded_id< / span > ) {
< / span > < span id = "475" class = "l" > < a class = "l" href = "#475" > 475: < / a > < span class = "php-keyword1" > foreach< / span > (< span class = "php-var" > $reserved_appointments< / span > < span class = "php-keyword1" > as< / span > < span class = "php-var" > $index< / span > => < span class = "php-var" > $reserved< / span > ) {
< / span > < span id = "476" class = "l" > < a class = "l" href = "#476" > 476: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $reserved< / span > [< span class = "php-quote" > 'id'< / span > ] == < span class = "php-var" > $excluded_id< / span > ) {
< / span > < span id = "477" class = "l" > < a class = "l" href = "#477" > 477: < / a > < span class = "php-keyword1" > unset< / span > (< span class = "php-var" > $reserved_appointments< / span > [< span class = "php-var" > $index< / span > ]);
< / span > < span id = "478" class = "l" > < a class = "l" href = "#478" > 478: < / a > }
< / span > < span id = "479" class = "l" > < a class = "l" href = "#479" > 479: < / a > }
< / span > < span id = "480" class = "l" > < a class = "l" href = "#480" > 480: < / a > }
< / span > < span id = "481" class = "l" > < a class = "l" href = "#481" > 481: < / a >
< / span > < span id = "482" class = "l" > < a class = "l" href = "#482" > 482: < / a > < span class = "php-comment" > // Find the empty spaces on the plan. The first split between the plan is due to < / span >
< / span > < span id = "483" class = "l" > < a class = "l" href = "#483" > 483: < / a > < span class = "php-comment" > // a break (if exist). After that every reserved appointment is considered to be < / span >
< / span > < span id = "484" class = "l" > < a class = "l" href = "#484" > 484: < / a > < span class = "php-comment" > // a taken space in the plan.< / span >
< / span > < span id = "485" class = "l" > < a class = "l" href = "#485" > 485: < / a > < span class = "php-var" > $selected_date_working_plan< / span > = < span class = "php-var" > $working_plan< / span > [< span class = "php-keyword2" > strtolower< / span > (< span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'l'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $selected_date< / span > )))];
< / span > < span id = "486" class = "l" > < a class = "l" href = "#486" > 486: < / a > < span class = "php-var" > $available_periods_with_breaks< / span > = < span class = "php-keyword1" > array< / span > ();
< / span > < span id = "487" class = "l" > < a class = "l" href = "#487" > 487: < / a >
< / span > < span id = "488" class = "l" > < a class = "l" href = "#488" > 488: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-keyword1" > isset< / span > (< span class = "php-var" > $selected_date_working_plan< / span > [< span class = "php-quote" > 'breaks'< / span > ])) {
< / span > < span id = "489" class = "l" > < a class = "l" href = "#489" > 489: < / a > < span class = "php-keyword1" > foreach< / span > (< span class = "php-var" > $selected_date_working_plan< / span > [< span class = "php-quote" > 'breaks'< / span > ] < span class = "php-keyword1" > as< / span > < span class = "php-var" > $index< / span > => < span class = "php-var" > $break< / span > ) {
< / span > < span id = "490" class = "l" > < a class = "l" href = "#490" > 490: < / a > < span class = "php-comment" > // Split the working plan to available time periods that do not< / span >
< / span > < span id = "491" class = "l" > < a class = "l" href = "#491" > 491: < / a > < span class = "php-comment" > // contain the breaks in them.< / span >
< / span > < span id = "492" class = "l" > < a class = "l" href = "#492" > 492: < / a > < span class = "php-var" > $last_break_index< / span > = < span class = "php-var" > $index< / span > - < span class = "php-num" > 1< / span > ;
< / span > < span id = "493" class = "l" > < a class = "l" href = "#493" > 493: < / a >
< / span > < span id = "494" class = "l" > < a class = "l" href = "#494" > 494: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-keyword2" > count< / span > (< span class = "php-var" > $available_periods_with_breaks< / span > ) === < span class = "php-num" > 0< / span > ) {
< / span > < span id = "495" class = "l" > < a class = "l" href = "#495" > 495: < / a > < span class = "php-var" > $start_hour< / span > = < span class = "php-var" > $selected_date_working_plan< / span > [< span class = "php-quote" > 'start'< / span > ];
< / span > < span id = "496" class = "l" > < a class = "l" href = "#496" > 496: < / a > < span class = "php-var" > $end_hour< / span > = < span class = "php-var" > $break< / span > [< span class = "php-quote" > 'start'< / span > ];
< / span > < span id = "497" class = "l" > < a class = "l" href = "#497" > 497: < / a > } < span class = "php-keyword1" > else< / span > {
< / span > < span id = "498" class = "l" > < a class = "l" href = "#498" > 498: < / a > < span class = "php-var" > $start_hour< / span > = < span class = "php-var" > $selected_date_working_plan< / span > [< span class = "php-quote" > 'breaks'< / span > ][< span class = "php-var" > $last_break_index< / span > ][< span class = "php-quote" > 'end'< / span > ];
< / span > < span id = "499" class = "l" > < a class = "l" href = "#499" > 499: < / a > < span class = "php-var" > $end_hour< / span > = < span class = "php-var" > $break< / span > [< span class = "php-quote" > 'start'< / span > ];
< / span > < span id = "500" class = "l" > < a class = "l" href = "#500" > 500: < / a > }
< / span > < span id = "501" class = "l" > < a class = "l" href = "#501" > 501: < / a >
< / span > < span id = "502" class = "l" > < a class = "l" href = "#502" > 502: < / a > < span class = "php-var" > $available_periods_with_breaks< / span > [] = < span class = "php-keyword1" > array< / span > (
< / span > < span id = "503" class = "l" > < a class = "l" href = "#503" > 503: < / a > < span class = "php-quote" > 'start'< / span > => < span class = "php-var" > $start_hour< / span > ,
< / span > < span id = "504" class = "l" > < a class = "l" href = "#504" > 504: < / a > < span class = "php-quote" > 'end'< / span > => < span class = "php-var" > $end_hour< / span >
< / span > < span id = "505" class = "l" > < a class = "l" href = "#505" > 505: < / a > );
< / span > < span id = "506" class = "l" > < a class = "l" href = "#506" > 506: < / a > }
2013-09-13 16:21:03 +03:00
< / span > < span id = "507" class = "l" > < a class = "l" href = "#507" > 507: < / a >
2013-10-19 13:34:32 +03:00
< / span > < span id = "508" class = "l" > < a class = "l" href = "#508" > 508: < / a > < span class = "php-comment" > // Add the period from the last break to the end of the day.< / span >
< / span > < span id = "509" class = "l" > < a class = "l" href = "#509" > 509: < / a > < span class = "php-var" > $available_periods_with_breaks< / span > [] = < span class = "php-keyword1" > array< / span > (
< / span > < span id = "510" class = "l" > < a class = "l" href = "#510" > 510: < / a > < span class = "php-quote" > 'start'< / span > => < span class = "php-var" > $selected_date_working_plan< / span > [< span class = "php-quote" > 'breaks'< / span > ][< span class = "php-var" > $index< / span > ][< span class = "php-quote" > 'end'< / span > ],
< / span > < span id = "511" class = "l" > < a class = "l" href = "#511" > 511: < / a > < span class = "php-quote" > 'end'< / span > => < span class = "php-var" > $selected_date_working_plan< / span > [< span class = "php-quote" > 'end'< / span > ]
< / span > < span id = "512" class = "l" > < a class = "l" href = "#512" > 512: < / a > );
< / span > < span id = "513" class = "l" > < a class = "l" href = "#513" > 513: < / a > }
< / span > < span id = "514" class = "l" > < a class = "l" href = "#514" > 514: < / a >
< / span > < span id = "515" class = "l" > < a class = "l" href = "#515" > 515: < / a > < span class = "php-comment" > // Break the empty periods with the reserved appointments.< / span >
< / span > < span id = "516" class = "l" > < a class = "l" href = "#516" > 516: < / a > < span class = "php-var" > $available_periods_with_appointments< / span > = < span class = "php-keyword1" > array< / span > ();
< / span > < span id = "517" class = "l" > < a class = "l" href = "#517" > 517: < / a >
< / span > < span id = "518" class = "l" > < a class = "l" href = "#518" > 518: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-keyword2" > count< / span > (< span class = "php-var" > $reserved_appointments< / span > ) > < span class = "php-num" > 0< / span > ) {
< / span > < span id = "519" class = "l" > < a class = "l" href = "#519" > 519: < / a >
< / span > < span id = "520" class = "l" > < a class = "l" href = "#520" > 520: < / a > < span class = "php-keyword1" > foreach< / span > (< span class = "php-var" > $available_periods_with_breaks< / span > < span class = "php-keyword1" > as< / span > < span class = "php-var" > $period< / span > ) {
< / span > < span id = "521" class = "l" > < a class = "l" href = "#521" > 521: < / a >
< / span > < span id = "522" class = "l" > < a class = "l" href = "#522" > 522: < / a > < span class = "php-keyword1" > foreach< / span > (< span class = "php-var" > $reserved_appointments< / span > < span class = "php-keyword1" > as< / span > < span class = "php-var" > $index< / span > => < span class = "php-var" > $reserved< / span > ) {
< / span > < span id = "523" class = "l" > < a class = "l" href = "#523" > 523: < / a > < span class = "php-var" > $appointment_start< / span > = < span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'H:i'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $reserved< / span > [< span class = "php-quote" > 'start_datetime'< / span > ]));
< / span > < span id = "524" class = "l" > < a class = "l" href = "#524" > 524: < / a > < span class = "php-var" > $appointment_end< / span > = < span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'H:i'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $reserved< / span > [< span class = "php-quote" > 'end_datetime'< / span > ]));
< / span > < span id = "525" class = "l" > < a class = "l" href = "#525" > 525: < / a > < span class = "php-var" > $period_start< / span > = < span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'H:i'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $period< / span > [< span class = "php-quote" > 'start'< / span > ]));
< / span > < span id = "526" class = "l" > < a class = "l" href = "#526" > 526: < / a > < span class = "php-var" > $period_end< / span > = < span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'H:i'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $period< / span > [< span class = "php-quote" > 'end'< / span > ]));
< / span > < span id = "527" class = "l" > < a class = "l" href = "#527" > 527: < / a >
< / span > < span id = "528" class = "l" > < a class = "l" href = "#528" > 528: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $period_start< / span > < = < span class = "php-var" > $appointment_start< / span > & & < span class = "php-var" > $period_end< / span > > = < span class = "php-var" > $appointment_end< / span > ) {
< / span > < span id = "529" class = "l" > < a class = "l" href = "#529" > 529: < / a > < span class = "php-comment" > // We need to check whether another appointment fits in the current < / span >
< / span > < span id = "530" class = "l" > < a class = "l" href = "#530" > 530: < / a > < span class = "php-comment" > // time period. If this happens, then we need to consider the whole < / span >
< / span > < span id = "531" class = "l" > < a class = "l" href = "#531" > 531: < / a > < span class = "php-comment" > // appointment time as one, because the provider will not be available.< / span >
< / span > < span id = "532" class = "l" > < a class = "l" href = "#532" > 532: < / a > < span class = "php-keyword1" > foreach< / span > (< span class = "php-var" > $reserved_appointments< / span > < span class = "php-keyword1" > as< / span > < span class = "php-var" > $tmp_appointment< / span > ) {
< / span > < span id = "533" class = "l" > < a class = "l" href = "#533" > 533: < / a > < span class = "php-var" > $appt_start< / span > = < span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'H:i'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $tmp_appointment< / span > [< span class = "php-quote" > 'start_datetime'< / span > ]));
< / span > < span id = "534" class = "l" > < a class = "l" href = "#534" > 534: < / a > < span class = "php-var" > $appt_end< / span > = < span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'H:i'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $tmp_appointment< / span > [< span class = "php-quote" > 'end_datetime'< / span > ]));
< / span > < span id = "535" class = "l" > < a class = "l" href = "#535" > 535: < / a >
< / span > < span id = "536" class = "l" > < a class = "l" href = "#536" > 536: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $period_start< / span > < < span class = "php-var" > $appt_start< / span > & & < span class = "php-var" > $period_end< / span > > < span class = "php-var" > $appt_end< / span > ) {
< / span > < span id = "537" class = "l" > < a class = "l" href = "#537" > 537: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $appointment_start< / span > > < span class = "php-var" > $appt_start< / span > ) {
< / span > < span id = "538" class = "l" > < a class = "l" href = "#538" > 538: < / a > < span class = "php-var" > $appointment_start< / span > = < span class = "php-var" > $appt_start< / span > ;
< / span > < span id = "539" class = "l" > < a class = "l" href = "#539" > 539: < / a > }
< / span > < span id = "540" class = "l" > < a class = "l" href = "#540" > 540: < / a >
< / span > < span id = "541" class = "l" > < a class = "l" href = "#541" > 541: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $appointment_end< / span > < < span class = "php-var" > $appt_end< / span > ) {
< / span > < span id = "542" class = "l" > < a class = "l" href = "#542" > 542: < / a > < span class = "php-var" > $appointment_end< / span > = < span class = "php-var" > $appt_end< / span > ;
< / span > < span id = "543" class = "l" > < a class = "l" href = "#543" > 543: < / a > }
< / span > < span id = "544" class = "l" > < a class = "l" href = "#544" > 544: < / a > }
2013-09-13 16:21:03 +03:00
< / span > < span id = "545" class = "l" > < a class = "l" href = "#545" > 545: < / a > }
2013-10-19 13:34:32 +03:00
< / span > < span id = "546" class = "l" > < a class = "l" href = "#546" > 546: < / a >
< / span > < span id = "547" class = "l" > < a class = "l" href = "#547" > 547: < / a > < span class = "php-comment" > // Current appointment is within the current empty space. So < / span >
< / span > < span id = "548" class = "l" > < a class = "l" href = "#548" > 548: < / a > < span class = "php-comment" > // we need to break the empty space into two other spaces that < / span >
< / span > < span id = "549" class = "l" > < a class = "l" href = "#549" > 549: < / a > < span class = "php-comment" > // don't include the appointment.< / span >
< / span > < span id = "550" class = "l" > < a class = "l" href = "#550" > 550: < / a > < span class = "php-var" > $new_period< / span > = < span class = "php-keyword1" > array< / span > (
< / span > < span id = "551" class = "l" > < a class = "l" href = "#551" > 551: < / a > < span class = "php-quote" > 'start'< / span > => < span class = "php-var" > $period_start< / span > ,
< / span > < span id = "552" class = "l" > < a class = "l" href = "#552" > 552: < / a > < span class = "php-quote" > 'end'< / span > => < span class = "php-var" > $appointment_start< / span >
< / span > < span id = "553" class = "l" > < a class = "l" href = "#553" > 553: < / a > );
< / span > < span id = "554" class = "l" > < a class = "l" href = "#554" > 554: < / a >
< / span > < span id = "555" class = "l" > < a class = "l" href = "#555" > 555: < / a > < span class = "php-keyword1" > if< / span > (!< span class = "php-keyword2" > in_array< / span > (< span class = "php-var" > $new_period< / span > , < span class = "php-var" > $available_periods_with_appointments< / span > )) {
< / span > < span id = "556" class = "l" > < a class = "l" href = "#556" > 556: < / a > < span class = "php-var" > $available_periods_with_appointments< / span > [] = < span class = "php-var" > $new_period< / span > ;
< / span > < span id = "557" class = "l" > < a class = "l" href = "#557" > 557: < / a > }
< / span > < span id = "558" class = "l" > < a class = "l" href = "#558" > 558: < / a >
< / span > < span id = "559" class = "l" > < a class = "l" href = "#559" > 559: < / a > < span class = "php-var" > $new_period< / span > = < span class = "php-keyword1" > array< / span > (
< / span > < span id = "560" class = "l" > < a class = "l" href = "#560" > 560: < / a > < span class = "php-quote" > 'start'< / span > => < span class = "php-var" > $appointment_end< / span > ,
< / span > < span id = "561" class = "l" > < a class = "l" href = "#561" > 561: < / a > < span class = "php-quote" > 'end'< / span > => < span class = "php-var" > $period_end< / span >
< / span > < span id = "562" class = "l" > < a class = "l" href = "#562" > 562: < / a > );
< / span > < span id = "563" class = "l" > < a class = "l" href = "#563" > 563: < / a >
< / span > < span id = "564" class = "l" > < a class = "l" href = "#564" > 564: < / a > < span class = "php-keyword1" > if< / span > (!< span class = "php-keyword2" > in_array< / span > (< span class = "php-var" > $new_period< / span > , < span class = "php-var" > $available_periods_with_appointments< / span > )) {
< / span > < span id = "565" class = "l" > < a class = "l" href = "#565" > 565: < / a > < span class = "php-var" > $available_periods_with_appointments< / span > [] = < span class = "php-var" > $new_period< / span > ;
< / span > < span id = "566" class = "l" > < a class = "l" href = "#566" > 566: < / a > }
< / span > < span id = "567" class = "l" > < a class = "l" href = "#567" > 567: < / a >
< / span > < span id = "568" class = "l" > < a class = "l" href = "#568" > 568: < / a > } < span class = "php-keyword1" > else< / span > {
< / span > < span id = "569" class = "l" > < a class = "l" href = "#569" > 569: < / a > < span class = "php-comment" > // Check if there are any other appointments between this < / span >
< / span > < span id = "570" class = "l" > < a class = "l" href = "#570" > 570: < / a > < span class = "php-comment" > // time space. If not, it is going to be added as it is.< / span >
< / span > < span id = "571" class = "l" > < a class = "l" href = "#571" > 571: < / a > < span class = "php-var" > $found< / span > = < span class = "php-keyword1" > FALSE< / span > ;
< / span > < span id = "572" class = "l" > < a class = "l" href = "#572" > 572: < / a >
< / span > < span id = "573" class = "l" > < a class = "l" href = "#573" > 573: < / a > < span class = "php-keyword1" > foreach< / span > (< span class = "php-var" > $reserved_appointments< / span > < span class = "php-keyword1" > as< / span > < span class = "php-var" > $tmp_appointment< / span > ) {
< / span > < span id = "574" class = "l" > < a class = "l" href = "#574" > 574: < / a > < span class = "php-var" > $appt_start< / span > = < span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'H:i'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $tmp_appointment< / span > [< span class = "php-quote" > 'start_datetime'< / span > ]));
< / span > < span id = "575" class = "l" > < a class = "l" href = "#575" > 575: < / a > < span class = "php-var" > $appt_end< / span > = < span class = "php-keyword2" > date< / span > (< span class = "php-quote" > 'H:i'< / span > , < span class = "php-keyword2" > strtotime< / span > (< span class = "php-var" > $tmp_appointment< / span > [< span class = "php-quote" > 'end_datetime'< / span > ]));
< / span > < span id = "576" class = "l" > < a class = "l" href = "#576" > 576: < / a >
< / span > < span id = "577" class = "l" > < a class = "l" href = "#577" > 577: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $period_start< / span > < < span class = "php-var" > $appt_start< / span > & & < span class = "php-var" > $period_end< / span > > < span class = "php-var" > $appt_end< / span > ) {
< / span > < span id = "578" class = "l" > < a class = "l" href = "#578" > 578: < / a > < span class = "php-var" > $found< / span > = < span class = "php-keyword1" > TRUE< / span > ;
< / span > < span id = "579" class = "l" > < a class = "l" href = "#579" > 579: < / a > }
< / span > < span id = "580" class = "l" > < a class = "l" href = "#580" > 580: < / a > }
< / span > < span id = "581" class = "l" > < a class = "l" href = "#581" > 581: < / a >
< / span > < span id = "582" class = "l" > < a class = "l" href = "#582" > 582: < / a > < span class = "php-comment" > // It is also necessary to check that this time period doesn't< / span >
< / span > < span id = "583" class = "l" > < a class = "l" href = "#583" > 583: < / a > < span class = "php-comment" > // already exist in the " $empty_spaces_with_appointments" array.< / span >
< / span > < span id = "584" class = "l" > < a class = "l" href = "#584" > 584: < / a > < span class = "php-var" > $empty_period< / span > = < span class = "php-keyword1" > array< / span > (
< / span > < span id = "585" class = "l" > < a class = "l" href = "#585" > 585: < / a > < span class = "php-quote" > 'start'< / span > => < span class = "php-var" > $period_start< / span > ,
< / span > < span id = "586" class = "l" > < a class = "l" href = "#586" > 586: < / a > < span class = "php-quote" > 'end'< / span > => < span class = "php-var" > $period_end< / span >
< / span > < span id = "587" class = "l" > < a class = "l" href = "#587" > 587: < / a > );
< / span > < span id = "588" class = "l" > < a class = "l" href = "#588" > 588: < / a >
< / span > < span id = "589" class = "l" > < a class = "l" href = "#589" > 589: < / a > < span class = "php-var" > $already_exist< / span > = < span class = "php-keyword2" > in_array< / span > (< span class = "php-var" > $empty_period< / span > , < span class = "php-var" > $available_periods_with_appointments< / span > );
< / span > < span id = "590" class = "l" > < a class = "l" href = "#590" > 590: < / a >
< / span > < span id = "591" class = "l" > < a class = "l" href = "#591" > 591: < / a > < span class = "php-keyword1" > if< / span > (< span class = "php-var" > $found< / span > === < span class = "php-keyword1" > FALSE< / span > & & < span class = "php-var" > $already_exist< / span > === < span class = "php-keyword1" > FALSE< / span > ) {
< / span > < span id = "592" class = "l" > < a class = "l" href = "#592" > 592: < / a > < span class = "php-var" > $available_periods_with_appointments< / span > [] = < span class = "php-var" > $empty_period< / span > ;
< / span > < span id = "593" class = "l" > < a class = "l" href = "#593" > 593: < / a > }
< / span > < span id = "594" class = "l" > < a class = "l" href = "#594" > 594: < / a > }
< / span > < span id = "595" class = "l" > < a class = "l" href = "#595" > 595: < / a > }
< / span > < span id = "596" class = "l" > < a class = "l" href = "#596" > 596: < / a > }
< / span > < span id = "597" class = "l" > < a class = "l" href = "#597" > 597: < / a > } < span class = "php-keyword1" > else< / span > {
< / span > < span id = "598" class = "l" > < a class = "l" href = "#598" > 598: < / a > < span class = "php-var" > $available_periods_with_appointments< / span > = < span class = "php-var" > $available_periods_with_breaks< / span > ;
< / span > < span id = "599" class = "l" > < a class = "l" href = "#599" > 599: < / a > }
< / span > < span id = "600" class = "l" > < a class = "l" href = "#600" > 600: < / a >
< / span > < span id = "601" class = "l" > < a class = "l" href = "#601" > 601: < / a > < span class = "php-keyword1" > return< / span > < span class = "php-var" > $available_periods_with_appointments< / span > ;
< / span > < span id = "602" class = "l" > < a class = "l" href = "#602" > 602: < / a > }
< / span > < span id = "603" class = "l" > < a class = "l" href = "#603" > 603: < / a >
< / span > < span id = "604" class = "l" > < a class = "l" href = "#604" > 604: < / a > < span class = "php-comment" > /**
< / span > < / span > < span id = "605" class = "l" > < a class = "l" href = "#605" > 605: < / a > < span class = "php-comment" > * This method checks whether the application is installed.
< / span > < / span > < span id = "606" class = "l" > < a class = "l" href = "#606" > 606: < / a > < span class = "php-comment" > *
< / span > < / span > < span id = "607" class = "l" > < a class = "l" href = "#607" > 607: < / a > < span class = "php-comment" > * This method resides in this controller because the " index()" function will
< / span > < / span > < span id = "608" class = "l" > < a class = "l" href = "#608" > 608: < / a > < span class = "php-comment" > * be the first to be launched after the files are on the server. NOTE that the
< / span > < / span > < span id = "609" class = "l" > < a class = "l" href = "#609" > 609: < / a > < span class = "php-comment" > * " configuration.php" file must be already set because we won't be able to
< / span > < / span > < span id = "610" class = "l" > < a class = "l" href = "#610" > 610: < / a > < span class = "php-comment" > * connect to the database otherwise.
< / span > < / span > < span id = "611" class = "l" > < a class = "l" href = "#611" > 611: < / a > < span class = "php-comment" > */< / span >
< / span > < span id = "612" class = "l" > < a class = "l" href = "#612" > 612: < / a > < span class = "php-keyword1" > public< / span > < span class = "php-keyword1" > function< / span > < a id = "_check_installation" href = "#_check_installation" > check_installation< / a > () {
< / span > < span id = "613" class = "l" > < a class = "l" href = "#613" > 613: < / a > < span class = "php-keyword1" > try< / span > {
< / span > < span id = "614" class = "l" > < a class = "l" href = "#614" > 614: < / a > < span class = "php-keyword1" > if< / span > (!< span class = "php-var" > $this< / span > -> db-> table_exists(< span class = "php-quote" > 'ea_users'< / span > )) {
< / span > < span id = "615" class = "l" > < a class = "l" href = "#615" > 615: < / a > < span class = "php-comment" > // This is the first time the website is launched an the user needs to set < / span >
< / span > < span id = "616" class = "l" > < a class = "l" href = "#616" > 616: < / a > < span class = "php-comment" > // the basic settings. Display the installation view page.< / span >
< / span > < span id = "617" class = "l" > < a class = "l" href = "#617" > 617: < / a > < span class = "php-var" > $view< / span > [< span class = "php-quote" > 'base_url'< / span > ] = < span class = "php-var" > $this< / span > -> config-> item(< span class = "php-quote" > 'base_url'< / span > );
< / span > < span id = "618" class = "l" > < a class = "l" href = "#618" > 618: < / a > < span class = "php-var" > $this< / span > -> load-> view(< span class = "php-quote" > 'general/installation'< / span > , < span class = "php-var" > $view< / span > );
< / span > < span id = "619" class = "l" > < a class = "l" href = "#619" > 619: < / a > < span class = "php-keyword1" > return< / span > < span class = "php-keyword1" > FALSE< / span > ; < span class = "php-comment" > // Do not display the book appointment view file.< / span >
< / span > < span id = "620" class = "l" > < a class = "l" href = "#620" > 620: < / a > } < span class = "php-keyword1" > else< / span > {
< / span > < span id = "621" class = "l" > < a class = "l" href = "#621" > 621: < / a > < span class = "php-keyword1" > return< / span > < span class = "php-keyword1" > TRUE< / span > ; < span class = "php-comment" > // Application installed, continue ...< / span >
< / span > < span id = "622" class = "l" > < a class = "l" href = "#622" > 622: < / a > }
< / span > < span id = "623" class = "l" > < a class = "l" href = "#623" > 623: < / a > } < span class = "php-keyword1" > catch< / span > (Exception < span class = "php-var" > $exc< / span > ) {
< / span > < span id = "624" class = "l" > < a class = "l" href = "#624" > 624: < / a > < span class = "php-keyword1" > echo< / span > < span class = "php-var" > $exc< / span > -> getTrace();
< / span > < span id = "625" class = "l" > < a class = "l" href = "#625" > 625: < / a > }
< / span > < span id = "626" class = "l" > < a class = "l" href = "#626" > 626: < / a > }
< / span > < span id = "627" class = "l" > < a class = "l" href = "#627" > 627: < / a >
< / span > < span id = "628" class = "l" > < a class = "l" href = "#628" > 628: < / a > < span class = "php-comment" > /**
< / span > < / span > < span id = "629" class = "l" > < a class = "l" href = "#629" > 629: < / a > < span class = "php-comment" > * Installs Easy!Appointments on server.
< / span > < / span > < span id = "630" class = "l" > < a class = "l" href = "#630" > 630: < / a > < span class = "php-comment" > *
< / span > < / span > < span id = "631" class = "l" > < a class = "l" href = "#631" > 631: < / a > < span class = "php-comment" > * @param array $_POST['admin'] Contains the initial admin user data. System needs at least
< / span > < / span > < span id = "632" class = "l" > < a class = "l" href = "#632" > 632: < / a > < span class = "php-comment" > * one admin user to work.
< / span > < / span > < span id = "633" class = "l" > < a class = "l" href = "#633" > 633: < / a > < span class = "php-comment" > * @param array $_POST['company'] Contains the basic company data.
< / span > < / span > < span id = "634" class = "l" > < a class = "l" href = "#634" > 634: < / a > < span class = "php-comment" > */< / span >
< / span > < span id = "635" class = "l" > < a class = "l" href = "#635" > 635: < / a > < span class = "php-keyword1" > public< / span > < span class = "php-keyword1" > function< / span > < a id = "_ajax_install" href = "#_ajax_install" > ajax_install< / a > () {
< / span > < span id = "636" class = "l" > < a class = "l" href = "#636" > 636: < / a > < span class = "php-keyword1" > try< / span > {
< / span > < span id = "637" class = "l" > < a class = "l" href = "#637" > 637: < / a > < span class = "php-comment" > // 2nd method using the ci database class.< / span >
< / span > < span id = "638" class = "l" > < a class = "l" href = "#638" > 638: < / a > < span class = "php-var" > $file_contents< / span > = < span class = "php-keyword2" > file_get_contents< / span > (< span class = "php-var" > $this< / span > -> config-> item(< span class = "php-quote" > 'base_url'< / span > ) . < span class = "php-quote" > 'assets/sql/structure.sql'< / span > );
< / span > < span id = "639" class = "l" > < a class = "l" href = "#639" > 639: < / a > < span class = "php-var" > $sql_queries< / span > = < span class = "php-keyword2" > explode< / span > (< span class = "php-quote" > ';'< / span > , < span class = "php-var" > $file_contents< / span > );
< / span > < span id = "640" class = "l" > < a class = "l" href = "#640" > 640: < / a > < span class = "php-keyword2" > array_pop< / span > (< span class = "php-var" > $sql_queries< / span > );
< / span > < span id = "641" class = "l" > < a class = "l" href = "#641" > 641: < / a > < span class = "php-keyword1" > foreach< / span > (< span class = "php-var" > $sql_queries< / span > < span class = "php-keyword1" > as< / span > < span class = "php-var" > $query< / span > ) {
< / span > < span id = "642" class = "l" > < a class = "l" href = "#642" > 642: < / a > < span class = "php-var" > $this< / span > -> db-> query(< span class = "php-var" > $query< / span > );
< / span > < span id = "643" class = "l" > < a class = "l" href = "#643" > 643: < / a > }
< / span > < span id = "644" class = "l" > < a class = "l" href = "#644" > 644: < / a >
< / span > < span id = "645" class = "l" > < a class = "l" href = "#645" > 645: < / a > < span class = "php-comment" > // Insert admin< / span >
< / span > < span id = "646" class = "l" > < a class = "l" href = "#646" > 646: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'admins_model'< / span > );
< / span > < span id = "647" class = "l" > < a class = "l" href = "#647" > 647: < / a > < span class = "php-var" > $admin< / span > = < span class = "php-keyword2" > json_decode< / span > (< span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'admin'< / span > ], < span class = "php-keyword1" > true< / span > );
< / span > < span id = "648" class = "l" > < a class = "l" href = "#648" > 648: < / a > < span class = "php-var" > $admin< / span > [< span class = "php-quote" > 'settings'< / span > ][< span class = "php-quote" > 'username'< / span > ] = < span class = "php-var" > $admin< / span > [< span class = "php-quote" > 'username'< / span > ];
< / span > < span id = "649" class = "l" > < a class = "l" href = "#649" > 649: < / a > < span class = "php-var" > $admin< / span > [< span class = "php-quote" > 'settings'< / span > ][< span class = "php-quote" > 'password'< / span > ] = < span class = "php-var" > $admin< / span > [< span class = "php-quote" > 'password'< / span > ];
< / span > < span id = "650" class = "l" > < a class = "l" href = "#650" > 650: < / a > < span class = "php-keyword1" > unset< / span > (< span class = "php-var" > $admin< / span > [< span class = "php-quote" > 'username'< / span > ], < span class = "php-var" > $admin< / span > [< span class = "php-quote" > 'password'< / span > ]);
< / span > < span id = "651" class = "l" > < a class = "l" href = "#651" > 651: < / a > < span class = "php-var" > $this< / span > -> admins_model-> add(< span class = "php-var" > $admin< / span > );
< / span > < span id = "652" class = "l" > < a class = "l" href = "#652" > 652: < / a >
< / span > < span id = "653" class = "l" > < a class = "l" href = "#653" > 653: < / a > < span class = "php-comment" > // Save company settings< / span >
< / span > < span id = "654" class = "l" > < a class = "l" href = "#654" > 654: < / a > < span class = "php-var" > $this< / span > -> load-> model(< span class = "php-quote" > 'settings_model'< / span > );
< / span > < span id = "655" class = "l" > < a class = "l" href = "#655" > 655: < / a > < span class = "php-var" > $company< / span > = < span class = "php-keyword2" > json_decode< / span > (< span class = "php-var" > $_POST< / span > [< span class = "php-quote" > 'company'< / span > ], < span class = "php-keyword1" > true< / span > );
< / span > < span id = "656" class = "l" > < a class = "l" href = "#656" > 656: < / a > < span class = "php-var" > $this< / span > -> settings_model-> set_setting(< span class = "php-quote" > 'company_name'< / span > , < span class = "php-var" > $company< / span > [< span class = "php-quote" > 'company_name'< / span > ]);
< / span > < span id = "657" class = "l" > < a class = "l" href = "#657" > 657: < / a > < span class = "php-var" > $this< / span > -> settings_model-> set_setting(< span class = "php-quote" > 'company_email'< / span > , < span class = "php-var" > $company< / span > [< span class = "php-quote" > 'company_email'< / span > ]);
< / span > < span id = "658" class = "l" > < a class = "l" href = "#658" > 658: < / a > < span class = "php-var" > $this< / span > -> settings_model-> set_setting(< span class = "php-quote" > 'company_link'< / span > , < span class = "php-var" > $company< / span > [< span class = "php-quote" > 'company_link'< / span > ]);
< / span > < span id = "659" class = "l" > < a class = "l" href = "#659" > 659: < / a >
< / span > < span id = "660" class = "l" > < a class = "l" href = "#660" > 660: < / a > < span class = "php-comment" > // Try to send a notification email for the new installation. < / span >
< / span > < span id = "661" class = "l" > < a class = "l" href = "#661" > 661: < / a > < span class = "php-comment" > // IMPORTANT: THIS WILL ONLY BE USED TO TRACK THE INSTALLATION NUMBER AND< / span >
< / span > < span id = "662" class = "l" > < a class = "l" href = "#662" > 662: < / a > < span class = "php-comment" > // NO PERSONAL DATA WILL BE USED FOR OTHER CAUSE.< / span >
< / span > < span id = "663" class = "l" > < a class = "l" href = "#663" > 663: < / a > < span class = "php-keyword1" > try< / span > {
< / span > < span id = "664" class = "l" > < a class = "l" href = "#664" > 664: < / a > < span class = "php-var" > $this< / span > -> load-> library(< span class = "php-quote" > 'notifications'< / span > );
< / span > < span id = "665" class = "l" > < a class = "l" href = "#665" > 665: < / a > < span class = "php-var" > $this< / span > -> notifications-> send_new_installation(< span class = "php-var" > $company< / span > [< span class = "php-quote" > 'company_name'< / span > ],
< / span > < span id = "666" class = "l" > < a class = "l" href = "#666" > 666: < / a > < span class = "php-var" > $company< / span > [< span class = "php-quote" > 'company_email'< / span > ], < span class = "php-var" > $company< / span > [< span class = "php-quote" > 'company_link'< / span > ]);
< / span > < span id = "667" class = "l" > < a class = "l" href = "#667" > 667: < / a > } < span class = "php-keyword1" > catch< / span > (Exception < span class = "php-var" > $exc< / span > ) {
< / span > < span id = "668" class = "l" > < a class = "l" href = "#668" > 668: < / a > < span class = "php-comment" > // Well, I guess we'll never know ...< / span >
< / span > < span id = "669" class = "l" > < a class = "l" href = "#669" > 669: < / a > }
< / span > < span id = "670" class = "l" > < a class = "l" href = "#670" > 670: < / a >
< / span > < span id = "671" class = "l" > < a class = "l" href = "#671" > 671: < / a > < span class = "php-keyword1" > echo< / span > < span class = "php-keyword2" > json_encode< / span > (AJAX_SUCCESS);
< / span > < span id = "672" class = "l" > < a class = "l" href = "#672" > 672: < / a >
< / span > < span id = "673" class = "l" > < a class = "l" href = "#673" > 673: < / a > } < span class = "php-keyword1" > catch< / span > (Exception < span class = "php-var" > $exc< / span > ) {
< / span > < span id = "674" class = "l" > < a class = "l" href = "#674" > 674: < / a > < span class = "php-keyword1" > echo< / span > < span class = "php-keyword2" > json_encode< / span > (< span class = "php-keyword1" > array< / span > (
< / span > < span id = "675" class = "l" > < a class = "l" href = "#675" > 675: < / a > < span class = "php-quote" > 'exceptions'< / span > => < span class = "php-keyword1" > array< / span > (exceptionToJavaScript(< span class = "php-var" > $exc< / span > ))
< / span > < span id = "676" class = "l" > < a class = "l" href = "#676" > 676: < / a > ));
< / span > < span id = "677" class = "l" > < a class = "l" href = "#677" > 677: < / a > }
< / span > < span id = "678" class = "l" > < a class = "l" href = "#678" > 678: < / a > }
< / span > < span id = "679" class = "l" > < a class = "l" href = "#679" > 679: < / a > }
< / span > < span id = "680" class = "l" > < a class = "l" href = "#680" > 680: < / a >
< / span > < span id = "681" class = "l" > < a class = "l" href = "#681" > 681: < / a > < span class = "php-comment" > /* End of file appointments.php */< / span >
< / span > < span id = "682" class = "l" > < a class = "l" href = "#682" > 682: < / a > < / span > < span class = "php-comment" > /* Location: ./application/controllers/appointments.php */< / span > < / code > < / pre >
2013-05-20 20:21:58 +03:00
< div id = "footer" >
API documentation generated by < a href = "http://apigen.org" > ApiGen 2.8.0< / a >
< / div >
< / div >
< / div >
< / body >
< / html >