public function normalizeIssue() { $issues = Issue::all(); foreach ($issues as $issue) { // Normalize Educations $educations = Education::where('student_id', '=', $issue->student_id)->get(); foreach ($educations as $education) { $education->student_id = $issue->id; $education->save(); } // Normalize Placements $placements = Placement::where('student_id', '=', $issue->student_id)->get(); foreach ($placements as $placement) { $placement->student_id = $issue->id; $placement->save(); } // Normalize Receivables $receivables = Receivable::where('student_id', '=', $issue->student_id)->get(); foreach ($receivables as $receivable) { $receivable->student_id = $issue->id; $receivable->save(); } } }
/** * GET /issues * Display a list of cultivated issues. * * @return Response */ public function index() { $issues = $this->issue->all(); return View::make('issues.index', compact('issues'))->withTitle('All issues'); }
public function postCreate() { $validator = Validator::make(Input::all(), array('email' => 'required|max:50|email|unique:users', 'username' => 'required|max:20|min:3|unique:users', 'password' => 'required|min:6', 'password_again' => 'required|same:password')); if ($validator->fails()) { return Redirect::route('create') > withErrors($validator)->withInput(); } else { //create user account $user = User::create(array('email' => Input::get('email'), 'username' => Input::get('username'), 'password' => Hash::make(Input::get('password')), 'code' => str_random(60), 'active' => 1)); //normally active = 0 but until we can get email validation working it will stay 1); $user->save(); $user->sex = Input::get('sex'); $user->birth_month = Input::get('birth_month'); $user->birth_day = Input::get('birth_day'); $user->birth_year = Input::get('birth_year'); $user->party = Input::get('party'); $user->bio = Input::get('bio'); //Upload Image $file = Input::file('photo'); if (isset($file)) { if ($file->isValid()) { $destinationPath = public_path() . '/assets/images/avatars/'; // The destination were you store the image. $filename = $file->getClientOriginalName(); $file->move($destinationPath, $filename); $user->pic_url = '/assets/images/avatars/' . $filename; } } $user->save(); /* $filename = $file->getClientOriginalName(); // Original file name that the end user used for it. $mime_type = $file->getMimeType(); // Gets this example image/png $extension = $file->getClientOriginalExtension(); // The original extension that the user used example .jpg or .png. try{ $upload_success = $file->move($destinationPath, $filename); // Now we move the file to its new home. } catch (Exception $e) {return 'Caught exception image upload: '.$e->getMessage();} */ // This is were you would store the image path in a table $issues = Issue::all(); foreach ($issues as $issue) { $issue_checkbox = Input::get($issue->id); if (isset($issue_checkbox)) { $issues_follows = IssueFollow::create(array('issue_id' => $issue_checkbox, 'user_id' => $user->id)); $issues_follows->save(); } } //Redirect to login page - added to redirect to home upon successful account $auth = Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password'), 'active' => 1)); return Redirect::route('myprofile'); } // else /* if ($user){ //send email here Mail::send(/*'emails.activate',*/ /*'activate', array('link' =>URL::route('activate',$code), 'username'=>$username),function($message) use ($user){ return $message->to($user->email,$user->username)->subject('Activate your account'); }); return Redirect::route('home') ->with('global','Your account has been created! We have sent you an email to activate your account'); }*/ //if ($user) }
public function getEdit() { $issues_followed = Auth::user()->issues; $issues_followed_array[] = array(); $i = 0; foreach ($issues_followed as $issue) { $issues_followed_array[$i++] = $issue->id; } return View::make('edit')->with('comments', Auth::user()->comments)->with('issues', Issue::all())->with('issues_followed', $issues_followed_array)->with('politicians', Auth::user()->politicians); }
/** * Display a listing of the resource. * * @return Response */ public function index() { // $issues = Issue::all(); return View::make('issue.index')->with('issues', $issues); }
public function profilePolitician($fullname) { //gets politician record by fullname $politician = Politician::where('full_name', '=', $fullname); if ($politician->count()) { //shows only issues logged in user follows if (Auth::check()) { $issues = User::find(Auth::user()->id)->issues; } else { $issues = null; } //gets specific politician entity/record $politician = $politician->first(); //make list of all ids $democrat_ratings = array(); $republican_ratings = array(); //Hate to throw tacky direct php mysql queries instead of ORM. But having trouble with //ORM query logic for inner joins of derived tables. Need beta now and will ORM later. $con = mysqli_connect("127.0.0.1", "root", "pepper", "iratepolitics"); //Democrat Ratings: Get value and timestamp of all democrat users' ratings for this politician $query = "select value,r.created_at from (select * from ratings where politician_id='" . $politician->id . "') as r inner join (select * from users where party='Democrat') as u on r.user_id = u.id"; $result = mysqli_query($con, $query); $i = 0; while ($row = mysqli_fetch_array($result)) { $democrat_ratings[$i++] = array('value' => $row['value'], 'created_at' => $row['created_at']); } //close while //Republican Ratings: Get value and timestamp of all republican users' ratings for this politician $query = "select value,r.created_at from (select * from ratings where politician_id='" . $politician->id . "') as r inner join (select * from users where party='Republican') as u on r.user_id = u.id"; $result = mysqli_query($con, $query); $i = 0; while ($row = mysqli_fetch_array($result)) { $republican_ratings[$i++] = array('value' => $row['value'], 'created_at' => $row['created_at']); } //close while mysqli_close($con); //we have raw data. now we need to turn data into format for highchart with appropriate time interval resolution //For now we are going to use 7 day intervals. So we are going back 7 days from today. //0 on x-axis is 7 days ago. //creating array where each index represents a day (whatever time unit in future) //For now, 0 is 7 days ago. So we loop through each day and sum up all raw data values that took place during //that time unit $todays_date = new DateTime("now"); $democrat_chart_data = array("0" => 0, "1" => 0, "2" => 0, "3" => 0, "4" => 0, "5" => 0, "6" => 0); foreach ($democrat_ratings as $rating) { $rate = array(); $rating_date = new DateTime($rating['created_at']); //echo ' Rating Date: '.$rating_date->format("Y-m-d H:i:s"); $date_interval = $todays_date->diff($rating_date); //echo ' $date_interval: '.$date_interval->format("%a")."days\n"; $date_interval = intval($date_interval->format("%a")); if ($date_interval <= 6) { $democrat_chart_data[6 - $date_interval] += $rating['value']; } } $republican_chart_data = array("0" => 0, "1" => 0, "2" => 0, "3" => 0, "4" => 0, "5" => 0, "6" => 0); foreach ($republican_ratings as $rating) { $rate = array(); $rating_date = new DateTime($rating['created_at']); //echo ' Rating Date: '.$rating_date->format("Y-m-d H:i:s"); $date_interval = $todays_date->diff($rating_date); //echo ' $date_interval: '.$date_interval->format("%a")."days\n"; $date_interval = intval($date_interval->format("%a")); if ($date_interval <= 6) { $republican_chart_data[6 - $date_interval] += $rating['value']; } } //Issue Tag Cloud $con = mysqli_connect("127.0.0.1", "root", "pepper", "iratepolitics"); //create list of issues for which politician has received votes by selecting //rows on first occurance of each unique value $query = "select id,issue_id from ratings where politician_id=" . $politician->id . " group by issue_id;"; $result = mysqli_query($con, $query); $issue_tag_cloud = ""; $i = 0; //for each id in list of issues, count all the rows in ratings where a vote was made for that politician & that issue //this is a count of 'activity' for each issue per politican. (ex. votes on Pelosi's stance on Obamacare) while ($row = mysqli_fetch_array($result)) { $query = "select id from ratings where issue_id=" . $row['issue_id'] . " and politician_id=" . $politician->id; //echo 'query: '.$query; $result2 = mysqli_query($con, $query); $issue_name = Issue::find($row['issue_id'])->issue_name; $issue_tag_cloud .= '{text: "' . ucwords($issue_name) . '", weight: ' . mysqli_num_rows($result2) . ' , link: "' . URL::route('news', $issue_name) . '"},' . "\n"; } //close while //remove trailing new line and trailing comma so tag cloud js will work $issue_tag_cloud = substr_replace($issue_tag_cloud, "", -1); $issue_tag_cloud = substr_replace($issue_tag_cloud, "", -1); //Display Comments...only comments with no parents $comments = $politician->comments()->where('parent_id', '=', '0')->orderBy('rank', 'desc')->orderBy('created_at', 'desc')->get(); //$comments = Comment::where('politician_id','=',$politician->id)->where('parent_id', '=', '0')->get(); if (Auth::check()) { $issues_not_followed = $this->issuesNotFollowed(Auth::user()->id); } else { $issues_not_followed = Issue::all(); } $fb_og = array('url' => Request::url(), 'title' => $politician->full_name, 'image' => $_SERVER['SERVER_NAME'] . $politician->pic_url, 'description' => $politician->bio); return View::make('politician')->with('politician', $politician)->with('issues', $issues)->with('comments', $comments)->with('democrat_chart_data', $democrat_chart_data)->with('republican_chart_data', $republican_chart_data)->with('issue_tag_cloud', $issue_tag_cloud)->with('issues_not_followed', $issues_not_followed)->with('fb_og', $fb_og)->with('title', $politician->full_name . "'s Profile"); } else { return App::abort(404); } //if politician not found in database then page not found error returned. }
<?php require_once __DIR__ . "/includes/root.php"; must_allow("list issues"); $renderer->variable("title", "Manage Issues"); $renderer->variable("pending_issues", Issue::all(Issue::LOCTYPE_PENDING, 5)); $renderer->variable("issues_awaiting_review", Issue::all(Issue::LOCTYPE_AWAITING_REVIEW, 5)); $renderer->add_function("can_review", function ($issue) { return count($issue->errors()) == 0; }); $renderer->render("issues-list");