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']);
if ($user->getScore() < 100)
if ($user->getScore() < Option::get('score_per_player'))
View::json('积分不够添加角色啦', 7);
$player = new PlayerModel();
@ -57,7 +57,7 @@ class PlayerController extends BaseController
$player->last_modified = Utils::getTimeFormatted();
$player->save();
$user->setScore(100, 'minus');
$user->setScore(Option::get('score_per_player'), 'minus');
View::json('成功添加了角色 '.$player_name.'', 0);
@ -68,7 +68,7 @@ class PlayerController extends BaseController
$player_name = $this->player->eloquent_model->player_name;
$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 File

@ -133,7 +133,7 @@ class SkinlibController extends BaseController
$t->uploader = $this->user->uid;
$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);
$results = Texture::where('hash', $t->hash)->get();
@ -183,7 +183,7 @@ class SkinlibController extends BaseController
if (Texture::where('hash', $result['hash'])->count() == 1)
\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())
View::json('材质已被成功删除', 0);

View File

@ -2,6 +2,9 @@
namespace App\Models;
use Option;
use Utils;
class User
{
public $uid = "";
@ -41,7 +44,7 @@ class User
*/
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);
$class_name = "App\Services\Cipher\\".$_ENV['PWD_METHOD'];
@ -81,6 +84,7 @@ class User
* -1 - banned
* 0 - normal
* 1 - admin
* 2 - super admin
*/
public function setPermission($permission)
{
@ -155,9 +159,10 @@ class User
public function sign()
{
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->eloquent_model->last_sign_at = \Utils::getTimeFormatted();
$this->eloquent_model->last_sign_at = Utils::getTimeFormatted();
$this->eloquent_model->save();
return $aquired_score;
} else {
@ -168,7 +173,7 @@ class User
public function canSign($return_remaining_time = false)
{
// 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);
}
@ -190,9 +195,9 @@ class User
$user->email = $this->email;
$user->password = $this->cipher->encrypt($password, $_ENV['SALT']);
$user->ip = $ip;
$user->score = \Option::get('user_initial_score');
$user->register_at = \Utils::getTimeFormatted();
$user->last_sign_at = \Utils::getTimeFormatted(time() - 86400);
$user->score = Option::get('user_initial_score');
$user->register_at = Utils::getTimeFormatted();
$user->last_sign_at = Utils::getTimeFormatted(time() - 86400);
$user->permission = 0;
$user->save();

View File

@ -32,17 +32,20 @@
<div class="col-md-8">
<div class="progress-group">
<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>
<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><!-- /.progress-group -->
<div class="progress-group">
<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-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><!-- /.progress-group -->
</div><!-- /.col -->