Browse Source

Fixes courses tables for migration and imports - refs #8331

Angel Fernando Quiroz Campos 8 years ago
parent
commit
56882c9433

+ 22 - 22
app/Migrations/Schema/V111/Version111.php

@@ -71,65 +71,65 @@ class Version111 extends AbstractMigrationChamilo
         // Needed to update 0000-00-00 00:00:00 values
         $this->addSql('SET sql_mode = ""');
 
-        $this->addSql('UPDATE c_lp SET publicated_on = NULL WHERE publicated_on = "0000-00-00 00:00:00"');
-        $this->addSql('UPDATE c_lp SET expired_on = NULL WHERE expired_on = "0000-00-00 00:00:00"');
-
         $this->addSql('ALTER TABLE c_lp CHANGE publicated_on publicated_on DATETIME');
         $this->addSql('ALTER TABLE c_lp CHANGE expired_on expired_on DATETIME');
 
-        $this->addSql('UPDATE c_quiz SET start_time = NULL WHERE start_time = "0000-00-00 00:00:00"');
-        $this->addSql('UPDATE c_quiz SET end_time = NULL WHERE end_time = "0000-00-00 00:00:00"');
+        $this->addSql('UPDATE c_lp SET publicated_on = NULL WHERE publicated_on = "0000-00-00 00:00:00"');
+        $this->addSql('UPDATE c_lp SET expired_on = NULL WHERE expired_on = "0000-00-00 00:00:00"');
 
         $this->addSql('ALTER TABLE c_quiz CHANGE start_time start_time DATETIME');
         $this->addSql('ALTER TABLE c_quiz CHANGE end_time end_time DATETIME');
 
-        $this->addSql('UPDATE c_calendar_event SET start_date = NULL WHERE start_date = "0000-00-00 00:00:00"');
-        $this->addSql('UPDATE c_calendar_event SET end_date = NULL WHERE end_date = "0000-00-00 00:00:00"');
+        $this->addSql('UPDATE c_quiz SET start_time = NULL WHERE start_time = "0000-00-00 00:00:00"');
+        $this->addSql('UPDATE c_quiz SET end_time = NULL WHERE end_time = "0000-00-00 00:00:00"');
 
         $this->addSql('ALTER TABLE c_calendar_event CHANGE start_date start_date DATETIME');
         $this->addSql('ALTER TABLE c_calendar_event CHANGE end_date end_date DATETIME');
 
-        $this->addSql('UPDATE personal_agenda SET date = NULL WHERE date = "0000-00-00 00:00:00"');
-        $this->addSql('UPDATE personal_agenda SET enddate = NULL WHERE enddate = "0000-00-00 00:00:00"');
+        $this->addSql('UPDATE c_calendar_event SET start_date = NULL WHERE start_date = "0000-00-00 00:00:00"');
+        $this->addSql('UPDATE c_calendar_event SET end_date = NULL WHERE end_date = "0000-00-00 00:00:00"');
 
         $this->addSql('ALTER TABLE personal_agenda CHANGE date date DATETIME');
         $this->addSql('ALTER TABLE personal_agenda CHANGE enddate enddate DATETIME');
 
-        $this->addSql('UPDATE c_forum_forum SET start_time = NULL WHERE start_time = "0000-00-00 00:00:00"');
-        $this->addSql('UPDATE c_forum_forum SET end_time = NULL WHERE end_time = "0000-00-00 00:00:00"');
+        $this->addSql('UPDATE personal_agenda SET date = NULL WHERE date = "0000-00-00 00:00:00"');
+        $this->addSql('UPDATE personal_agenda SET enddate = NULL WHERE enddate = "0000-00-00 00:00:00"');
 
         $this->addSql('ALTER TABLE c_forum_forum CHANGE start_time start_time DATETIME');
         $this->addSql('ALTER TABLE c_forum_forum CHANGE end_time end_time DATETIME');
 
