Overview

Namespaces

  • Azalea
    • Selenium
      • App
        • Charts
        • Components
        • Encounters
        • Home
        • Login
        • Main
        • Messages
        • Patients
        • Scheduler
      • Core
      • EHR
        • UI
          • Charts
          • Documents
          • Encounters
          • Home
          • Messaging
            • Folders
          • Patients
          • Payments
          • Precerts
          • Reports
          • Scheduler
          • Settings
            • General
              • Locations
              • Roles
              • Users
        • User
      • Login
        • UI
      • PHR
        • UI
        • User
      • Toolkit
        • Exception
        • Validation
    • Util
  • None
  • tests
    • integration
      • barebones
        • controllers
          • charts
          • patients
          • system
        • models
          • billing
          • encounters
          • examples
          • messaging
          • rcm
          • system
    • unit
      • barebones
        • lib
        • utilities
          • calculations

Classes

  • AddPatientTest
  • Azalea\Selenium\App\ApplicationTestCase
  • Azalea\Selenium\App\Charts\Chart
  • Azalea\Selenium\App\Charts\ChartAssessment
  • Azalea\Selenium\App\Charts\ChartDiagnosisCodes
  • Azalea\Selenium\App\Charts\ChartListControls
  • Azalea\Selenium\App\Charts\ChartObjective
  • Azalea\Selenium\App\Charts\ChartProcedureCodes
  • Azalea\Selenium\App\Charts\Charts
  • Azalea\Selenium\App\Charts\ChartSubjective
  • Azalea\Selenium\App\Components\CodeLookup
  • Azalea\Selenium\App\Components\CollectionGrid
  • Azalea\Selenium\App\Components\Popup
  • Azalea\Selenium\App\Customers
  • Azalea\Selenium\App\Encounters\Encounter
  • Azalea\Selenium\App\Encounters\EncounterDiagnosisCodes
  • Azalea\Selenium\App\Encounters\EncounterLedger
  • Azalea\Selenium\App\Encounters\EncounterProcedureCodes
  • Azalea\Selenium\App\Encounters\Encounters
  • Azalea\Selenium\App\Home\Home
  • Azalea\Selenium\App\Login\LoginPage
  • Azalea\Selenium\App\Main\MainSearch
  • Azalea\Selenium\App\Messages\Messages
  • Azalea\Selenium\App\Patients
  • Azalea\Selenium\App\Patients\Patient
  • Azalea\Selenium\App\Patients\PatientCharts
  • Azalea\Selenium\App\Patients\PatientEditDemographicsForm
  • Azalea\Selenium\App\Patients\PatientEncounters
  • Azalea\Selenium\App\Patients\PatientFaker
  • Azalea\Selenium\App\Patients\PatientList
  • Azalea\Selenium\App\Patients\PatientListFilters
  • Azalea\Selenium\App\Patients\Patients
  • Azalea\Selenium\App\Providers
  • Azalea\Selenium\App\Scheduler\AppointmentPopup
  • Azalea\Selenium\App\Scheduler\Scheduler
  • Azalea\Selenium\App\Users
  • Azalea\Selenium\Core\BaseTestCase
  • Azalea\Selenium\Core\Browser
  • Azalea\Selenium\Core\Page
  • Azalea\Selenium\Core\User
  • Azalea\Selenium\Core\View
  • Azalea\Selenium\Core\WebDriver
  • Azalea\Selenium\EHR\Application
  • Azalea\Selenium\EHR\EHR
  • Azalea\Selenium\EHR\EHRTestCase
  • Azalea\Selenium\EHR\EMR
  • Azalea\Selenium\EHR\PM
  • Azalea\Selenium\EHR\UI\Charts\ChartsList
  • Azalea\Selenium\EHR\UI\Charts\ChartsListRow
  • Azalea\Selenium\EHR\UI\Charts\ChartsListTab
  • Azalea\Selenium\EHR\UI\CheckboxGrid
  • Azalea\Selenium\EHR\UI\Documents\Documents
  • Azalea\Selenium\EHR\UI\Documents\DocumentsTab
  • Azalea\Selenium\EHR\UI\Encounters\Encounters
  • Azalea\Selenium\EHR\UI\Encounters\EncountersTab
  • Azalea\Selenium\EHR\UI\Grid
  • Azalea\Selenium\EHR\UI\GridRow
  • Azalea\Selenium\EHR\UI\Heading
  • Azalea\Selenium\EHR\UI\Home\Home
  • Azalea\Selenium\EHR\UI\Home\OfficeOverview
  • Azalea\Selenium\EHR\UI\LockScreen
  • Azalea\Selenium\EHR\UI\MainMenu
  • Azalea\Selenium\EHR\UI\MainSearch
  • Azalea\Selenium\EHR\UI\Messaging\Folders\MessagingAllMail
  • Azalea\Selenium\EHR\UI\Messaging\Folders\MessagingInbox
  • Azalea\Selenium\EHR\UI\Messaging\Folders\MessagingSentMail
  • Azalea\Selenium\EHR\UI\Messaging\Folders\MessagingStarred
  • Azalea\Selenium\EHR\UI\Messaging\Folders\MessagingTrashed
  • Azalea\Selenium\EHR\UI\Messaging\Messaging
  • Azalea\Selenium\EHR\UI\Messaging\MessagingCompose
  • Azalea\Selenium\EHR\UI\Messaging\MessagingFolder
  • Azalea\Selenium\EHR\UI\Messaging\MessagingMenu
  • Azalea\Selenium\EHR\UI\Messaging\MessagingReply
  • Azalea\Selenium\EHR\UI\Messaging\MessagingTab
  • Azalea\Selenium\EHR\UI\Messaging\MessagingViewMessage
  • Azalea\Selenium\EHR\UI\Module
  • Azalea\Selenium\EHR\UI\Notifications
  • Azalea\Selenium\EHR\UI\Patients\ChartsListRow
  • Azalea\Selenium\EHR\UI\Patients\ChartsTab
  • Azalea\Selenium\EHR\UI\Patients\PatientAllergies
  • Azalea\Selenium\EHR\UI\Patients\PatientAllergyEditPopup
  • Azalea\Selenium\EHR\UI\Patients\PatientAllergySearchPopup
  • Azalea\Selenium\EHR\UI\Patients\PatientAppointments
  • Azalea\Selenium\EHR\UI\Patients\PatientAssembly
  • Azalea\Selenium\EHR\UI\Patients\PatientCharts
  • Azalea\Selenium\EHR\UI\Patients\PatientChartsList
  • Azalea\Selenium\EHR\UI\Patients\PatientComments
  • Azalea\Selenium\EHR\UI\Patients\PatientDashboard
  • Azalea\Selenium\EHR\UI\Patients\PatientDemographics
  • Azalea\Selenium\EHR\UI\Patients\PatientDemographicsPopup
  • Azalea\Selenium\EHR\UI\Patients\PatientDocuments
  • Azalea\Selenium\EHR\UI\Patients\PatientDocumentsList
  • Azalea\Selenium\EHR\UI\Patients\PatientEncounters
  • Azalea\Selenium\EHR\UI\Patients\PatientEncountersAddPopup
  • Azalea\Selenium\EHR\UI\Patients\PatientHandouts
  • Azalea\Selenium\EHR\UI\Patients\PatientInsurance
  • Azalea\Selenium\EHR\UI\Patients\PatientLabOrders
  • Azalea\Selenium\EHR\UI\Patients\PatientLabOrdersAddView
  • Azalea\Selenium\EHR\UI\Patients\PatientMedications
  • Azalea\Selenium\EHR\UI\Patients\PatientPortal
  • Azalea\Selenium\EHR\UI\Patients\PatientRecalls
  • Azalea\Selenium\EHR\UI\Patients\Patients
  • Azalea\Selenium\EHR\UI\Patients\PatientSearchPopup
  • Azalea\Selenium\EHR\UI\Patients\PatientSection
  • Azalea\Selenium\EHR\UI\Patients\PatientSidebar
  • Azalea\Selenium\EHR\UI\Patients\PatientsList
  • Azalea\Selenium\EHR\UI\Patients\PatientsListRow
  • Azalea\Selenium\EHR\UI\Patients\PatientsListTab
  • Azalea\Selenium\EHR\UI\Patients\PatientsTab
  • Azalea\Selenium\EHR\UI\Patients\PatientTab
  • Azalea\Selenium\EHR\UI\Patients\PatientTasks
  • Azalea\Selenium\EHR\UI\Patients\PatientVitals
  • Azalea\Selenium\EHR\UI\Patients\PatientVitalsAddPopup
  • Azalea\Selenium\EHR\UI\Payments\EDIRemitsTab
  • Azalea\Selenium\EHR\UI\Payments\Payments
  • Azalea\Selenium\EHR\UI\Payments\PaymentsTab
  • Azalea\Selenium\EHR\UI\Payments\UnappliedPaymentsTab
  • Azalea\Selenium\EHR\UI\Popup
  • Azalea\Selenium\EHR\UI\PopupConfirm
  • Azalea\Selenium\EHR\UI\PopupError
  • Azalea\Selenium\EHR\UI\Precerts\Precerts
  • Azalea\Selenium\EHR\UI\Precerts\PrecertsTab
  • Azalea\Selenium\EHR\UI\Reports\AuditLogTab
  • Azalea\Selenium\EHR\UI\Reports\ClinicalQualityMeasuresTab
  • Azalea\Selenium\EHR\UI\Reports\ClinicalQualityMeasuresValueSetsTab
  • Azalea\Selenium\EHR\UI\Reports\MeaningfulUseTab
  • Azalea\Selenium\EHR\UI\Reports\PatientStatementsTab
  • Azalea\Selenium\EHR\UI\Reports\RecordsTab
  • Azalea\Selenium\EHR\UI\Reports\Reports
  • Azalea\Selenium\EHR\UI\Reports\ReportsQueueTab
  • Azalea\Selenium\EHR\UI\Reports\ReportsTab
  • Azalea\Selenium\EHR\UI\Reports\SystemStatisticsTab
  • Azalea\Selenium\EHR\UI\Scheduler\AppointmentsRequestsTab
  • Azalea\Selenium\EHR\UI\Scheduler\AppointmentsTab
  • Azalea\Selenium\EHR\UI\Scheduler\RecallsTab
  • Azalea\Selenium\EHR\UI\Scheduler\Scheduler
  • Azalea\Selenium\EHR\UI\Scheduler\SchedulerTab
  • Azalea\Selenium\EHR\UI\SelectDropdown
  • Azalea\Selenium\EHR\UI\Settings\BillingTab
  • Azalea\Selenium\EHR\UI\Settings\General\GroupsSection
  • Azalea\Selenium\EHR\UI\Settings\General\HandoutsSection
  • Azalea\Selenium\EHR\UI\Settings\General\InsurancesSection
  • Azalea\Selenium\EHR\UI\Settings\General\Locations\LocationRow
  • Azalea\Selenium\EHR\UI\Settings\General\Locations\LocationsList
  • Azalea\Selenium\EHR\UI\Settings\General\LocationsSection
  • Azalea\Selenium\EHR\UI\Settings\General\ProvidersSection
  • Azalea\Selenium\EHR\UI\Settings\General\Roles\RoleCreatePopup
  • Azalea\Selenium\EHR\UI\Settings\General\Roles\RoleRow
  • Azalea\Selenium\EHR\UI\Settings\General\Roles\RolesList
  • Azalea\Selenium\EHR\UI\Settings\General\RolesSection
  • Azalea\Selenium\EHR\UI\Settings\General\Users\UserDetails
  • Azalea\Selenium\EHR\UI\Settings\General\Users\UserRow
  • Azalea\Selenium\EHR\UI\Settings\General\Users\UsersList
  • Azalea\Selenium\EHR\UI\Settings\General\UsersSection
  • Azalea\Selenium\EHR\UI\Settings\GeneralTab
  • Azalea\Selenium\EHR\UI\Settings\InventoryTab
  • Azalea\Selenium\EHR\UI\Settings\MedicalTab
  • Azalea\Selenium\EHR\UI\Settings\PatientTab
  • Azalea\Selenium\EHR\UI\Settings\SchedulerTab
  • Azalea\Selenium\EHR\UI\Settings\Settings
  • Azalea\Selenium\EHR\UI\TabContainer
  • Azalea\Selenium\EHR\UI\TabPanel
  • Azalea\Selenium\EHR\UI\UserAccountMenu
  • Azalea\Selenium\EHR\User\EHRAdminTestingUser
  • Azalea\Selenium\EHR\User\EMRAdminTestingUser
  • Azalea\Selenium\EHR\User\PMAdminTestingUser
  • Azalea\Selenium\Login\LoginPage
  • Azalea\Selenium\Login\LoginTestCase
  • Azalea\Selenium\Login\ResetPasswordPage
  • Azalea\Selenium\Login\UI\LoginForm
  • Azalea\Selenium\Login\UI\ResetPasswordForm
  • Azalea\Selenium\PHR\Application
  • Azalea\Selenium\PHR\PHR
  • Azalea\Selenium\PHR\PHRTestCase
  • Azalea\Selenium\PHR\UI\PopupError
  • Azalea\Selenium\PHR\User\PHRTestingUser
  • Azalea\Selenium\Toolkit\Dom
  • Azalea\Selenium\Toolkit\NestedHashMap
  • Azalea\Selenium\Toolkit\ResourceLoader
  • Azalea\Selenium\Toolkit\SauceLabsTestCase
  • Azalea\Selenium\Toolkit\SeleniumTestCase
  • Azalea\Selenium\Toolkit\TestCase
  • Azalea\Selenium\Toolkit\Validation\ElementExists
  • Azalea\Selenium\Toolkit\Validation\ElementHasText
  • Azalea\Selenium\Toolkit\Validation\ElementVisible
  • Azalea\Selenium\Toolkit\Validation\PageTitle
  • Azalea\Selenium\Toolkit\Validation\ValidationRule
  • Azalea\Selenium\Toolkit\Validation\ViewExists
  • Azalea\Selenium\Toolkit\Validation\WebDriverValidator
  • Azalea\Selenium\Toolkit\View
  • Azalea\Util\Config
  • Azalea\Util\Debug
  • Azalea_Sniffs_WhiteSpace_ScopeClosingBraceSniff
  • BaseModelTestCase
  • ChartAssessmentTest
  • ChartCustomFieldBehaviorsTest
  • ChartDiagnosisTest
  • ChartEncounterDiagnosisTest
  • ChartEncounterProceduresTest
  • ChartInventoryTest
  • ChartObjectiveTest
  • ChartProblemHistoryTest
  • ChartProceduresTest
  • ChartProviderAccessTest
  • ChartSigningTest
  • ChartsListProviderAccessTest
  • ChartSmokingStatusTest
  • ChartSubjectiveTest
  • ConfigTest
  • EncounterClaimsTest
  • EncounterDemographicsTest
  • EncounterDiagnosisTest
  • EncounterGuarantorTest
  • EncounterLedgerTest
  • EncounterProceduresTest
  • ExampleTestCase
  • MessagesLabelsTest
  • PageTest
  • PatentsListTest
  • PathManagerTest
  • PatientAccountSummaryTest
  • PatientBillingActionsTest
  • PatientCommentsTest
  • PatientDashboardAlertsTest
  • PatientDashboardLinkedPatientsTest
  • PatientDemographicsEditTest
  • PatientDocumentsTest
  • PatientPopupCommentsTest
  • PatientProviderAccessTest
  • PatientsListProviderAccessTest
  • PermissionsTest
  • PopupTest
  • SchedulerBlocksTest
  • SchedulerInsuranceBlocksTest
  • SimpePage
  • SimpleView
  • SimpleViewWithArgs
  • SimpleViewWithNoHash
  • TestCase
  • tests\integration\barebones\BarebonesConstants
  • tests\integration\barebones\BarebonesTestCase
  • tests\integration\barebones\controllers\charts\ChartsControllerTest
  • tests\integration\barebones\controllers\patients\PatientsPopupAlertsControllerTest
  • tests\integration\barebones\controllers\system\ClientsControllerTest
  • tests\integration\barebones\models\billing\ClientsFeeSchedulesMapModelTest
  • tests\integration\barebones\models\encounters\AppointmentModelTest
  • tests\integration\barebones\models\encounters\CollectionTest
  • tests\integration\barebones\models\encounters\ConcurrentCollectionTest
  • tests\integration\barebones\models\encounters\EncounterModelTest
  • tests\integration\barebones\models\encounters\EncountersIncompleteReasonModelTest
  • tests\integration\barebones\models\encounters\ModelQueryBuilderTest
  • tests\integration\barebones\models\examples\ExampleModelBasicsTest
  • tests\integration\barebones\models\examples\ExamplesGenericControllerTest
  • tests\integration\barebones\models\messaging\MessageModelTest
  • tests\integration\barebones\models\rcm\RCMStatsGeneralControllerTests
  • tests\integration\barebones\models\system\ClientModelTest
  • tests\unit\barebones\lib\BarebonesTestCase
  • tests\unit\barebones\utilities\ArraysTest
  • tests\unit\barebones\utilities\calculations\PovertyLineTest
  • tests\unit\barebones\utilities\MathTest
  • UrlManagerTest
  • VariantRulesTest
  • VariantsManagerTest
  • ViewTest
  • WebDriverMock

