/[drupal]/contributions/modules/simpletest_automator/simpletest_automator.admin.inc
ViewVC logotype

Diff of /contributions/modules/simpletest_automator/simpletest_automator.admin.inc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.28, Thu Aug 28 06:41:42 2008 UTC revision 1.29, Sun May 24 21:54:43 2009 UTC
# Line 209  function simpletest_automator_admin_perm Line 209  function simpletest_automator_admin_perm
209    $options = array();    $options = array();
210    $hide_descriptions = !system_admin_compact_mode();    $hide_descriptions = !system_admin_compact_mode();
211    foreach ($form_state['storage']['permissions'] as $module => $permissions) {    foreach ($form_state['storage']['permissions'] as $module => $permissions) {
212      foreach ($permissions as $perm => $description) {      foreach ($permissions as $permission => $permission_data) {
213        if (is_int($perm)) {        $form['permissions'][$module][$permission]['name'] = array(
         $perm = $description;  
         $description = NULL;  
       }  
       $form['permissions'][$module][$perm]['name'] = array(  
214          '#type' => 'item',          '#type' => 'item',
215          '#markup' => t($perm),          '#markup' => t($permission_data['title']),
216          '#description' => $hide_descriptions ? $description : NULL,          '#description' => $hide_descriptions ? $permission_data['description'] : NULL,
217        );        );
218        $form['permissions'][$module][$perm]['enable'] = array(        $form['permissions'][$module][$permission]['enable'] = array(
219          '#type' => 'checkbox',          '#type' => 'checkbox',
220          '#parents' => array('permissions', $perm),          '#parents' => array('permissions', $permission),
221          '#default_value' => (isset($simpletest_automator->permissions) && in_array($perm, $simpletest_automator->permissions)),          '#default_value' => (isset($simpletest_automator->permissions) && in_array($permission, $simpletest_automator->permissions)),
222        );        );
223      }      }
224    }    }
# Line 332  function simpletest_automator_admin_add_ Line 328  function simpletest_automator_admin_add_
328      $form_state['storage']['simpletest_automator']['modules'][] = 'simpletest_automator_proctor';      $form_state['storage']['simpletest_automator']['modules'][] = 'simpletest_automator_proctor';
329      $form_state['storage']['step'] = 2;      $form_state['storage']['step'] = 2;
330    
331      global $db_prefix;      global $db_prefix, $conf;
332    
333        // Store necessary current values before switching to prefixed database.
334      $db_prefix_original = $db_prefix;      $db_prefix_original = $db_prefix;
335        $file_directory_path_original = file_directory_path();
336      $clean_url_original = variable_get('clean_url', 0);      $clean_url_original = variable_get('clean_url', 0);
337    
338      // Generate temporary prefixed database to ensure that tests have a clean starting point.      // Generate temporary prefixed database to ensure that tests have a clean starting point.
339      $db_prefix = $form_state['storage']['simpletest_automator']['db_prefix'] = 'st_automator' . mt_rand(1000, 1000000);      $db_prefix = Database::getConnection()->prefixTables('{st_automator' . mt_rand(1000, 1000000) . '}');
340      include_once './includes/install.inc';  
341        include_once DRUPAL_ROOT . '/includes/install.inc';
342      drupal_install_system();      drupal_install_system();
343    
344        db_query('INSERT INTO {registry} SELECT * FROM ' . $db_prefix_original . 'registry');
345        db_query('INSERT INTO {registry_file} SELECT * FROM ' . $db_prefix_original . 'registry_file');
346    
347      // Add the specified modules to the list of modules in the default profile.      // Add the specified modules to the list of modules in the default profile.
348      $args = func_get_args();      $args = func_get_args();
349      $modules = array_unique(array_merge(drupal_verify_profile('default', 'en'), $form_state['storage']['simpletest_automator']['modules']));      $modules = array_unique(array_merge(drupal_get_profile_modules('default', 'en'), $form_state['storage']['simpletest_automator']['modules']));;
350      drupal_install_modules($modules);      drupal_install_modules($modules, TRUE);
351    
352        // Because the schema is static cached, we need to flush it between each
353        // run. If we don't, then it will contain stale data for the previous run's
354        // database prefix and all calls to it will fail.
355        drupal_get_schema(NULL, TRUE);
356    
357      // Run default profile tasks.      // Run default profile tasks.
358      $task = 'profile';      $task = 'profile';
359      default_profile_tasks($task, '');      default_profile_tasks($task, '');
360      module_list(TRUE, FALSE);  
361        // Rebuild caches.
362        actions_synchronize();
363        _drupal_flush_css_js();
364        cache_clear_all('variables', 'cache');
365        $conf = variable_init();
366    
367      // Restore necessary variables.      // Restore necessary variables.
368      variable_set('install_profile', 'default');      variable_set('install_profile', 'default');
369      variable_set('install_task', 'profile-finished');      variable_set('install_task', 'profile-finished');
370      variable_set('clean_url', $clean_url_original);      variable_set('clean_url', $clean_url_original);
371        variable_set('site_mail', 'simpletest@example.com');
372    
373      // Use temporary files directory with the same prefix as database.      // Use temporary files directory with the same prefix as database.
374      variable_set('file_directory_path', file_directory_path() . '/' . $db_prefix);      variable_set('file_directory_path', $file_directory_path_original . '/' . $db_prefix);
375      file_check_directory(file_directory_path(), TRUE); // Create the files directory.      $directory = file_directory_path();
376        // Create the files directory.
377        file_check_directory($directory, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS);
378    
379      foreach (module_implements('perm', FALSE, TRUE) as $module) {      foreach (module_implements('perm', FALSE, TRUE) as $module) {
380        $form_state['storage']['permissions'][$module] = module_invoke($module, 'perm');        $form_state['storage']['permissions'][$module] = module_invoke($module, 'perm');
# Line 512  function theme_simpletest_automator_admi Line 529  function theme_simpletest_automator_admi
529        ),        ),
530      );      );
531    }    }
532      unset($form['#theme']);
533    return theme('table', $headers, $rows, array('id' => 'simpletest-automator-actions')) . drupal_render($form);    return theme('table', $headers, $rows, array('id' => 'simpletest-automator-actions')) . drupal_render($form);
534  }  }
535    
# Line 749  function theme_simpletest_automator_admi Line 767  function theme_simpletest_automator_admi
767   * @return   * @return
768   *   An HTML string for the message.   *   An HTML string for the message.
769   */   */
770  function theme_simpletest_automator_admin_moduless_incompatible($message) {  function theme_simpletest_automator_admin_modules_incompatible($message) {
771    return '<div class="incompatible">'. $message .'</div>';    return '<div class="incompatible">'. $message .'</div>';
772  }  }
773    
# Line 760  function theme_simpletest_automator_admi Line 778  function theme_simpletest_automator_admi
778    drupal_add_css(drupal_get_path('module', 'user') . '/user.css');    drupal_add_css(drupal_get_path('module', 'user') . '/user.css');
779    $submit = $form['submit'];    $submit = $form['submit'];
780    $permissions = $form['permissions'];    $permissions = $form['permissions'];
781    unset($form['submit'], $form['permissions']);    unset($form['submit'], $form['permissions'], $form['#theme']);
782    $output = drupal_render($form);    $output = drupal_render($form);
783    $roles = user_roles();    $roles = user_roles();
784    foreach (element_children($permissions) as $module) {    foreach (element_children($permissions) as $module) {

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.29

  ViewVC Help
Powered by ViewVC 1.1.2