diff --git a/core/util.inc.php b/core/util.inc.php
index c19e7fab..12e72ee5 100644
--- a/core/util.inc.php
+++ b/core/util.inc.php
@@ -390,8 +390,8 @@ function show_ip($ip, $ban_reason) {
/**
* Checks if a given string contains another at the beginning.
*
- * @param $haystack String to examine.
- * @param $needle String to look for.
+ * @param string $haystack String to examine.
+ * @param string $needle String to look for.
* @return bool
*/
function startsWith(/*string*/ $haystack, /*string*/ $needle) {
@@ -402,8 +402,8 @@ function startsWith(/*string*/ $haystack, /*string*/ $needle) {
/**
* Checks if a given string contains another at the end.
*
- * @param $haystack String to examine.
- * @param $needle String to look for.
+ * @param string $haystack String to examine.
+ * @param string $needle String to look for.
* @return bool
*/
function endsWith(/*string*/ $haystack, /*string*/ $needle) {
@@ -695,7 +695,7 @@ function is_https_enabled() {
* from the "Amazon S3 PHP class" which is Copyright (c) 2008, Donovan Schönknecht
* and released under the 'Simplified BSD License'.
*
- * @param string &$file File path
+ * @param string $file File path
* @param string $ext
* @param bool $list
* @return string
@@ -1463,7 +1463,7 @@ function _dump_event_listeners($event_listeners, $path) {
}
/**
- * @param $ext_name string
+ * @param string $ext_name Main class name (eg ImageIO as opposed to ImageIOTheme or ImageIOTest)
* @return bool
*/
function ext_is_live($ext_name) {
diff --git a/ext/cron_uploader/main.php b/ext/cron_uploader/main.php
index 9fe1c35d..182a1848 100644
--- a/ext/cron_uploader/main.php
+++ b/ext/cron_uploader/main.php
@@ -213,7 +213,7 @@ class CronUploader extends Extension {
/**
* Returns amount of files & total size of dir.
- * @param $path string
+ * @param string $path directory name to scan
* @return multitype:number
*/
function scan_dir($path){
@@ -234,7 +234,7 @@ class CronUploader extends Extension {
/**
* Uploads the image & handles everything
- * @param $upload_count int to upload a non-config amount of imgs
+ * @param int $upload_count to upload a non-config amount of imgs
* @return boolean returns true if the upload was successful
*/
public function process_upload($upload_count = 0) {
diff --git a/ext/handle_ico/main.php b/ext/handle_ico/main.php
index c16fb64e..00f1a54a 100644
--- a/ext/handle_ico/main.php
+++ b/ext/handle_ico/main.php
@@ -86,7 +86,7 @@ class IcoFileHandler extends Extension {
}
/**
- * @param $file
+ * @param string $file
* @return bool
*/
private function check_contents($file) {
@@ -98,7 +98,7 @@ class IcoFileHandler extends Extension {
}
/**
- * @param $hash
+ * @param string $hash
* @return bool
*/
private function create_thumb($hash) {
diff --git a/ext/image_view_counter/main.php b/ext/image_view_counter/main.php
index 4d8fa1cf..8cd9d409 100644
--- a/ext/image_view_counter/main.php
+++ b/ext/image_view_counter/main.php
@@ -11,98 +11,124 @@
* This is done to prevent duplicate views.
* A person can only count as a view again 1 hour after viewing the image initially.
*/
-class image_view_counter extends Extension {
- private $view_interval = 3600; # allows views to be added each hour
+class ImageViewCounter extends Extension {
+ private $view_interval = 3600; # allows views to be added each hour
- # Add Setup Block with options for view counter
- public function onSetupBuilding(SetupBuildingEvent $event) {
- $sb = new SetupBlock("Image View Counter");
- $sb->add_bool_option("image_viewcounter_adminonly", "Display view counter only to admin");
+ # Add Setup Block with options for view counter
+ public function onSetupBuilding(SetupBuildingEvent $event) {
+ $sb = new SetupBlock("Image View Counter");
+ $sb->add_bool_option("image_viewcounter_adminonly", "Display view counter only to admin");
- $event->panel->add_block($sb);
+ $event->panel->add_block($sb);
}
- # Adds view to database if needed
- public function onDisplayingImage(DisplayingImageEvent $event) {
- $imgid = $event->image->id; // determines image id
- $this->addview($imgid); // adds a view
- }
+ # Adds view to database if needed
+ public function onDisplayingImage(DisplayingImageEvent $event) {
+ $imgid = $event->image->id; // determines image id
+ $this->addview($imgid); // adds a view
+ }
- # display views to user or admin below image if allowed
- public function onImageInfoBoxBuilding(ImageInfoBoxBuildingEvent $event) {
+ # display views to user or admin below image if allowed
+ public function onImageInfoBoxBuilding(ImageInfoBoxBuildingEvent $event) {
global $user, $config;
-
- $adminonly = $config->get_bool("image_viewcounter_adminonly"); // todo0
- if ($adminonly == false || ($adminonly && $user->is_admin()))
- $event->add_part("
Views: | ".
- $this->get_view_count($event->image->id) ." |
", 38);
- }
-
- # Installs DB table
- public function onInitExt(InitExtEvent $event) {
- global $database, $config;
-
- // if the sql table doesn't exist yet, create it
- if($config->get_bool("image_viewcounter_installed") == false) { //todo
- $database->create_table("image_views","
- id SCORE_AIPK,
- image_id INTEGER NOT NULL,
- user_id INTEGER NOT NULL,
- timestamp INTEGER NOT NULL,
- ipaddress SCORE_INET NOT NULL");
- $config->set_bool("image_viewcounter_installed", true);
- }
- }
-
- # Adds a view to the item if needed
- private function addview($imgid)
- {
- global $database, $user;
-
- // don't add view if person already viewed recently
- if ($this->can_add_view($imgid) == false) return;
-
- // Add view for current IP
- $database->execute("INSERT INTO image_views (image_id, user_id, timestamp, ipaddress)
- VALUES (:image_id, :user_id, :timestamp, :ipaddress)", array(
- "image_id" => $imgid,
- "user_id" => $user->id,
- "timestamp" => time(),
- "ipaddress" => $_SERVER['REMOTE_ADDR'],
- ));
- }
-
- # Returns true if this IP hasn't recently viewed this image
- private function can_add_view($imgid)
- {
- global $database;
-
- // counts views from current IP in the last hour
- $recent_from_ip = (int)$database->get_one("SELECT COUNT(*) FROM image_views WHERE
- ipaddress=:ipaddress AND timestamp >:lasthour AND image_id =:image_id",
- array( "ipaddress" => $_SERVER['REMOTE_ADDR'],
- "lasthour" => time() - $this->view_interval,
- "image_id" => $imgid));
-
- // if no views were found with the set criteria, return true
- if($recent_from_ip == 0) return true;
- else return false;
- }
-
- # Returns the int of the view count from the given image id
- // $imgid - if not set or 0, return views of all images
- private function get_view_count($imgid = 0)
- {
- global $database;
-
- if ($imgid == 0) // return view count of all images
- $view_count = (int)$database->get_one("SELECT COUNT(*) FROM image_views");
- else // return view count of specified image
- $view_count = (int)$database->get_one("SELECT COUNT(*) FROM image_views WHERE ".
- "image_id =:image_id", array("image_id" => $imgid));
-
- // returns the count as int
- return $view_count;
- }
+
+ $adminonly = $config->get_bool("image_viewcounter_adminonly"); // todo
+ if ($adminonly == false || ($adminonly && $user->is_admin()))
+ $event->add_part(
+ "Views: | ".
+ $this->get_view_count($event->image->id) .
+ " |
", 38);
+ }
+
+ # Installs DB table
+ public function onInitExt(InitExtEvent $event) {
+ global $database, $config;
+
+ // if the sql table doesn't exist yet, create it
+ if($config->get_bool("image_viewcounter_installed") == false) { //todo
+ $database->create_table("image_views","
+ id SCORE_AIPK,
+ image_id INTEGER NOT NULL,
+ user_id INTEGER NOT NULL,
+ timestamp INTEGER NOT NULL,
+ ipaddress SCORE_INET NOT NULL");
+ $config->set_bool("image_viewcounter_installed", true);
+ }
+ }
+
+ /**
+ * Adds a view to the item if needed
+ * @param int $imgid
+ */
+ private function addview($imgid)
+ {
+ global $database, $user;
+
+ // don't add view if person already viewed recently
+ if ($this->can_add_view($imgid) == false) return;
+
+ // Add view for current IP
+ $database->execute(
+ "
+ INSERT INTO image_views (image_id, user_id, timestamp, ipaddress)
+ VALUES (:image_id, :user_id, :timestamp, :ipaddress)
+ ",
+ array(
+ "image_id" => $imgid,
+ "user_id" => $user->id,
+ "timestamp" => time(),
+ "ipaddress" => $_SERVER['REMOTE_ADDR'],
+ )
+ );
+ }
+
+ /**
+ * Returns true if this IP hasn't recently viewed this image
+ * @param int $imgid
+ */
+ private function can_add_view($imgid)
+ {
+ global $database;
+
+ // counts views from current IP in the last hour
+ $recent_from_ip = (int)$database->get_one(
+ "
+ SELECT COUNT(*)
+ FROM image_views
+ WHERE ipaddress=:ipaddress AND timestamp >:lasthour AND image_id =:image_id
+ ",
+ array(
+ "ipaddress" => $_SERVER['REMOTE_ADDR'],
+ "lasthour" => time() - $this->view_interval,
+ "image_id" => $imgid
+ )
+ );
+
+ // if no views were found with the set criteria, return true
+ if($recent_from_ip == 0) return true;
+ else return false;
+ }
+
+ /**
+ * Returns the int of the view count from the given image id
+ * @param int $imgid - if not set or 0, return views of all images
+ */
+ private function get_view_count($imgid = 0)
+ {
+ global $database;
+
+ if ($imgid == 0) // return view count of all images
+ $view_count = (int)$database->get_one(
+ "SELECT COUNT(*) FROM image_views"
+ );
+ else // return view count of specified image
+ $view_count = (int)$database->get_one(
+ "SELECT COUNT(*) FROM image_views WHERE image_id =:image_id",
+ array("image_id" => $imgid)
+ );
+
+ // returns the count as int
+ return $view_count;
+ }
}