Adding id in some course tables see #4682

skala
Julio Montoya 13 years ago
parent e96f07d08a
commit 2001985a20
  1. 143
      main/inc/lib/add_course.lib.inc.php
  2. 57
      main/permissions/permissions_functions.inc.php
  3. 23
      main/permissions/roles.php
  4. 69
      translate_array_to_po.php

@ -438,6 +438,7 @@ function create_course_tables($course_db_name = null) {
$TBL_METADATA = $course_db_name . 'metadata';
$add_to_all_tables = ' c_id INT NOT NULL, ';
/* Announcement tool */
@ -615,16 +616,15 @@ function create_course_tables($course_db_name = null) {
Database::query($sql);
$sql = "ALTER TABLE `".$TABLETOOLFORUMPOST . "` ADD INDEX idx_forum_post_visible (visible)";
Database::query($sql);
Database::query($sql);
// Forum Mailcue
$sql = "
CREATE TABLE `".$TABLETOOLFORUMMAILCUE."` (
$add_to_all_tables
id int NOT NULL auto_increment,
thread_id int default NULL,
user_id int default NULL,
thread_id int default NULL,
post_id int default NULL,
PRIMARY KEY (id, c_id, thread_id, user_id, post_id )
)" . $charset_clause;
@ -1342,9 +1342,7 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY (c_id, id)
)" . $charset_clause;
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `$TABLELPVIEW` (
$add_to_all_tables" .
@ -1358,24 +1356,16 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY (c_id, id)
)" . $charset_clause; // lp's progress for this user
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "ALTER TABLE `$TABLELPVIEW` ADD INDEX (lp_id) ";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "ALTER TABLE `$TABLELPVIEW` ADD INDEX (user_id) ";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "ALTER TABLE `$TABLELPVIEW` ADD INDEX (session_id) ";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `$TABLELPITEM` (
$add_to_all_tables
@ -1405,14 +1395,10 @@ function create_course_tables($course_db_name = null) {
)" . $charset_clause; // contains the audio file that goes with the learning path step
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "ALTER TABLE `$TABLELPITEM` ADD INDEX (lp_id)";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `$TABLELPITEMVIEW` (
$add_to_all_tables
@ -1432,19 +1418,13 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY (c_id, id)
)" . $charset_clause;
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "ALTER TABLE `$TABLELPITEMVIEW` ADD INDEX (lp_item_id) ";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "ALTER TABLE `$TABLELPITEMVIEW` ADD INDEX (lp_view_id) ";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `$TABLELPIVINTERACTION`(
$add_to_all_tables" .
@ -1462,14 +1442,10 @@ function create_course_tables($course_db_name = null) {
"PRIMARY KEY (c_id, id)".
")" . $charset_clause;
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "ALTER TABLE `$TABLELPIVINTERACTION` ADD INDEX (lp_iv_id) ";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `$TABLELPIVOBJECTIVE`(
$add_to_all_tables" .
@ -1484,14 +1460,10 @@ function create_course_tables($course_db_name = null) {
"PRIMARY KEY (c_id, id) ".
")" . $charset_clause;
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "ALTER TABLE `$TABLELPIVOBJECTIVE` ADD INDEX (lp_iv_id) ";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
/* Blogs */
@ -1507,9 +1479,7 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY (c_id, blog_id )
)" . $charset_clause . " COMMENT = 'Table with blogs in this course';";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "ALTER TABLE `".$tbl_blogs . "` ADD INDEX ( session_id ) ";
Database::query($sql);
@ -1529,9 +1499,7 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY (c_id, comment_id )
)" . $charset_clause . " COMMENT = 'Table with comments on posts in a blog';";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "
CREATE TABLE `" . $tbl_blogs_posts . "` (
@ -1545,9 +1513,7 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY (c_id, post_id )
)" . $charset_clause . " COMMENT = 'Table with posts / blog.';";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "
CREATE TABLE `" . $tbl_blogs_rating . "` (
@ -1561,9 +1527,7 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY (c_id, rating_id )
)" . $charset_clause . " COMMENT = 'Table with ratings for post/comments in a certain blog';";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "
CREATE TABLE `" . $tbl_blogs_rel_user . "` (
@ -1573,9 +1537,7 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY ( c_id, blog_id , user_id )
)" . $charset_clause . " COMMENT = 'Table representing users subscribed to a blog';";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "
CREATE TABLE `" . $tbl_blogs_tasks . "` (
@ -1589,9 +1551,7 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY (c_id, task_id )
)" . $charset_clause . " COMMENT = 'Table with tasks for a blog';";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "
CREATE TABLE `" . $tbl_blogs_tasks_rel_user . "` (
@ -1603,9 +1563,7 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY (c_id, blog_id , user_id , task_id )
)" . $charset_clause . " COMMENT = 'Table with tasks assigned to a user in a blog';";
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql ="CREATE TABLE `" .$tbl_blogs_attachment."` (
$add_to_all_tables
@ -1620,9 +1578,7 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY (c_id, id)
)" . $charset_clause;
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "
CREATE TABLE `" . $tbl_permission_group . "` (
@ -1634,9 +1590,7 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY (c_id, id)
)" . $charset_clause;
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "
CREATE TABLE `" . $tbl_permission_user . "` (
@ -1648,65 +1602,57 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY (c_id, id )
)" . $charset_clause;
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "
CREATE TABLE `" . $tbl_permission_task . "` (
$add_to_all_tables
id int NOT NULL AUTO_INCREMENT ,
id int NOT NULL AUTO_INCREMENT,
task_id int NOT NULL default 0,
tool varchar( 250 ) NOT NULL default '',
action varchar( 250 ) NOT NULL default '',
PRIMARY KEY (c_id, id )
)" . $charset_clause;
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "
CREATE TABLE `" . $tbl_role . "` (
$add_to_all_tables
role_id int NOT NULL AUTO_INCREMENT ,
$add_to_all_tables
role_id int NOT NULL AUTO_INCREMENT,
role_name varchar( 250 ) NOT NULL default '',
role_comment text,
default_role tinyint default 0,
PRIMARY KEY (c_id, role_id )
PRIMARY KEY (c_id, role_id)
)" . $charset_clause;
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "
CREATE TABLE `" . $tbl_role_group . "` (
$add_to_all_tables
id int NOT NULL AUTO_INCREMENT,
role_id int NOT NULL default 0,
scope varchar( 20 ) NOT NULL default 'course',
group_id int NOT NULL default 0,
PRIMARY KEY (group_id )
PRIMARY KEY (id, c_id, group_id )
)" . $charset_clause;
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "
CREATE TABLE `" . $tbl_role_permissions . "` (
$add_to_all_tables
id int NOT NULL AUTO_INCREMENT,
role_id int NOT NULL default 0,
tool varchar( 250 ) NOT NULL default '',
action varchar( 50 ) NOT NULL default '',
default_perm tinyint NOT NULL default 0,
PRIMARY KEY ( c_id, role_id, tool, action )
PRIMARY KEY (id, c_id, role_id, tool, action )
)" . $charset_clause;
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
$sql = "
CREATE TABLE `" . $tbl_role_user . "` (
$add_to_all_tables
@ -1716,9 +1662,7 @@ function create_course_tables($course_db_name = null) {
PRIMARY KEY ( c_id, role_id, user_id )
)" . $charset_clause;
if (!Database::query($sql)) {
error_log($sql, 0);
}
Database::query($sql);
/*
* Course Config Settings
@ -1823,6 +1767,7 @@ function create_course_tables($course_db_name = null) {
value int NOT NULL default '0',
PRIMARY KEY (c_id, question_option_id)
)" . $charset_clause;
$result = Database::query($sql);
$sql = "CREATE TABLE `".$TABLESURVEYANSWER."` (

@ -488,15 +488,12 @@ function display_role_list($current_course_roles, $current_platform_roles)
* @version 1.0
*/
function get_roles($content,$id, $scope='course') {
$course_id = api_get_course_int_id();
if($content=='user')
{
$course_id = api_get_course_int_id();
if($content=='user') {
$table=Database::get_course_table(TABLE_ROLE_USER);
$id_field = user_id;
}
if($content=='group')
{
if($content=='group') {
$table=Database::get_course_table(TABLE_ROLE_GROUP);
$id_field = 'group_id';
}
@ -506,11 +503,9 @@ function get_roles($content,$id, $scope='course') {
//$sql="SELECT role.role_id FROM $table role_group_user, $table_role role WHERE role_group_user.$id_field = '$id' AND role_group_user.role_id=role.role_id AND role_group_user.scope='".$scope."'";$sql="SELECT role.role_id FROM $table role_group_user, $table_role role WHERE role_group_user.$id_field = '$id' AND role_group_user.role_id=role.role_id AND role_group_user.scope='".$scope."'";
$sql="SELECT role_id FROM $table WHERE c_id = $course_id AND $id_field = '$id' AND scope='".$scope."'";
$result=Database::query($sql);
while ($row=Database::fetch_array($result))
{
while ($row=Database::fetch_array($result)) {
$current_roles[]=$row['role_id'];
}
return $current_roles;
}
@ -558,30 +553,26 @@ function get_all_roles($content='course') {
*/
function get_roles_permissions($content,$id, $scope='course') {
$course_id = api_get_course_int_id();
if($content == 'user')
{
if($content == 'user') {
$table=Database::get_course_table(TABLE_ROLE_USER);
$id_field = 'user_id';
}
if($content == 'group')
{
if($content == 'group') {
$table = Database::get_course_table(TABLE_ROLE_GROUP);
$id_field = 'group_id';
}
// course roles or platform roles
$scope = 'course';
if($scope == 'course')
{
if($scope == 'course') {
$table_role = Database::get_course_table(TABLE_ROLE);
$table_role_permissions = Database::get_course_table(TABLE_ROLE_PERMISSION);
$role_condition = " role.c_id = $course_id AND role_permissions.c_id = $course_id AND ";
}
if($scope == 'platform')
{
if ($scope == 'platform') {
$table_role = Database::get_main_table(TABLE_ROLE);
$table_role_permissions = Database::get_main_table(TABLE_ROLE_PERMISSION);
$role_condition = '';
@ -604,10 +595,10 @@ function get_roles_permissions($content,$id, $scope='course') {
role.role_id = role_permissions.role_id";
$result = Database::query($sql);
while($row=Database::fetch_array($result))
$current_role_permissions = array();
while($row=Database::fetch_array($result)) {
$current_role_permissions[$row['tool']][]=$row['action'];
}
return $current_role_permissions;
}
@ -623,37 +614,29 @@ function get_roles_permissions($content,$id, $scope='course') {
function assign_role($content, $action, $id, $role_id, $scope='course') {
$course_id = api_get_course_int_id();
// Which database are we using (depending on the $content parameter)
if($content=='user')
{
if($content=='user') {
$table=Database::get_course_table(TABLE_ROLE_USER);
$id_field = 'user_id';
}
elseif($content=='group')
{
} elseif($content=='group') {
$table=Database::get_course_table(TABLE_ROLE_GROUP);
$id_field = 'group_id';
}
else
{
} else {
return get_lang('Error');
}
// grating a right
if($action=='grant')
{
$sql="INSERT INTO $table (c_id, role_id, scope, $id_field) VALUES ($course_id, '".Database::escape_string($role_id)."','".Database::escape_string($scope)."','".Database::escape_string($id)."')";
if($action=='grant') {
$sql="INSERT INTO $table (c_id, role_id, scope, $id_field) VALUES ($course_id, '".Database::escape_string($role_id)."','".Database::escape_string($scope)."','".Database::escape_string($id)."')";
$result=Database::query($sql);
if($result)
{
if ($result) {
$result_message=get_lang('RoleGranted');
}
}
if($action=='revoke')
{
if($action=='revoke') {
$sql="DELETE FROM $table WHERE c_id = $course_id AND $id_field = '".Database::escape_string($id)."' AND role_id='".Database::escape_string($role_id)."'";
$result=Database::query($sql);
if($result)
{
if ($result) {
$result_message=get_lang('RoleRevoked');
}
}

@ -43,8 +43,7 @@ if (isset($_GET['action']) AND isset($_GET['permission']) AND isset($_GET['tool'
}
// deleting a role
if (isset($_GET['action']) AND isset($_GET['role_id']) AND $_GET['action']=='delete')
{
if (isset($_GET['action']) AND isset($_GET['role_id']) AND $_GET['action']=='delete') {
//deleting the assignments fo this role: users
$table=Database::get_course_table(TABLE_ROLE_USER);
$sql="DELETE FROM $table WHERE role_id='".Database::escape_string($_GET['role_id'])."'";
@ -64,19 +63,15 @@ if (isset($_GET['action']) AND isset($_GET['role_id']) AND $_GET['action']=='del
$table_role=Database::get_course_table(TABLE_ROLE);
$sql="DELETE FROM $table_role WHERE role_id='".Database::escape_string($_GET['role_id'])."'";
$result=Database::query($sql);
$result_message=get_lang('RoleDeleted');
}
// displaying the return message of the actions
if (isset($result_message))
{
if (isset($result_message)) {
Display::display_normal_message($result_message);
}
// ===================================================
// ADDING A NEW ROLE (FORM AND LINK)
// ===================================================
echo '<img src="../img/add.png" /> <a href="roles.php?action=add">'.get_lang('AddRole').'</a>';
if ($_GET['action']=='add')
@ -262,17 +257,5 @@ if ($_GET['role_id'])
echo "<input type=\"Submit\" name=\"StoreRolePermissions\" value=\"".get_lang('StorePermissions')."\">";
}
echo "</form>";
}
/*
==============================================================================
FOOTER
==============================================================================
*/
Display::display_footer();
?>
Display::display_footer();

@ -0,0 +1,69 @@
<?php
/* For licensing terms, see /license.txt */
exit;
require_once 'main/inc/global.inc.php';
//Source language do not change
$dir = api_get_path(SYS_CODE_PATH).'lang/english';
//Translate this language
$to_dir = api_get_path(SYS_CODE_PATH).'lang/spanish';
$save_dir_path = api_get_path(SYS_CODE_PATH).'locale/es_ES';
//The new po files will be saved in $dir.'/LC_MESSAGES/';
///data/workspaces/tutorial/portal/lang/de_DE/LC_MESSAGES/portal.po
if (!is_dir($save_dir_path)) {
mkdir($save_dir_path);
mkdir($save_dir_path.'/LC_MESSAGES');
}
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
$info = pathinfo($file);
if ($info['extension'] != 'php') continue;
echo "filename: $file : filetype: " . filetype($dir.'/'.$file) . "<br >";
$translations = array();
$filename = $dir.'/'.$file;
$po = file($filename);
if (!file_exists($filename) || !file_exists($to_dir.'/'.$file)) {
continue;
}
foreach ($po as $line) {
$pos = strpos($line, '=');
if ($pos) {
$variable = (substr($line, 1, $pos-1));
$variable = trim($variable);
require $filename;
$my_variable_in_english = $$variable;
require $to_dir.'/'.$file;
$my_variable = $$variable;
$translations[] = array('msgid' =>$my_variable_in_english, 'msgstr' =>$my_variable);
}
}
//var_dump($translations);
$info['filename'] = explode('.', $info['filename']);
$info['filename'] = $info['filename'][0];
$new_po_file = $save_dir_path.'/LC_MESSAGES/'.$info['filename'].'.po';
var_dump($new_po_file);
$fp = fopen($new_po_file, 'w');
var_dump($fp);
foreach($translations as $item) {
$line = 'msgid "'.addslashes($item['msgid']).'"'."\n";
$line .= 'msgstr "'.addslashes($item['msgstr']).'"'."\n\n";
fwrite($fp, $line);
}
fclose($fp);
}
closedir($dh);
}
}
Loading…
Cancel
Save