/** * Gets the user's unpaid script if possible, and returns it, or returns a new script * @return $script - new or active script from db */ private function _activeScriptOrNew() { $this->load->model('script'); $script = new Script(); // Does the user have an unpaid script? if ($activeScriptKey = $script->getUnpaidScript($this->session->userdata('email'))) { // if so, then load and retrieve it $script->setKey($activeScriptKey); $script->retrieve(); } else { // No unpaid script; we need to create one $script->createNewScriptFor($this->session->userdata('email')); $script->retrieve(); } return $script; }