public function createDeveloper() { $validator = Validator::make(Input::all(), array('dev_username' => 'required|unique:developers|alpha_num|min:4', 'dev_email' => 'required|email', 'dev_phone' => 'required|numeric|min:9')); if ($validator->fails()) { // print_r($validator->errors()); return Redirect::route('developer')->withErrors($validator)->with('alertError', 'Error! Please correct the errors on the form and try again')->withInput(); } else { //create developer account $devaccount = new Developer(); $salt = '**i_hy'; $devaccount->dev_id = Auth::user()->id; $devaccount->dev_key = sha1(base64_encode(Input::get('dev_username')) . $salt); $devaccount->dev_username = Input::get('dev_username'); $devaccount->dev_email = Input::get('dev_email'); $devaccount->dev_number = Input::get('dev_phone'); $devaccount->dev_paymentprovider = Input::get('merhantprovider'); $devaccount->dev_status = 0; //sandbox mode if ($devaccount->save()) { // Redirect to the developer page return Redirect::route('developer')->with('alertMessage', 'New developer account created'); } else { return Redirect::route('developer')->with('alertError', 'Unable to add developer account. A similar account already exists.'); } } return Redirect::route('developer')->with('alertError', 'There was a problem adding your developer account. Please try again'); }
function testAddBeforeSave() { $nb_devels = SActiveStore::count('Developer'); $nb_projs = SActiveStore::count('Project'); $peter = new Developer(array('name' => 'peter')); $proj1 = new Project(array('name' => 'WebNuked2.0')); $proj2 = new Project(array('name' => 'TotalWebInnov')); $peter->projects[] = $proj1; $peter->projects[] = $proj2; $this->assertTrue($peter->isNewRecord()); $this->assertTrue($proj1->isNewRecord()); $peter->save(); $this->assertFalse($peter->isNewRecord()); $this->assertEqual($nb_devels + 1, SActiveStore::count('Developer')); $this->assertEqual($nb_projs + 2, SActiveStore::count('Project')); $this->assertEqual(2, $peter->countProjects()); $peter->projects(True); $this->assertEqual(2, $peter->countProjects()); }
protected function parse() { $data = array(); $details = $this->getResponseObject()->query('//*[@id="gameDetailsSection"]/div/ul[@class="fields"]')->item(0); if ($details) { $items = $this->nodeToXPath($details)->query('//li'); if ($items->length > 0) { foreach ($items as $bundle_item) { $val = $this->cleanData($bundle_item->nodeValue); //pre($val); //continue; if (stristr($val, 'release')) { $date = $this->parseValue($val, '/^.+:\\040?(.+)$/'); $data['release_date'] = date('Y-m-d H:i:s', strtotime($date)); } elseif (stristr($val, 'developer')) { $data['developer'] = $this->parseValue($val, '/^.+:\\040?(.+)$/'); } elseif (stristr($val, 'publisher')) { $data['publisher'] = $this->parseValue($val, '/^.+:\\040?(.+)$/'); } elseif (stristr($val, 'genre')) { $genres = $this->parseValue($val, '/^.+:\\040?(.+)$/'); if ($genres) { $data['genres'] = explode(',', $genres); } } elseif (stristr($val, 'size')) { $val = $this->parseValue($val, '/^.+:\\040?(.+)$/'); $data['size'] = $this->parseSize($val); } } } $data['description'] = $this->parseDescription(); $data['price'] = $this->parsePrice(); //$data['facebook_iframe_url'] = $this->parseFacebookIframeUrl(); //pre($data,1); if (isset($data['developer'])) { $dobject = DeveloperModel::findOneByTitle($data['developer']); if (!$dobject) { $dobject = new Developer(); $dobject->fromArray(array('title' => $data['developer'])); $developer_id = $dobject->save(); } else { $developer_id = $dobject->id; } $data['developer_id'] = $developer_id; } if (isset($data['publisher'])) { $dobject = PublisherModel::findOneByTitle($data['publisher']); if (!$dobject) { $dobject = new Publisher(); $dobject->fromArray(array('title' => $data['publisher'])); $publisher_id = $dobject->save(); } else { $publisher_id = $dobject->id; } $data['publisher_id'] = $publisher_id; } $data = $this->cleanData($data); pre($data, 1); $data['processed'] = 1; $this->content_object->fromArray($data); $this->content_object->save(); if (isset($data['genres'])) { // remove old genres associations $res = ContentToGenreModel::deleteByContentId($this->content_object->id); if ($res) { foreach ($data['genres'] as $genre) { $gobject = GenreModel::findOneByTitle($genre); if (!$gobject) { $gobject = new Genre(); $gobject->fromArray(array('title' => $genre)); $genre_id = $gobject->save(); } else { $genre_id = $gobject->id; } $ctg = new ContentToGenre(); $ctg->fromArray(array('content_id' => $this->content_object->id, 'genre_id' => $genre_id)); $ctg->save(); } } } } }