Exceptions

  • Azalea\Selenium\Toolkit\Exception\ElementNotFoundException
  • Azalea\Selenium\Toolkit\Exception\InvalidPageException
  • Azalea\Selenium\Toolkit\Exception\TimeoutException
  • Overview
  • Namespace
  • Class
  1: <?php
  2: namespace Azalea\Selenium\App;
  3: 
  4: use Azalea\Selenium\Toolkit\Page;
  5: use Azalea\Selenium\App\Components\Popup;
  6: use Azalea\Selenium\App\Login\LoginPage;
  7: 
  8: class ApplicationTestCase extends \Azalea\Selenium\Toolkit\TestCase
  9: {
 10:     public function setUpPage()
 11:     {
 12:         parent::setUpPage();
 13: 
 14:         // set a default time zone
 15:         date_default_timezone_set("America/New_York");
 16: 
 17:         // set up the faker
 18:         $this->faker = \Faker\Factory::create();
 19:     }
 20: 
 21:     /**
 22:      * Override in child test suites to exclude some customers
 23:      * from every test case.
 24:      *
 25:      * @param int $cus_id
 26:      * @return bool
 27:      */
 28:     public function supportsCustomer($cus_id)
 29:     {
 30:         return true;
 31:     }
 32: 
 33:     /**
 34:      * Get the customer id we are running against.
 35:      *
 36:      * @return int
 37:      */
 38:     public function getCustomerId()
 39:     {
 40:         return getenv("selenium_customer_id");
 41:     }
 42: 
 43:     /**
 44:      * Mark this test as skipped.
 45:      */
 46:     public function skip()
 47:     {
 48:         $this->markTestSkipped("Test case marked as skipped.");
 49:     }
 50: 
 51:     /**
 52:      * Login to the web application.
 53:      *
 54:      * @return \Azalea\Selenium\Toolkit\View
 55:      */
 56:     public function login($email, $password)
 57:     {
 58:         // if a customer id is given then append that id
 59:         // to the end of the email address (before the at)
 60:         // this alters which client or "build" the script
 61:         // will log into.
 62:         $customerId = getenv("selenium_customer_id");
 63:         if ($customerId) {
 64: 
 65:             if (!$this->supportsCustomer($customerId)) {
 66:                 $this->markTestSkipped(get_called_class()." is not applicable to customer #$customerId");
 67:                 return;
 68:             }
 69: 
 70:             $parts = explode("@", $email);
 71:             $email = $parts[0].$customerId."@".$parts[1];
 72:         }
 73: 
 74:         $app = $this->getView("app.json");
 75:         $app->login->navigate()->login($email, $password);
 76: 
 77:         if (isset($_ENV['selenium_debug']) && $_ENV['selenium_debug'] == "1") {
 78:             // run the application in debug mode
 79:             $this->url($this->url()."&".$_ENV['selenium_debug_param']);
 80:         }
 81: 
 82:         $this->app = $app;
 83:         $app->verifyAndWait();
 84: 
 85:         // clear local storage cache
 86:         $this->clearLocalStorage();
 87:         return $app;
 88:     }
 89: 
 90:     /**
 91:      * Get the application view object.
 92:      *
 93:      * @return \Azalea\Selenium\Toolkit\View
 94:      */
 95:     public function getApp()
 96:     {
 97:         return $this->app;
 98:     }
 99: 
100:     /**
101:      * Waits for the status light to turn green.
102:      * Yes, really.
103:      */
104:     public function waitForAjax()
105:     {
106:         $self = $this;
107:         $this->spinWait(function() use ($self) {
108:             return $self->hasElement("#status_light.go_light16");
109:         });
110:     }
111: 
112:     /**
113:      * Waits for the haze screen to appear or go away.
114:      *
115:      * @return $this
116:      */
117:     public function waitForHaze($visible = true)
118:     {
119:         $this->spinWait(function ($driver) use ($visible) {
120:             return ($driver->hasElement("#haze_screen_overlay") == $visible);
121:         });
122: 
123:         return $this;
124:     }
125: 
126:     /**
127:      * Clears the brower's local storage cache.
128:      *
129:      * @return $this
130:      */
131:     public function clearLocalStorage()
132:     {
133:         $this->javascript('window.localStorage.clear();');
134:         return $this;
135:     }
136: 
137:     /*-------------------------------------------------------------------------
138:      * Assertions
139:      *-----------------------------------------------------------------------*/
140: 
141:     /**
142:      * Verify that the view exists in the current page.
143:      * If successful, it will return the view object.
144:      *
145:      * @param string $view
146:      * @return \Azalea\Selenium\Toolkit\View
147:      */
148:     public function assertView($path, $args = array(), $timeout = 30)
149:     {
150:         $view = $this->getView($path, $args);
151:         $view->verifyAndWait($timeout);
152:         $this->assertTrue(true);
153:         return $view;
154:     }
155: 
156:     /**
157:      * Asserts if there is 1 or more error popups on the screen.
158:      * Can optionally sleep for $wait seconds before checking.
159:      *
160:      * @param int $wait
161:      * @return $this;
162:      */
163:     public function assertNoErrorPopups($wait = 0)
164:     {
165:         if ($wait > 0) {
166:             $this->wait($wait);
167:         }
168:         $this->assertFalse($this->hasElement(".awa-mvc-PopupView.error"));
169:         return $this;
170:     }
171: 
172:     /**
173:      * Asserts if there is NOT an error popup on the screen.
174:      * Can optionally sleep for $wait seconds before checking.
175:      *
176:      * @param int $wait
177:      * @return $this;
178:      */
179:     public function assertErrorPopup($errorText = null, $wait = 0)
180:     {
181:         if ($wait > 0) {
182:             $this->wait($wait);
183:         }
184:         $this->assertTrue($this->hasElement(".awa-mvc-PopupView.error"));
185:         if ($errorText) {
186:             $this->filter(".awa-mvc-PopupView.error")->assertCanSee($errorText);
187:         }
188:         return $this;
189:     }
190: 
191:     /**
192:      * Asserts if the patient record with the given $pat_id is not open.
193:      * Waits up to the default timeout in seconds.
194:      *
195:      * @param int $pat_id
196:      * @return $this
197:      */
198:     public function assertPatientRecord($pat_id)
199:     {
200:         $this->assertView("patients/patient.json", array("pat_id" => $pat_id));
201:         return $this;
202:     }
203: 
204:     /*-------------------------------------------------------------------------
205:      * Patients
206:      *-----------------------------------------------------------------------*/
207: 
208: 
209: 
210:     /*-------------------------------------------------------------------------
211:      * Charts
212:      *-----------------------------------------------------------------------*/
213: 
214:     /**
215:      * Waits for a chart hash to appear in the location
216:      * for $timeout seconds. Returns the enc_id from the hash.
217:      *
218:      * @param int $timeout
219:      * @return int
220:      */
221:     public function getChartEncounterIdFromHash($timeout = 30)
222:     {
223:         // extract the encounter id from the hash
224:         $matches = null;
225:         $regex = "/#\/charts\/c\/(\d+)[\/\w+]*/";
226:         $this->waitForHash($regex);
227:         preg_match($regex, $this->getCurrentHash(), $matches);
228:         $enc_id = $matches[1];
229:         return $enc_id;
230:     }
231: 
232: 
233:     /*-------------------------------------------------------------------------
234:      * Encounters
235:      *-----------------------------------------------------------------------*/
236: 
237:     /**
238:      * Waits for an encounters hash to appear in the location
239:      * for $timeout seconds. Returns the enc_id from the hash.
240:      *
241:      * @param int $timeout
242:      * @return int
243:      */
244:     public function getEncounterIdFromHash($timeout = 30)
245:     {
246:         // extract the encounter id from the hash
247:         $matches = null;
248:         $regex = "/#\/encounters\/e\/(\d+)[\/\w+]*/";
249:         $this->waitForHash($regex);
250:         preg_match($regex, $this->getCurrentHash(), $matches);
251:         $enc_id = $matches[1];
252:         return $enc_id;
253:     }
254: }
255: 
256: ?>
API documentation generated by ApiGen