Fixes courses tables for migration and imports - refs #8331

pull/2487/head
Angel Fernando Quiroz Campos 10 years ago
parent 4643f1d525
commit 56882c9433
  1. 44
      app/Migrations/Schema/V111/Version111.php
  2. 36
      app/Migrations/Schema/V111/Version20160727122700.php
  3. 17
      main/forum/forumfunction.inc.php
  4. 2
      main/inc/lib/agenda.lib.php
  5. 3
      src/Chamilo/CourseBundle/Entity/CLp.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');

@ -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');
}
}

@ -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'));
}

@ -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') {

@ -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

Loading…
Cancel
Save