adapt to new score options

This commit is contained in:
printempw 2016-07-29 12:46:19 +08:00
parent d24bd761b8
commit ce099562d2
4 changed files with 24 additions and 16 deletions

View File

@ -47,7 +47,7 @@ class PlayerController extends BaseController
$user = new User($_SESSION['email']); $user = new User($_SESSION['email']);
if ($user->getScore() < 100) if ($user->getScore() < Option::get('score_per_player'))
View::json('积分不够添加角色啦', 7); View::json('积分不够添加角色啦', 7);
$player = new PlayerModel(); $player = new PlayerModel();
@ -57,7 +57,7 @@ class PlayerController extends BaseController
$player->last_modified = Utils::getTimeFormatted(); $player->last_modified = Utils::getTimeFormatted();
$player->save(); $player->save();
$user->setScore(100, 'minus'); $user->setScore(Option::get('score_per_player'), 'minus');
View::json('成功添加了角色 '.$player_name.'', 0); View::json('成功添加了角色 '.$player_name.'', 0);
@ -68,7 +68,7 @@ class PlayerController extends BaseController
$player_name = $this->player->eloquent_model->player_name; $player_name = $this->player->eloquent_model->player_name;
$this->player->eloquent_model->delete(); $this->player->eloquent_model->delete();
(new User($_SESSION['email']))->setScore(100, 'plus'); (new User($_SESSION['email']))->setScore(Option::get('score_per_player'), 'plus');
View::json('角色 '.$player_name.' 已被删除', 0); View::json('角色 '.$player_name.' 已被删除', 0);
} }

View File

@ -133,7 +133,7 @@ class SkinlibController extends BaseController
$t->uploader = $this->user->uid; $t->uploader = $this->user->uid;
$t->upload_at = Utils::getTimeFormatted(); $t->upload_at = Utils::getTimeFormatted();
if ($this->user->getScore() < $t->size) if ($this->user->getScore() / Option::get('score_per_storage') < $t->size)
View::json('积分不够啦', 7); View::json('积分不够啦', 7);
$results = Texture::where('hash', $t->hash)->get(); $results = Texture::where('hash', $t->hash)->get();
@ -183,7 +183,7 @@ class SkinlibController extends BaseController
if (Texture::where('hash', $result['hash'])->count() == 1) if (Texture::where('hash', $result['hash'])->count() == 1)
\Storage::remove("./textures/".$result['hash']); \Storage::remove("./textures/".$result['hash']);
$this->user->setScore($result->size, 'plus'); $this->user->setScore($result->size * Option::get('score_per_storage'), 'plus');
if ($result->delete()) if ($result->delete())
View::json('材质已被成功删除', 0); View::json('材质已被成功删除', 0);

View File

