From 1a5cbebd3cc0226a1ba53a0d5a9ca661e15af6e2 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Fri, 12 Aug 2016 11:42:00 -0500 Subject: [PATCH 1/3] Improve Readme file from BBB plugin - refs #8390 --- plugin/bbb/README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plugin/bbb/README.md b/plugin/bbb/README.md index 01bcb082eb..238742e12a 100644 --- a/plugin/bbb/README.md +++ b/plugin/bbb/README.md @@ -4,15 +4,24 @@ This plugin allows you to have videoconference rooms in each course. It requires you to have a BigBlueButton videoconference server installed on another server (ideally). Check www.bigbluebutton.org for more about BigBlueButton. -## Migrating from Chamilo LMS 1.9.x to 1.10.x +## Migrating to Chamilo LMS 1.10.x For Chamilo 1.10.x, the Videoconference plugin has two new settings options: *Enable global conference* and *Enable conference in course groups*. ##### Database changes -You need execute this SQL query en your database after making the migration process from 1.9.x. +You need execute these SQL queries in your database after making the migration process from 1.9.x. ```sql ALTER TABLE plugin_bbb_meeting ADD voice_bridge int NOT NULL DEFAULT 1; ALTER TABLE plugin_bbb_meeting ADD group_id int unsigned NOT NULL DEFAULT 0; +``` +## Migrating to Chamilo LMS 1.11.x +For Chamilo 1.11.x, Videoconference plugin has two new settings options: + +##### Database changes +You need execute this SQL query in your database after making the Chamilo migration process from 1.10.x. +> If you are migrating from 1.9.x versions, you need execute the SQL queries from the migration to 1.10.x before. + +```sql ALTER TABLE plugin_bbb_meeting ADD user_id int unsigned NOT NULL DEFAULT 0; ALTER TABLE plugin_bbb_meeting ADD access_url int NOT NULL DEFAULT 1; ``` From 5d57715344f10c2bedda4b75ad9c43291eb6f5d0 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Fri, 12 Aug 2016 17:13:38 -0500 Subject: [PATCH 2/3] Fix installer when DB is in strict mode - refs #8388 --- main/install/index.php | 70 +++---- src/Chamilo/TicketBundle/Entity/Category.php | 189 +++++++++++++++++++ src/Chamilo/TicketBundle/Entity/Priority.php | 2 + 3 files changed, 228 insertions(+), 33 deletions(-) diff --git a/main/install/index.php b/main/install/index.php index 552385a1d0..c77031b6db 100755 --- a/main/install/index.php +++ b/main/install/index.php @@ -15,7 +15,10 @@ * @package chamilo.install */ -use ChamiloSession as Session; +use ChamiloSession as Session, + Chamilo\TicketBundle\Entity\Project as TicketProject, + Chamilo\TicketBundle\Entity\Category as TicketCategory, + Chamilo\TicketBundle\Entity\Priority as TicketPriority; ini_set('display_errors', '1'); ini_set('log_errors', '1'); @@ -821,14 +824,14 @@ if (@$_POST['step2']) { $connection->executeQuery('CREATE TABLE version (id int unsigned NOT NULL AUTO_INCREMENT, version varchar(255), PRIMARY KEY(id), UNIQUE(version))'); // Tickets - $table = Database::get_main_table(TABLE_TICKET_PROJECT); + $ticketProject = new TicketProject(); + $ticketProject + ->setId(1) + ->setName('Ticket System') + ->setInsertUserId(1); - // Default Project Table Ticket - $attributes = array( - 'id' => 1, - 'name' => 'Ticket System' - ); - Database::insert($table, $attributes); + $manager->persist($ticketProject); + $manager->flush(); $categories = array( get_lang('TicketEnrollment') => get_lang('TicketsAboutEnrollment'), @@ -840,29 +843,27 @@ if (@$_POST['step2']) { ); $i = 1; - $table = Database::get_main_table(TABLE_TICKET_CATEGORY); + /** + * @var string $category + * @var string $description + */ foreach ($categories as $category => $description) { // Online evaluation requires a course - if ($i == 6) { - $attributes = array( - 'id' => $i, - 'name' => $category, - 'description' => $description, - 'project_id' => 1, - 'course_required' => 1 - ); - } else { - $attributes = array( - 'id' => $i, - 'project_id' => 1, - 'description' => $description, - 'name' => $category, - 'course_required' => 0 - ); - } + $ticketCategory = new TicketCategory(); + $ticketCategory + ->setId($i) + ->setName($category) + ->setDescription($description) + ->setProject($ticketProject) + ->setInsertUserId(1); + + $isRequired = $i == 6; + $ticketCategory->setCourseRequired($isRequired); + + $manager->persist($ticketCategory); + $manager->flush(); - Database::insert($table, $attributes); $i++; } @@ -876,12 +877,15 @@ if (@$_POST['step2']) { $table = Database::get_main_table(TABLE_TICKET_PRIORITY); $i = 1; foreach ($defaultPriorities as $code => $priority) { - $attributes = array( - 'id' => $i, - 'name' => $priority, - 'code' => $code - ); - Database::insert($table, $attributes); + $ticketPriority = new TicketPriority(); + $ticketPriority + ->setId($i) + ->setName($priority) + ->setCode($code) + ->setInsertUserId(1); + + $manager->persist($ticketPriority); + $manager->flush(); $i++; } diff --git a/src/Chamilo/TicketBundle/Entity/Category.php b/src/Chamilo/TicketBundle/Entity/Category.php index 3fe21f1a38..c0b9f995db 100644 --- a/src/Chamilo/TicketBundle/Entity/Category.php +++ b/src/Chamilo/TicketBundle/Entity/Category.php @@ -88,4 +88,193 @@ class Category * @ORM\Column(name="sys_lastedit_datetime", type="datetime", nullable=true, unique=false) */ protected $lastEditDateTime; + + /** + * Category constructor. + */ + public function __construct() + { + $this->totalTickets = 0; + $this->insertDateTime = new \DateTime(); + } + + /** + * @return int + */ + public function getId() + { + return $this->id; + } + + /** + * @param int $id + * @return Category + */ + public function setId($id) + { + $this->id = $id; + return $this; + } + + /** + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * @param string $name + * @return Category + */ + public function setName($name) + { + $this->name = $name; + return $this; + } + + /** + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * @param string $description + * @return Category + */ + public function setDescription($description) + { + $this->description = $description; + return $this; + } + + /** + * @return int + */ + public function getTotalTickets() + { + return $this->totalTickets; + } + + /** + * @param int $totalTickets + * @return Category + */ + public function setTotalTickets($totalTickets) + { + $this->totalTickets = $totalTickets; + return $this; + } + + /** + * @return boolean + */ + public function isCourseRequired() + { + return $this->courseRequired; + } + + /** + * @param boolean $courseRequired + * @return Category + */ + public function setCourseRequired($courseRequired) + { + $this->courseRequired = $courseRequired; + return $this; + } + + /** + * @return Project + */ + public function getProject() + { + return $this->project; + } + + /** + * @param Project $project + * @return Category + */ + public function setProject($project) + { + $this->project = $project; + return $this; + } + + /** + * @return int + */ + public function getInsertUserId() + { + return $this->insertUserId; + } + + /** + * @param int $insertUserId + * @return Category + */ + public function setInsertUserId($insertUserId) + { + $this->insertUserId = $insertUserId; + return $this; + } + + /** + * @return \DateTime + */ + public function getInsertDateTime() + { + return $this->insertDateTime; + } + + /** + * @param \DateTime $insertDateTime + * @return Category + */ + public function setInsertDateTime($insertDateTime) + { + $this->insertDateTime = $insertDateTime; + return $this; + } + + /** + * @return int + */ + public function getLastEditUserId() + { + return $this->lastEditUserId; + } + + /** + * @param int $lastEditUserId + * @return Category + */ + public function setLastEditUserId($lastEditUserId) + { + $this->lastEditUserId = $lastEditUserId; + return $this; + } + + /** + * @return \DateTime + */ + public function getLastEditDateTime() + { + return $this->lastEditDateTime; + } + + /** + * @param \DateTime $lastEditDateTime + * @return Category + */ + public function setLastEditDateTime($lastEditDateTime) + { + $this->lastEditDateTime = $lastEditDateTime; + return $this; + } } diff --git a/src/Chamilo/TicketBundle/Entity/Priority.php b/src/Chamilo/TicketBundle/Entity/Priority.php index 48eb259683..ba59fac9ce 100644 --- a/src/Chamilo/TicketBundle/Entity/Priority.php +++ b/src/Chamilo/TicketBundle/Entity/Priority.php @@ -94,6 +94,8 @@ class Priority public function __construct() { $this->insertDateTime = new \DateTime(); + $this->color = ''; + $this->urgency = ''; } /** From 01d2ace59fa21ecdf8d219fb86c5718663a8691d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Loguercio?= Date: Fri, 12 Aug 2016 20:43:53 -0500 Subject: [PATCH 3/3] Move "next" button after form in license page in install process - Refs #8394 --- main/inc/ajax/install.ajax.php | 4 +-- main/install/index.php | 64 ++++++++++++++++++++-------------- main/install/install.lib.php | 23 ++++++------ 3 files changed, 51 insertions(+), 40 deletions(-) diff --git a/main/inc/ajax/install.ajax.php b/main/inc/ajax/install.ajax.php index 05c3a82107..e47d8177de 100755 --- a/main/inc/ajax/install.ajax.php +++ b/main/inc/ajax/install.ajax.php @@ -38,7 +38,7 @@ switch ($action) { // save contact information with web service // create a client - $client = new nusoap_client('http://version.chamilo.org/contact.php?wsdl', true); + $client = new SoapClient('https://version.chamilo.org/contact.php?wsdl'); // call method ws_add_contact_information $contact_params = array( @@ -53,7 +53,7 @@ switch ($action) { 'company_city' => $company_city ); - $result = $client->call('ws_add_contact_information', array('contact_params' => $contact_params)); + $result = $client->__soapCall('ws_add_contact_information', array('contact_params' => $contact_params)); echo $result; } diff --git a/main/install/index.php b/main/install/index.php index 552385a1d0..97b4e87cd2 100755 --- a/main/install/index.php +++ b/main/install/index.php @@ -367,34 +367,44 @@ if ($encryptPassForm == '1') { }); function send_contact_information() { - var data_post = ""; - data_post += "person_name="+$("#person_name").val()+"&"; - data_post += "person_email="+$("#person_email").val()+"&"; - data_post += "company_name="+$("#company_name").val()+"&"; - data_post += "company_activity="+$("#company_activity option:selected").val()+"&"; - data_post += "person_role="+$("#person_role option:selected").val()+"&"; - data_post += "company_country="+$("#country option:selected").val()+"&"; - data_post += "company_city="+$("#company_city").val()+"&"; - data_post += "language="+$("#language option:selected").val()+"&"; - data_post += "financial_decision="+$("input[@name='financial_decision']:checked").val(); - - $.ajax({ - contentType: "application/x-www-form-urlencoded", - beforeSend: function(objeto) {}, - type: "POST", - url: "install.ajax.php?a=send_contact_information", - data: data_post, - success: function(datos) { - if (datos == 'required_field_error') { - message = ""; - } else if (datos == '1') { - message = ""; - } else { - message = ""; + if (!document.getElementById('accept_licence').checked) { + alert('Debe aceptar la licencia para poder usar este software') + ;return false; + } else { + var data_post = ""; + data_post += "person_name="+$("#person_name").val()+"&"; + data_post += "person_email="+$("#person_email").val()+"&"; + data_post += "company_name="+$("#company_name").val()+"&"; + data_post += "company_activity="+$("#company_activity option:selected").val()+"&"; + data_post += "person_role="+$("#person_role option:selected").val()+"&"; + data_post += "company_country="+$("#country option:selected").val()+"&"; + data_post += "company_city="+$("#company_city").val()+"&"; + data_post += "language="+$("#language option:selected").val()+"&"; + data_post += "financial_decision="+$("input[name='financial_decision']:checked").val(); + + $.ajax({ + contentType: "application/x-www-form-urlencoded", + beforeSend: function(objeto) {}, + type: "POST", + url: "install.ajax.php?a=send_contact_information", + beforeSend : function() { + $('#loader-button').append(' '); + }, + data: data_post, + success: function(datos) { + if (datos == 'required_field_error') { + message = ""; + } else if (datos == '1') { + message = ""; + } else { + message = ""; + } + alert(message); + $('#license-next').trigger('click'); + $('#loader-button').html(''); } - alert(message); - } - }); + }); + } } diff --git a/main/install/install.lib.php b/main/install/install.lib.php index 6468c8838a..6c24370f76 100755 --- a/main/install/install.lib.php +++ b/main/install/install.lib.php @@ -1112,14 +1112,6 @@ function display_license_agreement() - - - -
@@ -1141,6 +1133,15 @@ function display_license_agreement()


+ + + + + +
@@ -1261,13 +1262,13 @@ function get_contact_registration_form()
 
-
+
 
*'.get_lang('FieldRequired').'
- '; +
'; return $html; }