-        $this->addSql('UPDATE sys_calendar SET start_date = NULL WHERE start_date = "0000-00-00 00:00:00"');
-        $this->addSql('UPDATE sys_calendar SET end_date = NULL WHERE end_date = "0000-00-00 00:00:00"');
+        $this->addSql('UPDATE c_forum_forum SET start_time = NULL WHERE start_time = "0000-00-00 00:00:00"');
+        $this->addSql('UPDATE c_forum_forum SET end_time = NULL WHERE end_time = "0000-00-00 00:00:00"');
 
         $this->addSql('ALTER TABLE sys_calendar CHANGE start_date start_date DATETIME');
         $this->addSql('ALTER TABLE sys_calendar CHANGE end_date end_date DATETIME');
 
-        $this->addSql('UPDATE message SET update_date = NULL WHERE update_date = "0000-00-00 00:00:00"');
-        $this->addSql('ALTER TABLE message CHANGE update_date update_date DATETIME');
+        $this->addSql('UPDATE sys_calendar SET start_date = NULL WHERE start_date = "0000-00-00 00:00:00"');
+        $this->addSql('UPDATE sys_calendar SET end_date = NULL WHERE end_date = "0000-00-00 00:00:00"');
 
-        $this->addSql('UPDATE c_wiki_conf SET startdate_assig = NULL WHERE startdate_assig = "0000-00-00 00:00:00"');
-        $this->addSql('UPDATE c_wiki_conf SET enddate_assig = NULL WHERE enddate_assig = "0000-00-00 00:00:00"');
+        $this->addSql('ALTER TABLE message CHANGE update_date update_date DATETIME');
+        $this->addSql('UPDATE message SET update_date = NULL WHERE update_date = "0000-00-00 00:00:00"');
 
         $this->addSql('ALTER TABLE c_wiki_conf CHANGE startdate_assig startdate_assig DATETIME');
         $this->addSql('ALTER TABLE c_wiki_conf CHANGE enddate_assig enddate_assig DATETIME');
 
-        $this->addSql('UPDATE c_wiki SET time_edit = NULL WHERE time_edit = "0000-00-00 00:00:00"');
+        $this->addSql('UPDATE c_wiki_conf SET startdate_assig = NULL WHERE startdate_assig = "0000-00-00 00:00:00"');
+        $this->addSql('UPDATE c_wiki_conf SET enddate_assig = NULL WHERE enddate_assig = "0000-00-00 00:00:00"');
+
         $this->addSql('ALTER TABLE c_wiki CHANGE time_edit time_edit DATETIME');
+        $this->addSql('UPDATE c_wiki SET time_edit = NULL WHERE time_edit = "0000-00-00 00:00:00"');
 
-        $this->addSql('UPDATE c_wiki SET dtime = NULL WHERE dtime = "0000-00-00 00:00:00"');
         $this->addSql('ALTER TABLE c_wiki CHANGE dtime dtime DATETIME');
+        $this->addSql('UPDATE c_wiki SET dtime = NULL WHERE dtime = "0000-00-00 00:00:00"');
 
-        $this->addSql('UPDATE access_url SET tms = NULL WHERE tms = "0000-00-00 00:00:00"');
         $this->addSql('ALTER TABLE access_url CHANGE tms tms DATETIME');
+        $this->addSql('UPDATE access_url SET tms = NULL WHERE tms = "0000-00-00 00:00:00"');
 
-        $this->addSql('UPDATE track_e_attempt SET tms = NULL WHERE tms = "0000-00-00 00:00:00"');
         $this->addSql('ALTER TABLE track_e_attempt CHANGE tms tms DATETIME');
+        $this->addSql('UPDATE track_e_attempt SET tms = NULL WHERE tms = "0000-00-00 00:00:00"');
 
-        $this->addSql('UPDATE track_e_default SET default_date = NULL WHERE default_date = "0000-00-00 00:00:00"');
         $this->addSql('ALTER TABLE track_e_default CHANGE default_date default_date DATETIME');