@ -2,6 +2,9 @@
namespace App\Models; namespace App\Models;
use Option;
use Utils;
class User class User
{ {
public $uid = ""; public $uid = "";
@ -41,7 +44,7 @@ class User
*/ */
function __construct($email, $uid = 0) function __construct($email, $uid = 0)
{ {
$this->email = \Utils::convertString($email); $this->email = Utils::convertString($email);
$this->eloquent_model = ($uid == 0) ? UserModel::where('email', $this->email)->first() : UserModel::find($uid); $this->eloquent_model = ($uid == 0) ? UserModel::where('email', $this->email)->first() : UserModel::find($uid);
$class_name = "App\Services\Cipher\\".$_ENV['PWD_METHOD']; $class_name = "App\Services\Cipher\\".$_ENV['PWD_METHOD'];
@ -81,6 +84,7 @@ class User
* -1 - banned * -1 - banned
* 0 - normal * 0 - normal
* 1 - admin * 1 - admin
* 2 - super admin
*/ */
public function setPermission($permission) public function setPermission($permission)
{ {
@ -155,9 +159,10 @@ class User
public function sign() public function sign()
{ {
if ($this->canSign()) { if ($this->canSign()) {
$aquired_score = rand(10, 100); $sign_score = explode(',', Option::get('sign_score'));
$aquired_score = rand($sign_score[0], $sign_score[1]);
$this->setScore($aquired_score, 'plus'); $this->setScore($aquired_score, 'plus');
$this->eloquent_model->last_sign_at = \Utils::getTimeFormatted(); $this->eloquent_model->last_sign_at = Utils::getTimeFormatted();
$this->eloquent_model->save(); $this->eloquent_model->save();
return $aquired_score; return $aquired_score;
} else { } else {
@ -168,7 +173,7 @@ class User
public function canSign($return_remaining_time = false) public function canSign($return_remaining_time = false)
{ {
// convert to timestamp // convert to timestamp
$remaining_time = (strtotime($this->getLastSignTime()) + \Option::get('sign_gap_time') * 3600 - time()) / 3600; $remaining_time = (strtotime($this->getLastSignTime()) + Option::get('sign_gap_time') * 3600 - time()) / 3600;
return $return_remaining_time ? round($remaining_time) : ($remaining_time <= 0); return $return_remaining_time ? round($remaining_time) : ($remaining_time <= 0);
} }
@ -190,9 +195,9 @@ class User
$user->email = $this->email; $user->email = $this->email;
$user->password = $this->cipher->encrypt($password, $_ENV['SALT']); $user->password = $this->cipher->encrypt($password, $_ENV['SALT']);
$user->ip = $ip; $user->ip = $ip;
$user->score = \Option::get('user_initial_score'); $user->score = Option::get('user_initial_score');
$user->register_at = \Utils::getTimeFormatted(); $user->register_at = Utils::getTimeFormatted();
$user->last_sign_at = \Utils::getTimeFormatted(time() - 86400); $user->last_sign_at = Utils::getTimeFormatted(time() - 86400);
$user->permission = 0; $user->permission = 0;
$user->save(); $user->save();

View File

@ -32,17 +32,20 @@
<div class="col-md-8"> <div class="col-md-8">
<div class="progress-group"> <div class="progress-group">
<span class="progress-text">角色数量</span> <span class="progress-text">角色数量</span>
<?php $players_available = count($user->getPlayers()) + floor($user->getScore() / 100); ?> <?php
$players_available = count($user->getPlayers()) + floor($user->getScore() / Option::get('score_per_player'));
$percent = ($players_available == 0) ? 0 : count($user->getPlayers()) / $players_available * 100
?>
<span class="progress-number"><b>{{ count($user->getPlayers()) }}</b>/{{ $players_available }}</span> <span class="progress-number"><b>{{ count($user->getPlayers()) }}</b>/{{ $players_available }}</span>
<div class="progress sm"> <div class="progress sm">
<div class="progress-bar progress-bar-aqua" style="width: {{ count($user->getPlayers()) / $players_available * 100 }}%"></div> <div class="progress-bar progress-bar-aqua" style="width: {{ $percent }}%"></div>
</div> </div>
</div><!-- /.progress-group --> </div><!-- /.progress-group -->
<div class="progress-group"> <div class="progress-group">
<span class="progress-text">存储空间</span> <span class="progress-text">存储空间</span>
<span class="progress-number"><b>{{ $user->getStorageUsed() }}</b>/{{ $user->getStorageUsed() + $user->getScore() }} KB</span> <span class="progress-number"><b>{{ $user->getStorageUsed() }}</b>/{{ $user->getStorageUsed() + $user->getScore() / Option::get('score_per_storage') }} KB</span>
<div class="progress sm"> <div class="progress sm">
<div class="progress-bar progress-bar-yellow" style="width: {{ $user->getStorageUsed() / ($user->getStorageUsed() + $user->getScore()) * 100 }}%"></div> <div class="progress-bar progress-bar-yellow" style="width: {{ $user->getStorageUsed() / ($user->getStorageUsed() + $user->getScore() / Option::get('score_per_storage')) * 100 }}%"></div>
</div> </div>
</div><!-- /.progress-group --> </div><!-- /.progress-group -->
</div><!-- /.col --> </div><!-- /.col -->