-
+ $sessionInfo = api_get_session_info($sessionId);
+ ?>
+
+
+
-
+ get_values_by_handler_and_field_variable($sessionId, 'description', false);
+
+ return $description !== false ? trim($description['field_value']) : '';
+ }
+
+ /**
+ * Whether the session has not description extra field insert a new record. Otherwise update the record
+ * @param int $sessionId The session id
+ * @param string $description The session description
+ * @return void
+ */
+ public static function saveSessionDescription($sessionId, $description)
+ {
+ $sessionId = intval($sessionId);
+ $fieldValuesTable = Database::get_main_table(TABLE_MAIN_SESSION_FIELD_VALUES);
+
+ $fieldValue = new ExtraFieldValue('session');
+ $descriptionValue = $fieldValue->get_values_by_handler_and_field_variable($sessionId, 'description', false);
+
+ if ($descriptionValue === false) {
+ $sessionField = new ExtraField('session');
+ $fieldInfo = $sessionField->get_handler_field_info_by_field_variable('description');
+
+ if (empty($fieldInfo)) {
+ return;
+ }
+
+ $attributes = array(
+ 'session_id' => $sessionId,
+ 'field_id' => $fieldInfo['id'],
+ 'field_value' => $description,
+ 'tms' => api_get_utc_datetime()
+ );
+
+ Database::insert($fieldValuesTable, $attributes);
+ } else {
+ $attributes = array(
+ 'field_value' => $description,
+ 'tms' => api_get_utc_datetime()
+ );
+
+ Database::update($fieldValuesTable, $attributes, array(
+ 'id = ?' => $descriptionValue['id']
+ ));
+ }
+ }
+
}
diff --git a/main/install/db_main.sql b/main/install/db_main.sql
index 4629bf223d..eea0b915f5 100755
--- a/main/install/db_main.sql
+++ b/main/install/db_main.sql
@@ -3026,4 +3026,5 @@ CREATE TABLE usergroup_rel_question (
coefficient float(6,2)
);
--- 1.10.x-specific, non-course-related, database changes
\ No newline at end of file
+-- 1.10.x-specific, non-course-related, database changes
+INSERT INTO session_field (field_type, field_variable, field_display_text, field_default_value) values (2, 'description','Description', NULL);
\ No newline at end of file
diff --git a/main/install/migrate-db-1.9.0-1.10.0-pre.sql b/main/install/migrate-db-1.9.0-1.10.0-pre.sql
index 6c4ea9bf59..cd8512223c 100644
--- a/main/install/migrate-db-1.9.0-1.10.0-pre.sql
+++ b/main/install/migrate-db-1.9.0-1.10.0-pre.sql
@@ -13,6 +13,7 @@
-- This first part is for the main database
-- xxMAINxx
+INSERT INTO session_field (field_type, field_variable, field_display_text, field_default_value) values (2, 'description','Description', NULL);
diff --git a/main/session/index.php b/main/session/index.php
index 712088bf9f..27a02a8ed6 100755
--- a/main/session/index.php
+++ b/main/session/index.php
@@ -354,20 +354,18 @@ if (!empty($start) && !empty($end)) {
echo Display::tag('h1', $session_info['name']);
echo $dates.'
';
-if (class_exists('AdvancedSessionsPlugin') && AdvancedSessionsPlugin::hasDescriptionField()) {
- $sessionDescription = AdvancedSessionsPlugin::getSessionDescription($session_id);
-
- if (!empty($sessionDescription)) {
- ?>
-
-
-
+$sessionDescription = SessionManager::getSessionDescription($session_id);
+
+if (!empty($sessionDescription)) {
+?>
+
+
-
+
- * @package chamilo.plugin.advancedSessions
- */
-require_once api_get_path(SYS_PATH) . 'main/inc/global.inc.php';
-require_once api_get_path(LIBRARY_PATH) . 'plugin.class.php';
-require_once api_get_path(PLUGIN_PATH) . 'advancedsessions/src/AdvancedSessionsPlugin.class.php';
diff --git a/plugin/advancedsessions/install.php b/plugin/advancedsessions/install.php
deleted file mode 100644
index 8dbae461da..0000000000
--- a/plugin/advancedsessions/install.php
+++ /dev/null
@@ -1,10 +0,0 @@
-
- * @package chamilo.plugin.advancedSessions
- */
-require_once __DIR__ . '/config.php';
-
-AdvancedSessionsPlugin::create()->install();
diff --git a/plugin/advancedsessions/lang/english.php b/plugin/advancedsessions/lang/english.php
deleted file mode 100644
index f3744e9311..0000000000
--- a/plugin/advancedsessions/lang/english.php
+++ /dev/null
@@ -1,3 +0,0 @@
-
- * @package chamilo.plugin.advancedSessions
- */
-require_once __DIR__.'/config.php';
-
-$plugin_info = AdvancedSessionsPlugin::create()->get_info();
\ No newline at end of file
diff --git a/plugin/advancedsessions/src/AdvancedSessionsPlugin.class.php b/plugin/advancedsessions/src/AdvancedSessionsPlugin.class.php
deleted file mode 100644
index 13f93caabc..0000000000
--- a/plugin/advancedsessions/src/AdvancedSessionsPlugin.class.php
+++ /dev/null
@@ -1,151 +0,0 @@
-
- * @package chamilo.plugin.advancedSessions
- */
-class AdvancedSessionsPlugin extends Plugin
-{
-
- const FIELD_NAME = 'advsess_description';
- const FIELD_TITLE = 'AdvSessDescription';
-
- /**
- * Class constructor
- */
- protected function __construct()
- {
- parent::__construct('1.0', 'Angel Fernando Quiroz Campos');
- }
-
- /**
- * Instance the plugin
- * @staticvar null $result
- * @return Tour
- */
- static function create()
- {
- static $result = null;
-
- return $result ? $result : $result = new self();
- }
-
- /**
- * Install the plugin
- * @return void
- */
- public function install()
- {
- $this->createSessionFields();
- }
-
- /**
- * Uninstall the plugin
- * @return void
- */
- public function uninstall()
- {
- $this->removeSessionFields();
- }
-
- /**
- * Create the extra field for session description
- */
- private function createSessionFields()
- {
- SessionManager::create_session_extra_field(self::FIELD_NAME, ExtraField::FIELD_TYPE_TEXTAREA, self::FIELD_TITLE);
- }
-
- /**
- * Remove the extra field for session description
- */
- private function removeSessionFields()
- {
- $sessionField = new ExtraField('session');
- $fieldInfo = $sessionField->get_handler_field_info_by_field_variable(self::FIELD_NAME);
-
- if (!empty($fieldInfo)) {
- $sessionField->delete($fieldInfo['id']);
- }
- }
-
- /**
- * Get the extra field information
- * @return array
- */
- public static function getFieldInfo()
- {
- $sessionField = new ExtraField('session');
- $fieldInfo = $sessionField->get_handler_field_info_by_field_variable(self::FIELD_NAME);
-
- return $fieldInfo;
- }
-
- /**
- * Check whether the session extra field for description exists
- * @return boolean
- */
- public static function hasDescriptionField()
- {
- $fieldInfo = self::getFieldInfo();
-
- return empty($fieldInfo) ? false : true;
- }
-
- /**
- * Whether the session has not description extra field insert a new record. Otherwise update the record
- * @param int $id The session id
- * @param string $description The session description
- * @return void
- */
- public static function saveSessionFieldValue($id, $description)
- {
- $id = intval($id);
- $fieldValuesTable = Database::get_main_table(TABLE_MAIN_SESSION_FIELD_VALUES);
-
- $fieldValue = new ExtraFieldValue('session');
- $descriptionValue = $fieldValue->get_values_by_handler_and_field_variable($id, self::FIELD_NAME, false);
-
- if ($descriptionValue === false) {
- $fieldInfo = self::getFieldInfo();
-
- if (empty($fieldInfo)) {
- return;
- }
-
- $attributes = array(
- 'session_id' => $id,
- 'field_id' => $fieldInfo['id'],
- 'field_value' => $description,
- 'tms' => api_get_utc_datetime()
- );
-
- Database::insert($fieldValuesTable, $attributes);
- } else {
- $attributes = array(
- 'field_value' => $description,
- 'tms' => api_get_utc_datetime()
- );
-
- Database::update($fieldValuesTable, $attributes, array(
- 'id = ?' => $descriptionValue['id']
- ));
- }
- }
-
- /**
- * Get the session description
- * @param int $sessionId The session id
- * @return string The session description. Otherwise return null
- */
- public static function getSessionDescription($sessionId) {
- $sessionId = intval($sessionId);
-
- $fieldValue = new ExtraFieldValue('session');
- $description = $fieldValue->get_values_by_handler_and_field_variable($sessionId, self::FIELD_NAME, false);
-
- return $description !== false ? trim($description['field_value']) : '';
- }
-}
diff --git a/plugin/advancedsessions/uninstall.php b/plugin/advancedsessions/uninstall.php
deleted file mode 100644
index 175c859eeb..0000000000
--- a/plugin/advancedsessions/uninstall.php
+++ /dev/null
@@ -1,10 +0,0 @@
-
- * @package chamilo.plugin.advancedSessions
- */
-require_once __DIR__ . '/config.php';
-
-AdvancedSessionsPlugin::create()->uninstall();