|
|
|
@ -26,7 +26,7 @@ class Tour extends Plugin |
|
|
|
|
/** |
|
|
|
|
* Instance the plugin |
|
|
|
|
* @staticvar null $result |
|
|
|
|
* @return type |
|
|
|
|
* @return Tour |
|
|
|
|
*/ |
|
|
|
|
static function create() |
|
|
|
|
{ |
|
|
|
@ -35,16 +35,28 @@ class Tour extends Plugin |
|
|
|
|
return $result ? $result : $result = new self(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Install the plugin |
|
|
|
|
* @return void |
|
|
|
|
*/ |
|
|
|
|
public function install() |
|
|
|
|
{ |
|
|
|
|
$this->installDatabase(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Uninstall the plugin |
|
|
|
|
* @return void |
|
|
|
|
*/ |
|
|
|
|
public function uninstall() |
|
|
|
|
{ |
|
|
|
|
$this->unistallDatabase(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Create the database tables for the plugin |
|
|
|
|
* @return void |
|
|
|
|
*/ |
|
|
|
|
private function installDatabase() |
|
|
|
|
{ |
|
|
|
|
$pluginTourLogTable = Database::get_main_table(TABLE_TOUR_LOG); |
|
|
|
@ -59,6 +71,10 @@ class Tour extends Plugin |
|
|
|
|
Database::query($sql); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Drop the database tables for the plugin |
|
|
|
|
* @return void |
|
|
|
|
*/ |
|
|
|
|
private function unistallDatabase() |
|
|
|
|
{ |
|
|
|
|
$pluginTourLogTable = Database::get_main_table(TABLE_TOUR_LOG); |
|
|
|
@ -68,6 +84,12 @@ class Tour extends Plugin |
|
|
|
|
Database::query($sql); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Check whether the tour should be displayed to the user |
|
|
|
|
* @param string $currentPageClass The class of the current page |
|
|
|
|
* @param int $userId The user id |
|
|
|
|
* @return boolean If the user has seen the tour return false, otherwise return true |
|
|
|
|
*/ |
|
|
|
|
public function checkTourForUser($currentPageClass, $userId) |
|
|
|
|
{ |
|
|
|
|
$pluginTourLogTable = Database::get_main_table(TABLE_TOUR_LOG); |
|
|
|
@ -87,6 +109,12 @@ class Tour extends Plugin |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Set the tour as seen |
|
|
|
|
* @param string $currentPageClass The class of the current page |
|
|
|
|
* @param int $userId The user id |
|
|
|
|
* @return void |
|
|
|
|
*/ |
|
|
|
|
public function saveCompletedTour($currentPageClass, $userId) |
|
|
|
|
{ |
|
|
|
|
$pluginTourLogTable = Database::get_main_table(TABLE_TOUR_LOG); |
|
|
|
|