+        $this->addSql('UPDATE track_e_default SET default_date = NULL WHERE default_date = "0000-00-00 00:00:00"');
 
         $this->addSql('ALTER TABLE track_e_exercises CHANGE expired_time_control expired_time_control DATETIME');
 

+ 36 - 0
app/Migrations/Schema/V111/Version20160727122700.php

@@ -0,0 +1,36 @@
+<?php
+/* For licensing terms, see /license.txt */
+
+namespace Application\Migrations\Schema\V111;
+
+use Application\Migrations\AbstractMigrationChamilo,
+    Doctrine\DBAL\Schema\Schema;
+
+/**
+ * Class Version20160727122700
+ * Add missing index to c_lp
+ * @package Application\Migrations\Schema\V111
+ */
+class Version20160727122700 extends AbstractMigrationChamilo
+{
+
+    /**
+     * @param Schema $schema
+     */
+    public function up(Schema $schema)
+    {
+        $schema
+            ->getTable('c_lp')
+            ->addIndex(['session_id'], 'session');
+    }
+
+    /**
+     * @param Schema $schema
+     */
+    public function down(Schema $schema)
+    {
+        $schema
+            ->getTable('c_lp')
+            ->dropIndex('session');
+    }
+}

+ 6 - 11
main/forum/forumfunction.inc.php

@@ -346,18 +346,13 @@ function show_add_forum_form($inputvalues = array(), $lp_id)
 
     // Forum image
     $form->add_progress_bar();
-    if (isset($inputvalues['forum_image']) && strlen($inputvalues['forum_image']) > 0) {
+    if (!empty($inputvalues['forum_image'])) {
+        $baseImagePath = api_get_course_path() . '/upload/forum/images/' . $inputvalues['forum_image'];
+        $image_path = api_get_path(WEB_COURSE_PATH) . $baseImagePath;
+        $sysImagePath = api_get_path(SYS_COURSE_PATH) . $baseImagePath;
 
-        $image_path = api_get_path(WEB_COURSE_PATH).api_get_course_path().'/upload/forum/images/'.$inputvalues['forum_image'];
-        $image_size = api_getimagesize($image_path);
-
-        $img_attributes = '';
-        if (!empty($image_size)) {
-            if ($image_size['width'] > 100 || $image_size['height'] > 100) {
-                //limit display width and height to 100px
-                $img_attributes = 'width="100" height="100"';
-            }
-            $show_preview_image = '<img src="'.$image_path.'" '.$img_attributes.'>';
+        if (file_exists($sysImagePath)) {
+            $show_preview_image = Display::img($image_path, null, ['class' => 'img-responsive']);
             $form->addElement('label', get_lang('PreviewImage'), $show_preview_image);
             $form->addElement('checkbox', 'remove_picture', null, get_lang('DelImage'));
         }

+ 1 - 1
main/inc/lib/agenda.lib.php

@@ -2089,7 +2089,7 @@ class Agenda
             }
         }
 
-        $form->addDateRangePicker('date_range', get_lang('StartDate'), false, array('id' => 'date_range'));
+        $form->addDateRangePicker('date_range', get_lang('DateRange'), false, array('id' => 'date_range'));
         $form->addElement('checkbox', 'all_day', null, get_lang('AllDay'));
 
         if ($this->type == 'course') {

+ 2 - 1
src/Chamilo/CourseBundle/Entity/CLp.php

@@ -11,7 +11,8 @@ use Doctrine\ORM\Mapping as ORM;
  * @ORM\Table(
  *  name="c_lp",
  *  indexes={
- *      @ORM\Index(name="course", columns={"c_id"})
+ *      @ORM\Index(name="course", columns={"c_id"}),
+ *     @ORM\Index(name="session", columns={"session_id})
  *  }
  * )
  * @ORM\Entity