aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvincent-peugnet <v.peugnet@free.fr>2019-08-09 00:17:08 +0200
committervincent-peugnet <v.peugnet@free.fr>2019-08-09 00:17:08 +0200
commit87ca0b50e624feacd2caff2057c5ebfb62a7977f (patch)
treeaf43a7da5414033813f414877e36a017ec56121d
parentef18c5f848a5e4d1239bdc1d89e0cc9f75a10512 (diff)
downloadwcms-87ca0b50e624feacd2caff2057c5ebfb62a7977f.tar.gz
wcms-87ca0b50e624feacd2caff2057c5ebfb62a7977f.zip
Users have now a connections counter
-rw-r--r--app/class/controllerconnect.php1
-rw-r--r--app/class/modelmedia.php10
-rw-r--r--app/class/modeluser.php37
-rw-r--r--app/class/user.php26
-rw-r--r--composer.json2
5 files changed, 58 insertions, 18 deletions
diff --git a/app/class/controllerconnect.php b/app/class/controllerconnect.php
index fb43d4c..303abf2 100644
--- a/app/class/controllerconnect.php
+++ b/app/class/controllerconnect.php
@@ -37,6 +37,7 @@ class Controllerconnect extends Controller
if (isset($_POST['pass'])) {
$this->user = $this->usermanager->passwordcheck($_POST['pass']);
if($this->user != false) {
+ $this->usermanager->connectcounter($this->user);
$this->usermanager->writesession($this->user);
$_SESSION['workspace']['showleftpanel'] = true;
$_SESSION['workspace']['showrightpanel'] = false;
diff --git a/app/class/modelmedia.php b/app/class/modelmedia.php
index 209fc85..ead7375 100644
--- a/app/class/modelmedia.php
+++ b/app/class/modelmedia.php
@@ -135,9 +135,8 @@ class Modelmedia extends Model
{
$glob = Model::FAVICON_DIR . '*.png';
$faviconlist = glob($glob);
- $count = strlen(Model::FAVICON_DIR);
- $faviconlist = array_map(function ($input) use ($count) {
- return substr($input, $count);
+ $faviconlist = array_map(function ($input){
+ return basename($input);
}, $faviconlist);
return $faviconlist;
}
@@ -147,9 +146,8 @@ class Modelmedia extends Model
{
$glob = Model::CSS_DIR . '*.css';
$listinterfacecss = glob($glob);
- $count = strlen(Model::CSS_DIR);
- $listinterfacecss = array_map(function ($input) use ($count) {
- return substr($input, $count);
+ $listinterfacecss = array_map(function ($input) {
+ return basename($input);
}, $listinterfacecss);
$listinterfacecss = array_diff($listinterfacecss, ['edit.css', 'home.css']);
return $listinterfacecss;
diff --git a/app/class/modeluser.php b/app/class/modeluser.php
index 453e503..ed8b254 100644
--- a/app/class/modeluser.php
+++ b/app/class/modeluser.php
@@ -41,15 +41,6 @@ class Modeluser extends Modeldb
}
}
- // public function invitetest($pass)
- // {
- // $invitepasslist = [];
- // if (in_array($pass, $invitepasslist)) {
- // return true;
- // } else {
- // return false;
- // }
- // }
public function logout()
{
@@ -146,14 +137,24 @@ class Modeluser extends Modeldb
}
}
- public function add(User $user)
+ /**
+ * @param User $user
+ *
+ * @return bool depending on success
+ */
+ public function add(User $user) : bool
{
$userdata = new \JamesMoss\Flywheel\Document($user->dry());
$userdata->setId($user->id());
- $this->repo->store($userdata);
+ return $this->repo->store($userdata);
}
+ /**
+ * @param string|User $id
+ *
+ * @return User|false User object or false in case of error
+ */
public function get($id)
{
if ($id instanceof User) {
@@ -176,6 +177,20 @@ class Modeluser extends Modeldb
$this->repo->delete($user->id());
}
+ /**
+ * Incerment connection counter
+ *
+ * @param string|User $id
+ *
+ * @return bool
+ */
+ public function connectcounter($id)
+ {
+ $user = $this->get($id);
+ $user->connectcounter();
+ return $this->add($user);
+ }
+
}
diff --git a/app/class/user.php b/app/class/user.php
index 645f73e..7a05f7b 100644
--- a/app/class/user.php
+++ b/app/class/user.php
@@ -9,6 +9,7 @@ class User
protected $passwordhashed = false;
protected $cookie = 0;
protected $columns = ['title', 'datemodif', 'datecreation', 'secure', 'visitcount'];
+ protected $connectcount = 0;
public function __construct($datas = [])
{
@@ -79,6 +80,11 @@ class User
return $this->columns;
}
+ public function connectcount()
+ {
+ return $this->connectcount;
+ }
+
// _______________________ S E T _______________________
@@ -135,6 +141,19 @@ class User
}
}
+ public function setconnectcount($connectcount)
+ {
+ if(is_int($connectcount) && $connectcount >= 0) {
+ $this->connectcount = $connectcount;
+ }
+ }
+
+
+
+
+
+ //____________________________________________________ F U N ____________________________________________________
+
@@ -183,6 +202,13 @@ class User
{
return $this->level === Modeluser::ADMIN;
}
+
+
+ public function connectcounter()
+ {
+ $this->connectcount ++;
+ }
+
}
diff --git a/composer.json b/composer.json
index 70f3b0b..3491541 100644
--- a/composer.json
+++ b/composer.json
@@ -1,7 +1,7 @@
{
"name": "w-cms",
"description": "point'n think",
- "version": "1.2.8",
+ "version": "1.2.9",
"require": {
"michelf/php-markdown": "^1.8",
"league/plates": "3.*",