easyappointments/doc/code/php/classes/Google_Sync.html

982 lines
56 KiB
HTML
Raw Normal View History

2015-01-22 00:17:16 +02:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
<meta charset="utf-8"/>
<title>API Documentation</title>
<meta name="author" content=""/>
<meta name="description" content=""/>
<link href="../css/bootstrap-combined.no-icons.min.css" rel="stylesheet">
<link href="../css/font-awesome.min.css" rel="stylesheet">
<link href="../css/prism.css" rel="stylesheet" media="all"/>
<link href="../css/template.css" rel="stylesheet" media="all"/>
<!--[if lt IE 9]>
<script src="../js/html5.js"></script>
<![endif]-->
<script src="../js/jquery-1.11.0.min.js"></script>
<script src="../js/ui/1.10.4/jquery-ui.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/jquery.smooth-scroll.js"></script>
<script src="../js/prism.min.js"></script>
<!-- TODO: Add http://jscrollpane.kelvinluck.com/ to style the scrollbars for browsers not using webkit-->
<script type="text/javascript">
function loadExternalCodeSnippets() {
Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function (pre) {
var src = pre.getAttribute('data-src');
var extension = (src.match(/\.(\w+)$/) || [, ''])[1];
var language = 'php';
var code = document.createElement('code');
code.className = 'language-' + language;
pre.textContent = '';
code.textContent = 'Loading…';
pre.appendChild(code);
var xhr = new XMLHttpRequest();
xhr.open('GET', src, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status < 400 && xhr.responseText) {
code.textContent = xhr.responseText;
Prism.highlightElement(code);
}
else if (xhr.status >= 400) {
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
}
else {
code.textContent = '✖ Error: File does not exist or is empty';
}
}
};
xhr.send(null);
});
}
$(document).ready(function(){
loadExternalCodeSnippets();
});
$('#source-view').on('shown', function () {
loadExternalCodeSnippets();
})
</script>
<link rel="shortcut icon" href="../images/favicon.ico"/>
<link rel="apple-touch-icon" href="../images/apple-touch-icon.png"/>
<link rel="apple-touch-icon" sizes="72x72" href="../images/apple-touch-icon-72x72.png"/>
<link rel="apple-touch-icon" sizes="114x114" href="../images/apple-touch-icon-114x114.png"/>
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<i class="icon-ellipsis-vertical"></i>
</a>
<a class="brand" href="../index.html">API Documentation</a>
<div class="nav-collapse">
<ul class="nav pull-right">
<li class="dropdown" id="charts-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Charts <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li>
<a href="../graphs/class.html">
<i class="icon-list-alt"></i>&#160;Class hierarchy diagram
</a>
</li>
</ul>
</li>
<li class="dropdown" id="reports-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Reports <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">368</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">0</span>
</a>
</li>
<li>
<a href="../reports/deprecated.html">
<i class="icon-list-alt"></i>&#160;Deprecated <span class="label label-info pull-right">1</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<!--<div class="go_to_top">-->
<!--<a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>-->
<!--</div>-->
</div>
<div id="___" class="container-fluid">
<section class="row-fluid">
<div class="span2 sidebar">
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1132808130"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1132808130" class="accordion-body collapse in">
<div class="accordion-inner">
<ul>
<li class="class"><a href="../classes/Admins_Model.html">Admins_Model</a></li>
<li class="class"><a href="../classes/Appointments.html">Appointments</a></li>
<li class="class"><a href="../classes/Appointments_Model.html">Appointments_Model</a></li>
<li class="class"><a href="../classes/Backend.html">Backend</a></li>
<li class="class"><a href="../classes/Backend_api.html">Backend_api</a></li>
<li class="class"><a href="../classes/Customers_Model.html">Customers_Model</a></li>
<li class="class"><a href="../classes/Errors.html">Errors</a></li>
<li class="class"><a href="../classes/Google.html">Google</a></li>
<li class="class"><a href="../classes/Google_Sync.html">Google_Sync</a></li>
<li class="class"><a href="../classes/Notifications.html">Notifications</a></li>
<li class="class"><a href="../classes/Providers_Model.html">Providers_Model</a></li>
<li class="class"><a href="../classes/Roles_Model.html">Roles_Model</a></li>
<li class="class"><a href="../classes/Secretaries_Model.html">Secretaries_Model</a></li>
<li class="class"><a href="../classes/Services_Model.html">Services_Model</a></li>
<li class="class"><a href="../classes/Settings_Model.html">Settings_Model</a></li>
<li class="class"><a href="../classes/Test.html">Test</a></li>
<li class="class"><a href="../classes/Unit_tests.html">Unit_tests</a></li>
<li class="class"><a href="../classes/Unit_tests_admins_model.html">Unit_tests_admins_model</a></li>
<li class="class"><a href="../classes/Unit_tests_appointments_model.html">Unit_tests_appointments_model</a></li>
<li class="class"><a href="../classes/Unit_tests_customers_model.html">Unit_tests_customers_model</a></li>
<li class="class"><a href="../classes/Unit_tests_providers_model.html">Unit_tests_providers_model</a></li>
<li class="class"><a href="../classes/Unit_tests_secretaries_model.html">Unit_tests_secretaries_model</a></li>
<li class="class"><a href="../classes/Unit_tests_services_model.html">Unit_tests_services_model</a></li>
<li class="class"><a href="../classes/Unit_tests_settings_model.html">Unit_tests_settings_model</a></li>
<li class="class"><a href="../classes/User.html">User</a></li>
<li class="class"><a href="../classes/User_Model.html">User_Model</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="row-fluid">
<div class="span10 offset2">
<div class="row-fluid">
<div class="span8 content class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
<h1><small>\</small>Google_Sync</h1>
<p><em>Google Synchronization Class</em></p>
<p>This class implements all the core synchronization between the Google Calendar
and the Easy!Appointments system. Do not place any model handling inside this
library.</p>
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/Google_Sync.html#method___construct" class="">__construct()</a><br />
<a href="../classes/Google_Sync.html#method_get_auth_url" class="">get_auth_url()</a><br />
<a href="../classes/Google_Sync.html#method_authenticate" class="">authenticate()</a><br />
<a href="../classes/Google_Sync.html#method_refresh_token" class="">refresh_token()</a><br />
<a href="../classes/Google_Sync.html#method_add_appointment" class="">add_appointment()</a><br />
<a href="../classes/Google_Sync.html#method_update_appointment" class="">update_appointment()</a><br />
<a href="../classes/Google_Sync.html#method_delete_appointment" class="">delete_appointment()</a><br />
<a href="../classes/Google_Sync.html#method_add_unavailable" class="">add_unavailable()</a><br />
<a href="../classes/Google_Sync.html#method_update_unavailable" class="">update_unavailable()</a><br />
<a href="../classes/Google_Sync.html#method_delete_unavailable" class="">delete_unavailable()</a><br />
<a href="../classes/Google_Sync.html#method_get_event" class="">get_event()</a><br />
<a href="../classes/Google_Sync.html#method_get_sync_events" class="">get_sync_events()</a><br />
<a href="../classes/Google_Sync.html#method_get_google_calendars" class="">get_google_calendars()</a><br />
</section>
<section class="span4">
<em>No public properties found</em>
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<em>No protected methods found</em>
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<em>No private methods found</em>
</section>
<section class="span4">
<a href="../classes/Google_Sync.html#property_CI" class="">$CI</a><br />
<a href="../classes/Google_Sync.html#property_client" class="">$client</a><br />
<a href="../classes/Google_Sync.html#property_service" class="">$service</a><br />
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/libraries.google_sync.html"><div class="path-wrapper">libraries/google_sync.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">Default</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\Google_Sync</div>
</dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="property_CI" name="property_CI" class="anchor"></a>
<article class="property">
<h3 class="private ">$CI</h3>
<pre class="signature">$CI : </pre>
<p><em></em></p>
<h4>Type</h4>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="property_client" name="property_client" class="anchor"></a>
<article class="property">
<h3 class="private ">$client</h3>
<pre class="signature">$client : </pre>
<p><em></em></p>
<h4>Type</h4>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="property_service" name="property_service" class="anchor"></a>
<article class="property">
<h3 class="private ">$service</h3>
<pre class="signature">$service : </pre>
<p><em></em></p>
<h4>Type</h4>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method___construct" name="method___construct" class="anchor"></a>
<article class="method">
<h3 class="public ">__construct()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">__construct() </pre>
<p><em>Class Constructor</em></p>
<p>This method initializes the Google client class and the Calendar service
class so that they can be used by the other methods.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_get_auth_url" name="method_get_auth_url" class="anchor"></a>
<article class="method">
<h3 class="public ">get_auth_url()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">get_auth_url() </pre>
<p><em>Get Google OAuth authorization url.</em></p>
<p>This url must be used to redirect the user to the Google user consent page,
where the user grants access to his data for the Easy!Appointments app.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_authenticate" name="method_authenticate" class="anchor"></a>
<article class="method">
<h3 class="public ">authenticate()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">authenticate( <span class="argument">$auth_code</span>) </pre>
<p><em>Authenticate the Google API usage.</em></p>
<p>When the user grants consent for his data usage, google is going to redirect
the browser back to the given redirect url. There a authentication code is
provided. Using this code, we can authenticate the API usage and store the
token information to the database.</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$auth_code </td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>See also</dt>
<dd><a href="../classes/Google.html"><span class="namespace-wrapper">Controller</span></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_refresh_token" name="method_refresh_token" class="anchor"></a>
<article class="method">
<h3 class="public ">refresh_token()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">refresh_token(string <span class="argument">$refresh_token</span>) </pre>
<p><em>Refresh the Google Client access token.</em></p>
<p>This method must be executed every time we need to make actions on a
provider's Google Calendar account. A new token is necessary and the
only way to get it is to use the stored refresh token that was provided
when the provider granted consent to Easy!Appointments for use his
Google Calendar account.</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$refresh_token </td>
<td><p>The provider's refresh token. This value is
stored in the database and used every time we need to make actions to his
Google Caledar account.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_add_appointment" name="method_add_appointment" class="anchor"></a>
<article class="method">
<h3 class="public ">add_appointment()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">add_appointment(array <span class="argument">$appointment</span>, array <span class="argument">$provider</span>, array <span class="argument">$service</span>, array <span class="argument">$customer</span>, <span class="argument">$company_settings</span>) : \Google_Event</pre>
<p><em>Add an appointment record to its providers Google Calendar account.</em></p>
<p>This method checks whether the appointment's provider has enabled the Google
Sync utility of Easy!Appointments and the stored access token is still valid.
If yes, the selected appointment record is going to be added to the Google
Calendar account.</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$appointment </td>
<td><p>Contains the appointment record data.</p></td>
</tr>
<tr>
<td>array</td>
<td>$provider </td>
<td><p>Contains the provider record data.</p></td>
</tr>
<tr>
<td>array</td>
<td>$service </td>
<td><p>Contains the service record data.</p></td>
</tr>
<tr>
<td>array</td>
<td>$customer </td>
<td><p>Contains the customer recod data.</p></td>
</tr>
<tr>
<td></td>
<td>$company_settings </td>
<td></td>
</tr>
</table>
<h4>Returns</h4>
\Google_Event
&mdash; <p>Returns the Google_Event class object.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
parma
</th>
<td>
<p>array $company_settings Contains some company settings that are used
by this method. By the time the following values must be in the array:
'company_name'.</p>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_update_appointment" name="method_update_appointment" class="anchor"></a>
<article class="method">
<h3 class="public ">update_appointment()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">update_appointment(array <span class="argument">$appointment</span>, array <span class="argument">$provider</span>, array <span class="argument">$service</span>, array <span class="argument">$customer</span>, <span class="argument">$company_settings</span>) : \Google_Event</pre>
<p><em>Update an existing appointment that is already synced with Google Calendar.</em></p>
<p>This method updates the google calendar event item that is connected with the
provided appointment record of Easy!Appointments.</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$appointment </td>
<td><p>Contains the appointment record data.</p></td>
</tr>
<tr>
<td>array</td>
<td>$provider </td>
<td><p>Contains the provider record data.</p></td>
</tr>
<tr>
<td>array</td>
<td>$service </td>
<td><p>Contains the service record data.</p></td>
</tr>
<tr>
<td>array</td>
<td>$customer </td>
<td><p>Contains the customer recod data.</p></td>
</tr>
<tr>
<td></td>
<td>$company_settings </td>
<td></td>
</tr>
</table>
<h4>Returns</h4>
\Google_Event
&mdash; <p>Returns the Google_Event class object.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
parma
</th>
<td>
<p>array $company_settings Contains some company settings that are used
by this method. By the time the following values must be in the array:
'company_name'.</p>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_delete_appointment" name="method_delete_appointment" class="anchor"></a>
<article class="method">
<h3 class="public ">delete_appointment()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">delete_appointment(array <span class="argument">$provider</span>, string <span class="argument">$google_event_id</span>) </pre>
<p><em>Delete an existing appointment from Google Calendar.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$provider </td>
<td><p>Contains the provider record data.</p></td>
</tr>
<tr>
<td>string</td>
<td>$google_event_id </td>
<td><p>The Google Calendar event id to
be deleted.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_add_unavailable" name="method_add_unavailable" class="anchor"></a>
<article class="method">
<h3 class="public ">add_unavailable()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">add_unavailable(array <span class="argument">$provider</span>, array <span class="argument">$unavailable</span>) : \Google_Event</pre>
<p><em>Add unavailable period event to Google Calendar.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$provider </td>
<td><p>Contains the provider record data.</p></td>
</tr>
<tr>
<td>array</td>
<td>$unavailable </td>
<td><p>Contains unavailable period's data.</p></td>
</tr>
</table>
<h4>Returns</h4>
\Google_Event
&mdash; <p>Returns the google event's object.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_update_unavailable" name="method_update_unavailable" class="anchor"></a>
<article class="method">
<h3 class="public ">update_unavailable()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">update_unavailable(array <span class="argument">$provider</span>, array <span class="argument">$unavailable</span>) : \Google_Event</pre>
<p><em>Update Google Calendar unavailable period event.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$provider </td>
<td><p>Contains the provider record data.</p></td>
</tr>
<tr>
<td>array</td>
<td>$unavailable </td>
<td><p>Contains the unavailable period data.</p></td>
</tr>
</table>
<h4>Returns</h4>
\Google_Event
&mdash; <p>Returns the Google_Event object.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_delete_unavailable" name="method_delete_unavailable" class="anchor"></a>
<article class="method">
<h3 class="public ">delete_unavailable()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">delete_unavailable(array <span class="argument">$provider</span>, string <span class="argument">$google_event_id</span>) </pre>
<p><em>Delete unavailable period event from Google Calendar.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$provider </td>
<td><p>Contains the provider record data.</p></td>
</tr>
<tr>
<td>string</td>
<td>$google_event_id </td>
<td><p>Google Calendar event id to be deleted.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_get_event" name="method_get_event" class="anchor"></a>
<article class="method">
<h3 class="public ">get_event()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">get_event(array <span class="argument">$provider</span>, string <span class="argument">$google_event_id</span>) : \Google_Event</pre>
<p><em>Get an event object from gcal</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$provider </td>
<td><p>Contains the provider record data.</p></td>
</tr>
<tr>
<td>string</td>
<td>$google_event_id </td>
<td><p>Id of the google calendar event</p></td>
</tr>
</table>
<h4>Returns</h4>
\Google_Event
&mdash; <p>Returns the google event object.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_get_sync_events" name="method_get_sync_events" class="anchor"></a>
<article class="method">
<h3 class="public ">get_sync_events()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">get_sync_events(string <span class="argument">$google_calendar</span>, \date <span class="argument">$start</span>, \date <span class="argument">$end</span>) : object</pre>
<p><em>Get all the events between the sync period.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$google_calendar </td>
<td><p>The name of the google calendar to be used.</p></td>
</tr>
<tr>
<td>\date</td>
<td>$start </td>
<td><p>The start date of sync period.</p></td>
</tr>
<tr>
<td>\date</td>
<td>$end </td>
<td><p>The end date of sync period.</p></td>
</tr>
</table>
<h4>Returns</h4>
object
&mdash; <p>Returns an array with Google_Event objects that belong on the given
sync period (start, end).</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_get_google_calendars" name="method_get_google_calendars" class="anchor"></a>
<article class="method">
<h3 class="public ">get_google_calendars()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">get_google_calendars() : array</pre>
<p><em>Return available google calendars for specific user.</em></p>
<p>The given user's token must already exist in db in order to get access to his
Google Calendar account.</p>
<h4>Returns</h4>
array
&mdash; <p>Returns an array with the available calendars.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
</div>
</section>
<div id="source-view" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="source-view-label" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">google_sync.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/libraries/google_sync.php.txt" class="language-php line-numbers"></pre>
</div>
</div>
<footer class="row-fluid">
<section class="span10 offset2">
<section class="row-fluid">
<section class="span10 offset1">
<section class="row-fluid footer-sections">
<section class="span4">
<h1><i class="icon-code"></i></h1>
<div>
<ul>
</ul>
</div>
</section>
<section class="span4">
<h1><i class="icon-bar-chart"></i></h1>
<div>
<ul>
<li><a href="../graphs/class.html">Class Hierarchy Diagram</a></li>
</ul>
</div>
</section>
<section class="span4">
<h1><i class="icon-pushpin"></i></h1>
<div>
<ul>
<li><a href="../reports/errors.html">Errors</a></li>
<li><a href="../reports/markers.html">Markers</a></li>
</ul>
</div>
</section>
</section>
</section>
</section>
<section class="row-fluid">
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 21st, 2015 at 23:15.
</section>
</section>
</section>
</footer>
</div>
</body>
</html>