function add() { function formData($data) { return array_merge($data, array('headline' => 'Create', 'submitname' => 'add', 'submitvalue' => 'Add Company')); } global $CRecruiter; $CRecruiter->requireLogin(); global $params, $MCompany, $MRecruiter; $me = $MRecruiter->me(); if (!isset($_POST['add'])) { self::render('companies/form', formData(array('name' => $me['company']))); return; } // Params to vars $params['name'] = $me['company']; extract($data = $this->data($params)); // Validations $this->startValidations(); $this->validate(!$this->exists(), $err, 'company exists'); $this->validateData($data, $err); // Code if ($this->isValid()) { $id = $MCompany->save($data); $me = $MRecruiter->me(); $me['company'] = new MongoID($id); $MRecruiter->save($me); $_SESSION['company'] = $id; // Add credit for making company profile. $recruiterId = $_SESSION['_id']; RecruiterModel::addCreditsForNewCompanyProfile($recruiterId); $this->redirect('home'); return; } self::error($err); self::render('companies/form', formData($data)); }