Browse Source

Added new file to load the settings in the constructor CT#191

Arthur Portugal 15 years ago
parent
commit
8f8940e4cb
1 changed files with 197 additions and 0 deletions
  1. 197 0
      tests/setup.inc.php

+ 197 - 0
tests/setup.inc.php

@@ -0,0 +1,197 @@
+<?php
+// $Id: setup.inc.php 2010-02-17 12:07:00Z aportugal $
+
+/* For licensing terms, see /chamilo_license.txt */
+/**
+==============================================================================
+*	This is the settings file load than need some functions
+*
+*	It load:
+*	- require_once
+*	- constructs
+*   - creation course
+*	- session
+*	- api_allow_edit
+*	- api_session
+*
+*
+*	@todo rewrite code to separate display, logic, database code
+*	@package chamilo.main
+==============================================================================
+*/
+
+/**
+ * @todo shouldn't these settings be moved to the test_suite.php.
+ * 		 if these are really configuration then we can make require_once in each tests.
+ * @todo use this file to load the setup in each file test.
+ * @todo check for duplication of require with test_suite.php
+ */
+/*
+==============================================================================
+		INIT SECTION
+==============================================================================
+*/
+ini_set('memory_limit','256M');
+ini_set('max_execution_time','0');
+
+/*
+-----------------------------------------------------------
+	Included libraries
+-----------------------------------------------------------
+*/
+$maindir = dirname(__FILE__).'/../main/';
+$incdir  = dirname(__FILE__).'/../main/inc/';
+$libdir  = dirname(__FILE__).'/../main/inc/lib/';
+
+/**This global.inc file need be loaded once time*/
+//require_once $incdir.'global.inc.php';
+
+/**Files inside '/../main' */
+require_once $maindir.'permissions/permissions_functions.inc.php';
+require_once $maindir.'admin/calendar.lib.php';
+require_once $maindir.'admin/statistics/statistics.lib.php';
+require_once $maindir.'dropbox/dropbox_class.inc.php';
+require_once $maindir.'dropbox/dropbox_functions.inc.php';
+require_once $maindir.'survey/survey.lib.php';
+require_once $maindir.'exercice/export/scorm/scorm_classes.php';
+require_once $maindir.'exercice/export/qti2/qti2_classes.php';
+require_once $maindir.'exercice/export/exercise_import.inc.php';
+require_once $maindir.'exercice/exercise_result.class.php';
+require_once $maindir.'exercice/answer.class.php';
+require_once $maindir.'exercice/exercise.class.php';
+require_once $maindir.'exercice/fill_blanks.class.php';
+require_once $maindir.'exercice/freeanswer.class.php';
+require_once $maindir.'forum/forumfunction.inc.php';
+
+/**Files inside '/../main/lib/' */
+require_once $libdir.'urlmanager.lib.php';
+require_once $libdir.'fileDisplay.lib.php';
+require_once $libdir.'groupmanager.lib.php';
+require_once $libdir.'course.lib.php';
+require_once $libdir.'usermanager.lib.php';
+require_once $libdir.'social.lib.php';
+require_once $libdir.'xht.lib.php';
+require_once $libdir.'xmd.lib.php';
+require_once $libdir.'formvalidator/FormValidator.class.php';
+require_once $libdir.'exercise_show_functions.lib.php';
+require_once $libdir.'fileManage.lib.php';
+
+/**This files need be inside a buffering to clean the objects*/ 
+ob_start();
+require_once $libdir.'main_api.lib.php';
+require_once $libdir.'course_document.lib.php';
+require_once $libdir.'banner.lib.php';
+require_once $libdir.'add_course.lib.inc.php';
+require_once $incdir.'tool_navigation_menu.inc.php';
+require_once $incdir.'banner.inc.php';
+require_once $libdir.'geometry.lib.php';
+ob_end_clean();
+
+/**Problem with this file to test objects*/
+//require_once $maindir.'exercice/exercise.lib.php';
+
+/*
+-----------------------------------------------------------
+	Table definitions
+-----------------------------------------------------------
+*/
+$table_course = Database::get_main_table(TABLE_MAIN_COURSE);
+$course_table = Database::get_main_table(TABLE_MAIN_COURSE);
+$course_cat_table = Database::get_main_table(TABLE_MAIN_CATEGORY);
+
+/*
+==============================================================================
+		MAIN CODE
+==============================================================================
+*/
+global $_configuration, $_user, $_course, $cidReq;
+$cidReq = 'COURSETEST';
+
+/*
+-----------------------------------------------------------
+	Check if the course exists
+-----------------------------------------------------------
+*/
+$sql = "SELECT code FROM  $table_course WHERE code = '$cidReq' ";
+$rs = Database::query($sql, __FILE__, __LINE__);
+$row = Database::fetch_row($rs);
+
+/*
+-----------------------------------------------------------
+	Create the course COURSETEST
+-----------------------------------------------------------
+*/
+if (empty($row[0])) {
+    // create a course
+    $course_datos = array(
+            'wanted_code'=> $cidReq,
+            'title'=>$cidReq,
+            'tutor_name'=>'John Doe',
+            'category_code'=>'LANG',
+            'course_language'=>'spanish',
+            'course_admin_id'=>'001',
+            'db_prefix'=> $_configuration['db_prefix'],
+            'firstExpirationDelay'=>'999'
+            );
+    $res = create_course($course_datos['wanted_code'], $course_datos['title'],
+                         $course_datos['tutor_name'], $course_datos['category_code'],
+                         $course_datos['course_language'],$course_datos['course_admin_id'],
+                         $course_datos['db_prefix'], $course_datos['firstExpirationDelay']);
+}
+
+
+$sql =  "SELECT course.*, course_category.code faCode, course_category.name faName
+         FROM $course_table
+         LEFT JOIN $course_cat_table
+         ON course.category_code = course_category.code
+         WHERE course.code = '$cidReq'";
+         
+$result = Database::query($sql,__FILE__,__LINE__);
+
+/*
+-----------------------------------------------------------
+	Create the session
+-----------------------------------------------------------
+*/
+if (Database::num_rows($result)>0) {
+    $cData = Database::fetch_array($result);
+    $_cid                            = $cData['code'             ];
+    $_course 						 = array();
+    $_course['id'          ]         = $cData['code'             ]; //auto-assigned integer
+    $_course['name'        ]         = $cData['title'         	 ];
+    $_course['official_code']        = $cData['visual_code'      ]; // use in echo
+    $_course['sysCode'     ]         = $cData['code'             ]; // use as key in db
+    $_course['path'        ]         = $cData['directory'		 ]; // use as key in path
+    $_course['dbName'      ]         = $cData['db_name'          ]; // use as key in db list
+    $_course['dbNameGlu'   ]         = $_configuration['table_prefix'] . $cData['db_name'] . $_configuration['db_glue']; // use in all queries
+    $_course['titular'     ]         = $cData['tutor_name'       ];
+    $_course['language'    ]         = $cData['course_language'  ];
+    $_course['extLink'     ]['url' ] = $cData['department_url'   ];
+    $_course['extLink'     ]['name'] = $cData['department_name'  ];
+    $_course['categoryCode']         = $cData['faCode'           ];
+    $_course['categoryName']         = $cData['faName'           ];
+    $_course['visibility'  ]         = $cData['visibility'		 ];
+    $_course['subscribe_allowed']    = $cData['subscribe'		 ];
+    $_course['unubscribe_allowed']   = $cData['unsubscribe'		 ];
+
+    api_session_register('_cid');
+    api_session_register('_course');
+}
+   
+/*
+-----------------------------------------------------------
+	Load the session
+-----------------------------------------------------------
+*/  
+$_SESSION['_user']['user_id'] = 1;    
+$_SESSION['is_courseAdmin'] = 1;
+$_SESSION['show'] = showall;
+
+/*
+-----------------------------------------------------------
+	Load the user
+-----------------------------------------------------------
+*/  
+$_user['user_id'] = $_SESSION['_user']['user_id'];
+
+