easyappointments/doc/code/php/class-Appointments_Model.html

701 lines
18 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Class Appointments_Model</title>
<link rel="stylesheet" href="resources/bootstrap.min.css?08b23951ef4599ca9cbf1f902d0e8290c9653ddd">
<link rel="stylesheet" href="resources/style.css?062e9e59e0b8c44fbaaded5b7ffc21f907b78669">
</head>
<body>
<div id="navigation" class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a href="index.html" class="brand">Overview</a>
<div class="nav-collapse">
<ul class="nav">
<li class="active">
<span>Class</span> </li>
<li class="divider-vertical"></li>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div id="left">
<div id="menu">
<form id="search" class="form-search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="search-query" placeholder="Search">
</form>
<div id="groups">
</div>
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Admins_Model.html">Admins_Model</a></li>
<li><a href="class-Appointments.html">Appointments</a></li>
<li class="active"><a href="class-Appointments_Model.html">Appointments_Model</a></li>
<li><a href="class-Backend.html">Backend</a></li>
<li><a href="class-Backend_api.html">Backend_api</a></li>
<li><a href="class-Customers_Model.html">Customers_Model</a></li>
<li><a href="class-Errors.html">Errors</a></li>
<li><a href="class-Google.html">Google</a></li>
<li><a href="class-Google_Sync.html">Google_Sync</a></li>
<li><a href="class-Notifications.html">Notifications</a></li>
<li><a href="class-Providers_Model.html">Providers_Model</a></li>
<li><a href="class-Roles_Model.html">Roles_Model</a></li>
<li><a href="class-Secretaries_Model.html">Secretaries_Model</a></li>
<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>
<li><a href="class-Unit_tests.html">Unit_tests</a></li>
<li><a href="class-Unit_tests_admins_model.html">Unit_tests_admins_model</a></li>
<li><a href="class-Unit_tests_appointments_model.html">Unit_tests_appointments_model</a></li>
<li><a href="class-Unit_tests_customers_model.html">Unit_tests_customers_model</a></li>
<li><a href="class-Unit_tests_providers_model.html">Unit_tests_providers_model</a></li>
<li><a href="class-Unit_tests_secretaries_model.html">Unit_tests_secretaries_model</a></li>
<li><a href="class-Unit_tests_services_model.html">Unit_tests_services_model</a></li>
<li><a href="class-Unit_tests_settings_model.html">Unit_tests_settings_model</a></li>
<li><a href="class-User.html">User</a></li>
<li><a href="class-User_Model.html">User_Model</a></li>
</ul>
<h3>Interfaces</h3>
<ul>
<li><a href="class-Admins_Model.html">Admins_Model</a></li>
<li><a href="class-Appointments.html">Appointments</a></li>
<li class="active"><a href="class-Appointments_Model.html">Appointments_Model</a></li>
<li><a href="class-Backend.html">Backend</a></li>
<li><a href="class-Backend_api.html">Backend_api</a></li>
<li><a href="class-Customers_Model.html">Customers_Model</a></li>
<li><a href="class-Errors.html">Errors</a></li>
<li><a href="class-Google.html">Google</a></li>
<li><a href="class-Google_Sync.html">Google_Sync</a></li>
<li><a href="class-Notifications.html">Notifications</a></li>
<li><a href="class-Providers_Model.html">Providers_Model</a></li>
<li><a href="class-Roles_Model.html">Roles_Model</a></li>
<li><a href="class-Secretaries_Model.html">Secretaries_Model</a></li>
<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>
<li><a href="class-Unit_tests.html">Unit_tests</a></li>
<li><a href="class-Unit_tests_admins_model.html">Unit_tests_admins_model</a></li>
<li><a href="class-Unit_tests_appointments_model.html">Unit_tests_appointments_model</a></li>
<li><a href="class-Unit_tests_customers_model.html">Unit_tests_customers_model</a></li>
<li><a href="class-Unit_tests_providers_model.html">Unit_tests_providers_model</a></li>
<li><a href="class-Unit_tests_secretaries_model.html">Unit_tests_secretaries_model</a></li>
<li><a href="class-Unit_tests_services_model.html">Unit_tests_services_model</a></li>
<li><a href="class-Unit_tests_settings_model.html">Unit_tests_settings_model</a></li>
<li><a href="class-User.html">User</a></li>
<li><a href="class-User_Model.html">User_Model</a></li>
</ul>
</div>
</div>
</div>
<div id="splitter"></div>
<div id="right">
<div id="rightInner">
<div id="content" class="class">
<h1>Class Appointments_Model</h1>
<dl class="tree well">
<dd style="padding-left:0px">
CI_Model
</dd>
<dd style="padding-left:30px">
<img src="resources/inherit.png" alt="Extended by">
<b><span>Appointments_Model</span></b>
</dd>
</dl>
<div class="alert alert-info">
<b>Located at</b> <a href="source-class-Appointments_Model.html#3-387" title="Go to source code">appointments_model.php</a>
<br>
</div>
<h2>Methods summary</h2>
<table class="summary table table-bordered table-striped methods" id="methods">
<tr data-order="__construct" id="___construct">
<td class="attributes"><code>
public
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#___construct">#</a>
<code><a href="source-class-Appointments_Model.html#4-9" title="Go to source code">__construct</a>( )</code>
<div class="description short">
<p>Class Constructor</p>
</div>
<div class="description detailed hidden">
<p>Class Constructor</p>
</div>
</div></td>
</tr>
<tr data-order="add" id="_add">
<td class="attributes"><code>
public
integer
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_add">#</a>
<code><a href="source-class-Appointments_Model.html#11-34" title="Go to source code">add</a>( <span>array <var>$appointment</var></span> )</code>
<div class="description short">
<p>Add an appointment record to the database.</p>
</div>
<div class="description detailed hidden">
<p>Add an appointment record to the database.</p>
<p>This method adds a new appointment to the database. If the
appointment doesn't exists it is going to be inserted, otherwise
the record is going to be updated.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$appointment</var></dt>
<dd><p>Associative array with the appointment
data. Each key has the same name with the database fields.</p></dd>
</dl></div>
<h4>Returns</h4>
<div class="list">
integer<br>Returns the appointments id.
</div>
</div>
</div></td>
</tr>
<tr data-order="exists" id="_exists">
<td class="attributes"><code>
public
boolean
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_exists">#</a>
<code><a href="source-class-Appointments_Model.html#36-67" title="Go to source code">exists</a>( <span>array <var>$appointment</var></span> )</code>
<div class="description short">
<p>Check if a particular appointment record already exists.</p>
</div>
<div class="description detailed hidden">
<p>Check if a particular appointment record already exists.</p>
<p>This method checks wether the given appointment already exists
in the database. It doesn't search with the id, but by using the
following fields: "start_datetime", "end_datetime", "id_users_provider",
"id_users_customer", "id_services".</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$appointment</var></dt>
<dd><p>Associative array with the appointment's
data. Each key has the same name with the database fields.</p></dd>
</dl></div>
<h4>Returns</h4>
<div class="list">
boolean<br>Returns wether the record exists or not.
</div>
</div>
</div></td>
</tr>
<tr data-order="find_record_id" id="_find_record_id">
<td class="attributes"><code>
public
integer
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_find_record_id">#</a>
<code><a href="source-class-Appointments_Model.html#106-137" title="Go to source code">find_record_id</a>( <span>array <var>$appointment</var></span> )</code>
<div class="description short">
<p>Find the database id of an appointment record.</p>
</div>
<div class="description detailed hidden">
<p>Find the database id of an appointment record.</p>
<p>The appointment data should include the following fields in order
to get the unique id from the database: "start_datetime", "end_datetime",
"id_users_provider", "id_users_customer", "id_services".</p>
<p><strong>IMPORTANT!</strong> The record must already exists in the
database, otherwise an exception is raised.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$appointment</var></dt>
<dd><p>Array with the appointment data. The
keys of the array should have the same names as the db fields.</p></dd>
</dl></div>
<h4>Returns</h4>
<div class="list">
integer<br><p>Returns the db id of the record that matches the apppointment
data.</p>
</div>
</div>
</div></td>
</tr>
<tr data-order="validate" id="_validate">
<td class="attributes"><code>
public
boolean
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_validate">#</a>
<code><a href="source-class-Appointments_Model.html#139-203" title="Go to source code">validate</a>( <span>array <var>$appointment</var></span> )</code>
<div class="description short">
<p>Validate appointment data before the insert or update operations
are executed.</p>
</div>
<div class="description detailed hidden">
<p>Validate appointment data before the insert or update operations
are executed.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$appointment</var></dt>
<dd>Contains the appointment data.</dd>
</dl></div>
<h4>Returns</h4>
<div class="list">
boolean<br>Returns the validation result.
</div>
</div>
</div></td>
</tr>
<tr data-order="delete" id="_delete">
<td class="attributes"><code>
public
boolean
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_delete">#</a>
<code><a href="source-class-Appointments_Model.html#205-227" title="Go to source code">delete</a>( <span>numeric <var>$appointment_id</var></span> )</code>
<div class="description short">
<p>Delete an existing appointment record from the database.</p>
</div>
<div class="description detailed hidden">
<p>Delete an existing appointment record from the database.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$appointment_id</var></dt>
<dd>The record id to be deleted.</dd>
</dl></div>
<h4>Returns</h4>
<div class="list">
boolean<br>Returns the delete operation result.
</div>
<h4>Expectedexception</h4>
<div class="list">
<p>InvalidArgumentException Raises when the $appointment_id
is not an integer.</p><br>
</div>
</div>
</div></td>
</tr>
<tr data-order="get_row" id="_get_row">
<td class="attributes"><code>
public
array
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_get_row">#</a>
<code><a href="source-class-Appointments_Model.html#229-244" title="Go to source code">get_row</a>( <span>numeric <var>$appointment_id</var></span> )</code>
<div class="description short">
<p>Get a specific row from the appointments table.</p>
</div>
<div class="description detailed hidden">
<p>Get a specific row from the appointments table.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$appointment_id</var></dt>
<dd>The record's id to be returned.</dd>
</dl></div>
<h4>Returns</h4>
<div class="list">
array<br><p>Returns an associative array with the selected
record's data. Each key has the same name as the database
field names.</p>
</div>
</div>
</div></td>
</tr>
<tr data-order="get_value" id="_get_value">
<td class="attributes"><code>
public
string
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_get_value">#</a>
<code><a href="source-class-Appointments_Model.html#246-279" title="Go to source code">get_value</a>( <span>string <var>$field_name</var></span>, <span>numeric <var>$appointment_id</var></span> )</code>
<div class="description short">
<p>Get a specific field value from the database.</p>
</div>
<div class="description detailed hidden">
<p>Get a specific field value from the database.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$field_name</var></dt>
<dd>The field name of the value to be returned.</dd>
<dt><var>$appointment_id</var></dt>
<dd>The selected record's id.</dd>
</dl></div>
<h4>Returns</h4>
<div class="list">
string<br>Returns the records value from the database.
</div>
</div>
</div></td>
</tr>
<tr data-order="get_batch" id="_get_batch">
<td class="attributes"><code>
public
array
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_get_batch">#</a>
<code><a href="source-class-Appointments_Model.html#281-296" title="Go to source code">get_batch</a>( <span>string <var>$where_clause</var> = <span class="php-quote">''</span></span> )</code>
<div class="description short">
<p>Get all, or specific records from appointment's table.</p>
</div>
<div class="description detailed hidden">
<p>Get all, or specific records from appointment's table.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$where_clause</var></dt>
<dd><p>(OPTIONAL) The WHERE clause of
the query to be executed. DO NOT INCLUDE 'WHERE' KEYWORD.</p></dd>
</dl></div>
<h4>Returns</h4>
<div class="list">
array<br>Returns the rows from the database.
</div>
<h4>Example</h4>
<div class="list">
$this->Model->getBatch('id = ' . $recordId);<br>
</div>
</div>
</div></td>
</tr>
<tr data-order="generate_hash" id="_generate_hash">
<td class="attributes"><code>
public
string
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_generate_hash">#</a>
<code><a href="source-class-Appointments_Model.html#298-311" title="Go to source code">generate_hash</a>( )</code>
<div class="description short">
<p>Generate a unique hash for the given appointment data.</p>
</div>
<div class="description detailed hidden">
<p>Generate a unique hash for the given appointment data.</p>
<p>This method uses the current date-time to generate a unique
hash string that is later used to identify this appointment.
Hash is needed when the email is send to the user with an
edit link.</p>
<h4>Returns</h4>
<div class="list">
string<br>Returns the unique appointment hash.
</div>
</div>
</div></td>
</tr>
<tr data-order="add_unavailable" id="_add_unavailable">
<td class="attributes"><code>
public
integer
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_add_unavailable">#</a>
<code><a href="source-class-Appointments_Model.html#313-350" title="Go to source code">add_unavailable</a>( <span>array <var>$unavailable</var></span> )</code>
<div class="description short">
<p>Inserts or updates an unavailable period record in the database.</p>
</div>
<div class="description detailed hidden">
<p>Inserts or updates an unavailable period record in the database.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$unavailable</var></dt>
<dd>Contains the unavaible data.</dd>
</dl></div>
<h4>Returns</h4>
<div class="list">
integer<br>Returns the record id.
</div>
</div>
</div></td>
</tr>
<tr data-order="delete_unavailable" id="_delete_unavailable">
<td class="attributes"><code>
public
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_delete_unavailable">#</a>
<code><a href="source-class-Appointments_Model.html#352-371" title="Go to source code">delete_unavailable</a>( <span>numeric <var>$unavailable_id</var></span> )</code>
<div class="description short">
<p>Delete an unavailable period.</p>
</div>
<div class="description detailed hidden">
<p>Delete an unavailable period.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$unavailable_id</var></dt>
<dd>Record id to be deleted.</dd>
</dl></div>
</div>
</div></td>
</tr>
<tr data-order="clear_google_sync_ids" id="_clear_google_sync_ids">
<td class="attributes"><code>
public
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_clear_google_sync_ids">#</a>
<code><a href="source-class-Appointments_Model.html#373-386" title="Go to source code">clear_google_sync_ids</a>( <span>numeric <var>$provider_id</var></span> )</code>
<div class="description short">
<p>Clear google sync IDs from appointment record.</p>
</div>
<div class="description detailed hidden">
<p>Clear google sync IDs from appointment record.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$provider_id</var></dt>
<dd>The appointment provider record id.</dd>
</dl></div>
</div>
</div></td>
</tr>
</table>
<h3>Magic methods summary</h3>
</div>
</div>
<div id="footer">
API documentation generated by <a href="http://apigen.org">ApiGen</a>
</div>
</div>
<script src="resources/combined.js"></script>
<script src="elementlist.js"></script>
</body>
</html>