Skip to content
This repository has been archived by the owner on Dec 4, 2019. It is now read-only.

Commit

Permalink
fixes #698
Browse files Browse the repository at this point in the history
Signed-off-by: Alexander Cogneau <alexander.cogneau@hotmail.be>
  • Loading branch information
Alexander Cogneau committed Jul 9, 2012
1 parent b22da55 commit e861728
Show file tree
Hide file tree
Showing 4 changed files with 154 additions and 3 deletions.
12 changes: 10 additions & 2 deletions controllers/user.php
Expand Up @@ -28,19 +28,27 @@
class FluxBB_User_Controller extends FluxBB_BaseController
{

public function get_profile($id)
public function get_profile($id, $action = "essentials")
{
$user = User::where_id($id)->first();

if ($user === NULL)
{
return Event::first('404');
}

else if(User::current()->id == $id || User::current()->group_id == 1) //TODO: Add more specific rule for admins (now it is based on the group_id of the visiting user)
{
return View::make("fluxbb::user.profile.".$action)
->with('user', $user);
}

else
{
return View::make('fluxbb::user.profile.view')
return View::make("fluxbb::user.profile.view")
->with('user', $user);
}

}

public function get_list()
Expand Down
2 changes: 1 addition & 1 deletion routes.php
Expand Up @@ -27,6 +27,6 @@
Route::get('(:bundle)/topic/(:num)', 'fluxbb::home@topic');
Route::get('(:bundle)/post/(:num)', 'fluxbb::home@post');
Route::get('(:bundle)', 'fluxbb::home@index');
Route::get('(:bundle)/profile/(:num)', 'fluxbb::user@profile');
Route::get('(:bundle)/profile/(:num)/(:any?)', 'fluxbb::user@profile');
Route::get('(:bundle)/user/list', "fluxbb::user@list");
Route::get('(:bundle)/search', "fluxbb::search@index");
123 changes: 123 additions & 0 deletions views/user/profile/essentials.blade.php
@@ -0,0 +1,123 @@
@layout('fluxbb::layout.main')

@section('main')
<?php $currentItem = 'Essentials'; ?>

<div id="profile" class="block2col">
@include('fluxbb::user.profile.menu')
<div class="blockform">
<h2><span>Essentials</span></h2>
<div class="box">
{{ Form::open('profile/'.$user->id.'/essentials', 'PUT', array('id' => 'profile', 'onsubmit' => 'return process_form(this)')) }}
<div class="inform">
<fieldset>
<legend>Enter your username and password</legend>
<div class="infldset">
<input type="hidden" name="form_sent" value="1">
<label class="required"><strong>Username <span>(Required)</span></strong><br>{{ Form::text('req_username', $user->username, array('size' => "25", 'maxlength' => "25")) }}<br></label>
<p class="actions"><span><a href="profile.php?action=change_pass&amp;id=2">Change password</a></span></p>
</div>
</fieldset>
</div>
<div class="inform">
<fieldset>
<legend>Enter a valid email address</legend>
<div class="infldset">
<label class="required"><strong>Email <span>(Required)</span></strong><br>{{ Form::text('req_email', $user->email, array('size' => "40", "maxlength" => "80")) }}<br></label><p><span class="email"><a href="misc.php?email=2">Send email</a></span></p>
</div>
</fieldset>
</div>
<div class="inform">
<fieldset>
<legend>Set your localisation options</legend>
<div class="infldset">
<p>For the forum to display times correctly you must select your local time zone. If Daylight Savings Time is in effect you should also check the option provided which will advance times by 1 hour.</p>
<label>Time zone
<br><select name="form[timezone]">
<option value="-12">(UTC-12:00) International Date Line West</option>
<option value="-11">(UTC-11:00) Niue, Samoa</option>
<option value="-10">(UTC-10:00) Hawaii-Aleutian, Cook Island</option>
<option value="-9.5">(UTC-09:30) Marquesas Islands</option>
<option value="-9">(UTC-09:00) Alaska, Gambier Island</option>
<option value="-8.5">(UTC-08:30) Pitcairn Islands</option>
<option value="-8">(UTC-08:00) Pacific</option>
<option value="-7">(UTC-07:00) Mountain</option>
<option value="-6">(UTC-06:00) Central</option>
<option value="-5">(UTC-05:00) Eastern</option>
<option value="-4">(UTC-04:00) Atlantic</option>
<option value="-3.5">(UTC-03:30) Newfoundland</option>
<option value="-3">(UTC-03:00) Amazon, Central Greenland</option>
<option value="-2">(UTC-02:00) Mid-Atlantic</option>
<option value="-1">(UTC-01:00) Azores, Cape Verde, Eastern Greenland</option>
<option value="0" selected="selected">(UTC) Western European, Greenwich</option>
<option value="1">(UTC+01:00) Central European, West African</option>
<option value="2">(UTC+02:00) Eastern European, Central African</option>
<option value="3">(UTC+03:00) Eastern African</option>
<option value="3.5">(UTC+03:30) Iran</option>
<option value="4">(UTC+04:00) Moscow, Gulf, Samara</option>
<option value="4.5">(UTC+04:30) Afghanistan</option>
<option value="5">(UTC+05:00) Pakistan</option>
<option value="5.5">(UTC+05:30) India, Sri Lanka</option>
<option value="5.75">(UTC+05:45) Nepal</option>
<option value="6">(UTC+06:00) Bangladesh, Bhutan, Yekaterinburg</option>
<option value="6.5">(UTC+06:30) Cocos Islands, Myanmar</option>
<option value="7">(UTC+07:00) Indochina, Novosibirsk</option>
<option value="8">(UTC+08:00) Greater China, Australian Western, Krasnoyarsk</option>
<option value="8.75">(UTC+08:45) Southeastern Western Australia</option>
<option value="9">(UTC+09:00) Japan, Korea, Chita, Irkutsk</option>
<option value="9.5">(UTC+09:30) Australian Central</option>
<option value="10">(UTC+10:00) Australian Eastern</option>
<option value="10.5">(UTC+10:30) Lord Howe</option>
<option value="11">(UTC+11:00) Solomon Island, Vladivostok</option>
<option value="11.5">(UTC+11:30) Norfolk Island</option>
<option value="12">(UTC+12:00) New Zealand, Fiji, Magadan</option>
<option value="12.75">(UTC+12:45) Chatham Islands</option>
<option value="13">(UTC+13:00) Tonga, Phoenix Islands, Kamchatka</option>
<option value="14">(UTC+14:00) Line Islands</option>
</select>
<br></label>
<div class="rbox">
<label><input type="checkbox" name="form[dst]" value="1">Daylight Savings Time is in effect (advance time by 1 hour).<br></label>
</div>
<label>Time format
<br><select name="form[time_format]">
<option value="0" selected="selected">{{ date('h:i:s') }} (Default)</option>
<option value="2">{{date('h:i') }}</option>
<option value="3">{{date('g:i:s a') }}</option>
<option value="4">{{date('g:i a') }}</option>
</select>
<br></label>
<label>Date format
<br><select name="form[date_format]">
<option value="0" selected="selected">{{ date("Y-m-d") }} (Default)</option>
<option value="2">{{ date("Y-d-m") }}</option>
<option value="3">{{ date("d-m-Y") }}</option>
<option value="4">{{ date("m-d-Y") }}</option>
<option value="5">{{ date("M j Y") }}</option>
<option value="6">{{ date("jS M Y") }}</option>
</select>
<br></label>

</div>
</fieldset>
</div>
<div class="inform">
<fieldset>
<legend>User activity</legend>
<div class="infldset">
<p>Registered: {{ HTML::format_time($user->registered, true, "Y-m-d") }} (<a href="moderate.php?get_host=127.0.0.1">127.0.0.1</a>)</p>
<p>Last post: {{ HTML::format_time($user->last_post) }}</p>
<p>Last visit: {{ HTML::format_time($user->last_visit) }}</p>
<label>Posts<br>{{ Form::text('num_posts', $user->num_posts, array('size' => '8', 'maxlength' => '8')) }}<br></label><p class="actions"><a href="search.php?action=show_user_topics&amp;user_id=2">Show all topics</a> - <a href="search.php?action=show_user_posts&amp;user_id=2">Show all posts</a> - <a href="search.php?action=show_subscriptions&amp;user_id=2">Show all subscriptions</a></p>
<label>Admin note<br>
{{ Form::text('admin_note', $user->admin_note, array('size' => '30', 'maxlength' => '30', 'id' => "admin_note")) }}<br></label>
</div>
</fieldset>
</div>
<p class="buttons">{{ Form::submit('Submit', array('name' => 'update')) }} When you update your profile, you will be redirected back to this page.</p>
{{ Form::close() }}
</div>
</div>
<div class="clearer"></div>
</div>
@endsection
20 changes: 20 additions & 0 deletions views/user/profile/menu.blade.php
@@ -0,0 +1,20 @@
<?php
$menuItems=array("Essentials", "Personal", "Messaging", "Personality", "Display", "Privacy");
//TODO: if user is admin add administration to array
?>
<div class="blockmenu">
<h2><span>Profile menu</span></h2>
<div class="box">
<div class="inbox">
<ul>
@foreach($menuItems as $menuItem)
@if($menuItem == Str::title($currentItem)) <?php // with $currentItem as passed variable for the menu part which the user is viewing now ?>
<li class="isactive">{{ HTML::link_to_action('user@profile', $menuItem, array($user->id, $menuItem)) }}</li>
@else
<li>{{ HTML::link_to_action('user@profile', $menuItem, array($user->id, $menuItem)) }}</li>
@endif
@endforeach
</ul>
</div>
</div>
</div>

0 comments on commit e861728

Please sign in to comment.