Fix a possible race condition in the PaintWeb DML code.
[moodle/mihaisucan.git] / admin / stickyblocks.php
blobc2aefae6e9a1cf8e9cf9c793ab7c5648a56632d8
1 <?PHP // $Id$
3 require_once('../config.php');
4 require_once($CFG->dirroot.'/my/pagelib.php');
5 require_once($CFG->dirroot.'/lib/pagelib.php');
6 require_once($CFG->dirroot.'/lib/blocklib.php');
8 $pt = optional_param('pt', null, PARAM_SAFEDIR); //alhanumeric and -
10 $pagetypes = array(PAGE_MY_MOODLE => array('id' => PAGE_MY_MOODLE,
11 'lib' => '/my/pagelib.php',
12 'name' => get_string('mymoodle','admin')),
13 PAGE_COURSE_VIEW => array('id' => PAGE_COURSE_VIEW,
14 'lib' => '/lib/pagelib.php',
15 'name' => get_string('stickyblockscourseview','admin'))
16 // ... more?
19 // for choose_from_menu
20 $options = array();
21 foreach ($pagetypes as $p) {
22 $options[$p['id']] = $p['name'];
25 require_login();
27 require_capability('moodle/site:manageblocks', get_context_instance(CONTEXT_SYSTEM));
29 // first thing to do is print the dropdown menu
31 $strtitle = get_string('stickyblocks','admin');
32 $strheading = get_string('adminhelpstickyblocks');
36 if (!empty($pt)) {
38 require_once($CFG->dirroot.$pagetypes[$pt]['lib']);
40 define('ADMIN_STICKYBLOCKS',$pt);
42 $PAGE = page_create_object($pt, SITEID);
43 $blocks = blocks_setup($PAGE,BLOCKS_PINNED_TRUE);
44 $blocks_preferred_width = bounded_number(180, blocks_preferred_width($blocks[BLOCK_POS_LEFT]), 210);
46 $navlinks = array(array('name' => get_string('administration'),
47 'link' => "$CFG->wwwroot/$CFG->admin/index.php",
48 'type' => 'misc'));
49 $navlinks[] = array('name' => $strtitle, 'link' => null, 'type' => 'misc');
50 $navigation = build_navigation($navlinks);
51 print_header($strtitle,$strtitle,$navigation);
53 echo '<table border="0" cellpadding="3" cellspacing="0" width="100%" id="layout-table">';
54 echo '<tr valign="top">';
56 echo '<td valign="top" style="width: '.$blocks_preferred_width.'px;" id="left-column">';
57 print_container_start();
58 blocks_print_group($PAGE, $blocks, BLOCK_POS_LEFT);
59 print_container_end();
60 echo '</td>';
61 echo '<td valign="top" id="middle-column">';
62 print_container_start();
64 } else {
65 require_once($CFG->libdir.'/adminlib.php');
66 admin_externalpage_setup('stickyblocks');
67 admin_externalpage_print_header();
71 print_box_start();
72 print_heading($strheading);
73 popup_form("$CFG->wwwroot/$CFG->admin/stickyblocks.php?pt=", $options, 'selecttype', $pt, 'choose', '', '', false, 'self', get_string('stickyblockspagetype','admin').': ');
74 echo '<p>'.get_string('stickyblocksduplicatenotice','admin').'</p>';
75 print_box_end();
78 if (!empty($pt)) {
79 print_container_end();
80 echo '</td>';
81 echo '<td valign="top" style="width: '.$blocks_preferred_width.'px;" id="right-column">';
82 print_container_start();
83 blocks_print_group($PAGE, $blocks, BLOCK_POS_RIGHT);
84 print_container_end();
85 echo '</td>';
86 echo '</tr></table>';
87 print_footer();
88 } else {
89 admin_externalpage_print_footer();