public function daftar() { $data_input = array(); $data_input['nama_depan'] = Input::get('nama_depan'); $data_input['nama_belakang'] = Input::get('nama_belakang'); $data_input['surel'] = Input::get('email'); $data_input['telpon'] = Input::get('phone'); $data_input['password'] = Fungsi::enkripsi_password(Input::get('pass')); $cekduplikasi = $this->user->cek_duplikasi_email($data_input['surel']); if ($cekduplikasi == TRUE) { return Redirect::to('/'); } elseif ($cekduplikasi == FALSE) { Users::create($data_input); $id = Users::where('surel', '=', $data_input['surel'])->first()->id; $user_id = array(); $user_id['id_user'] = $id; UserAvgRate::create($user_id); Session::put('logged_in', '1'); Session::put('level', 'user'); Session::put('user_id', $id); Session::put('user_name', $data_input['nama_depan']); return Redirect::to('/bergabung'); } }
public function give_rate_by_id_kom($id) { $data['id_user'] = Users::where('id', '=', Session::get('user_id'))->first()->id; $data['id_komunitas'] = $id; $data['rating'] = Input::get('rating'); $jml = $this->rating->count_rate_row_by_id($data['id_user']); $jmlplus = $jml + 1; $total = $this->rating->count_all_rating_by_id($data['id_user']); $totalplus = $total + $data['rating']; $avgrate['avg_rate'] = $totalplus / $jmlplus; $jml2 = $this->komunitas->count_komunitas_rate_by_id($id); $jml2plus = $jml2 + 1; $ratetotal = $this->komunitas->count_totalrate_by_idkom($id); $totalrate = $ratetotal + $data['rating']; $ratekom['avg_rate'] = $totalrate / $jml2plus; UserRating::create($data); UserAvgRate::where('id_user', '=', Session::get('user_id'))->update($avgrate); Komunitas::where('id', '=', $id)->update($ratekom); $totrate = $this->rating->count_rate_row_by_id($data['id_user']); if ($totrate > 1) { $ratesim = $this->rating->get_all_user_rate($data['id_user'], $id); //$ratesim = $this->komunitas->get_komunitas_rated_except($id); foreach ($ratesim as $rated) { $similar['id_kom1'] = $id; $similar['id_kom2'] = $rated->id_komunitas; //$similar['id_kom2'] = $rated->id; $user_avg = $this->average->get_average_rate($data['id_user']); $rate1 = $this->rating->get_rating_only($data['id_user'], $similar['id_kom1']); $rate2 = $this->rating->get_rating_only($data['id_user'], $similar['id_kom2']); $similar['similarity'] = ($rate1 - $user_avg) * ($rate2 - $user_avg) / (sqrt(pow($rate1 - $user_avg, 2)) * sqrt(pow($rate2 - $user_avg, 2))); $check = $this->komsimilarity->is_compared($similar['id_kom1'], $similar['id_kom2']); if ($check == TRUE) { KomSimilarity::where('id_kom1', '=', $id)->where('id_kom2', '=', $rated->id_komunitas)->update($similar); } else { KomSimilarity::create($similar); } } // $allkom = Komunitas::get(); $allkom = $this->komunitas->get_komunitas_rated_except($id); foreach ($allkom as $kom) { $israted = $this->rating->is_rated($data['id_user'], $kom->id); if ($israted == FALSE) { $ceksimilarity = $this->komsimilarity->get_similarity($kom->id); foreach ($ceksimilarity as $mirip) { // $ratekomp = $this->rating->get_rating_only($data['id_user'], $mirip->id_kom2); $ratekomp = $this->rating->get_rating($mirip->id_kom2); $simvalue = $this->komsimilarity->get_similarity_value($mirip->id_kom1, $mirip->id_kom2); $predict['id_user'] = $data['id_user']; $predict['id_komunitas'] = $mirip->id_kom2; $predict['rate_predict'] = $ratekomp * $simvalue / ABS($simvalue); $ceki = $this->predict->is_predicted($data['id_user'], $mirip->id_kom2); if ($ceki == TRUE) { KomRatePredict::where('id_user', '=', $data['id_user'])->where('id_komunitas', '=', $mirip->id_kom2)->update($predict); } else { KomRatePredict::create($predict); } } } } } // // $allkom = Komunitas::get(); // $allkom = $this->komunitas->get_komunitas_rated_except($id); // foreach ($allkom as $kom) { // $israted = $this->rating->is_rated($data['id_user'], $kom->id); // if ($israted == FALSE) { // $ceksimilarity = $this->komsimilarity->get_similarity($kom->id); // foreach ($ceksimilarity as $mirip) { // $cekrating = $this->rating->is_rated($data['id_user'], $mirip->id_kom2); // if ($cekrating == FALSE) { // $ratekomp = $this->rating->get_rating_only($data['id_user'], $mirip->id_kom1); // $simvalue = $this->komsimilarity->get_similarity_value($mirip->id_kom1, $mirip->id_kom2); // $predict['id_user'] = $data['id_user']; // $predict['id_komunitas'] = $mirip->id_kom2; // $predict['rate_predict'] = (($ratekomp * $simvalue)/(ABS($simvalue))); // $ceki = $this->predict->is_predicted($data['id_user'], $mirip->id_kom2); // if ($ceki == TRUE) { // KomRatePredict::update($predict); // } else { // KomRatePredict::create($predict); // } // } // } // } // } $slug = Komunitas::where('id', '=', $id)->first()->slug; return Redirect::to('/komunitas/' . $slug); }