64a9e0b9eafb5bea51a22ec60faf84918c6bd718
[atutor.git] / mods / pnATutor / pnblocks / courses.php
1 <?php\r
2 function pnATutor_coursesblock_init()\r
3 {\r
4     // Security\r
5     pnSecAddSchema('pnATutor:courses:', 'Block title::');\r
6 }\r
7 \r
8 \r
9 function pnATutor_coursesblock_info()\r
10 {\r
11     return array('text_type'      => 'courses',\r
12                  'module'         => 'pnATutor',\r
13                  'text_type_long' => 'Available courses within ATutor',\r
14                  'allow_multiple' => true,\r
15                  'form_content'   => false,\r
16                  'form_refresh'   => false,\r
17                  'show_preview'   => true);\r
18 }\r
19 \r
20 \r
21 function pnATutor_coursesblock_display($blockinfo)\r
22 {\r
23   if (!pnSecAuthAction(0,\r
24                          'pnATutor:courses:',\r
25                          "$blockinfo[title]::",\r
26                          ACCESS_READ)) {\r
27         return false;\r
28     }\r
29 \r
30 \r
31    // Get current content\r
32     $vars = pnBlockVarsFromContent($blockinfo['content']);\r
33 \r
34     // Defaults\r
35     if (empty($vars['amount'])) {\r
36         $vars['amount'] = 5;\r
37     }\r
38 \r
39     if (empty($vars['trim'])) {\r
40         $vars['trim'] = 30;\r
41     }\r
42     if (empty($vars['usejava'])) {\r
43         $vars['usejava'] = 'n';\r
44     }\r
45     if (empty($vars['loadjava'])) {\r
46         $vars['loadjava'] = 'n';\r
47     }\r
48     if (empty($vars['enrolled'])) {\r
49         $vars['enrolled'] = 'n';\r
50     }\r
51 \r
52 $amount=$vars['amount'];\r
53 $trim = $vars['trim'] ;\r
54 $usejava= $vars['usejava'];\r
55 $loadjava = $vars['loadjava'] ;\r
56 $enrolled =$vars['enrolled'] ;\r
57 \r
58 $db=pnModGetVar('pnATutor', '_db');\r
59 $prefix=pnModGetVar('pnATutor', '_prf');\r
60 $std_db = pnConfigGetVar('dbname');\r
61 \r
62 $pcModInfo = pnModGetInfo(pnModGetIDFromName('pnATutor'));\r
63 $ModName = pnVarPrepForOS($pcModInfo['directory']);\r
64 \r
65 $username=pnUserGetVar(uname);\r
66 \r
67 $true = mysql_select_db($db) or die("cannot select database: " . mysql_error()) ;\r
68 if ($enrolled == 'n'){\r
69 $result = mysql_query("select course_id, title, description from $prefix".courses."  order by course_id DESC limit ".$amount." ") or die("cannot select from table: " . mysql_error());\r
70 } else {\r
71         if (pnUserLoggedIn()) {\r
72                 $result1 =mysql_query( "SELECT member_id FROM $prefix".members." WHERE login='$username' ");\r
73                 if (mysql_num_rows($result1)< 1){\r
74                         $userid = 0;\r
75                 }else {\r
76                         $row99 = mysql_fetch_row($result1) ;\r
77                         $userid = $row99[0];\r
78                 }\r
79 \r
80                 $result = mysql_query("SELECT $prefix".courses.".course_id, title, description FROM $prefix".courses.", $prefix".course_enrollment." WHERE  $prefix".course_enrollment.".course_id = $prefix".courses.".course_id and $prefix".course_enrollment.".member_id = ".$userid." order by title limit ".$amount."  ") or die("cannot select from table: " . mysql_error());\r
81         }\r
82 }\r
83 $items = array();\r
84 while (list($id, $title, $summary) = mysql_fetch_row($result)) {\r
85     if ($trim != 0){\r
86         if (strlen($title) > $trim) {\r
87             $title = substr($title,0,$trim);\r
88             $title .= "...";\r
89         }\r
90     }\r
91 \r
92         $items[] = array('id' => $id,'title' => $title ,'summary' => $summary);\r
93 \r
94 }\r
95 \r
96 $url1="index.php?module=pnATutor&func=main";\r
97 $urllink = _PNATUTORMODULE ;\r
98 \r
99 $true = mysql_select_db($std_db) ;\r
100 \r
101 // Create output object\r
102 // Note that for a block the corresponding module must be passed.\r
103 $pnRender =& new pnRender('pnATutor');\r
104 $pnRender->assign('items', $items);\r
105 $pnRender->assign('url1', $url1);\r
106 $pnRender->assign('urllink', $urllink);\r
107 $pnRender->assign('loadjava', $loadjava);\r
108 $pnRender->assign('usejava', $usejava);\r
109 $pnRender->assign('modname', $ModName);\r
110 \r
111 \r
112 \r
113 // Populate block info and pass to theme\r
114 $blockinfo['content'] = $pnRender->fetch('pnATutor_block_courses.htm');\r
115 themesideblock($blockinfo);\r
116 }\r
117 \r
118 \r
119 \r
120 \r
121 function pnATutor_coursesblock_modify($blockinfo)\r
122 {\r
123 \r
124     // Get current content\r
125     $vars = pnBlockVarsFromContent($blockinfo['content']);\r
126 \r
127     // Defaults\r
128     if (empty($vars['amount'])) {\r
129         $vars['amount'] = 5;\r
130     }\r
131 \r
132     if (empty($vars['trim'])) {\r
133         $vars['trim'] = 30;\r
134     }\r
135     if (empty($vars['usejava'])) {\r
136         $vars['usejava'] = 'n';\r
137     }\r
138     if (empty($vars['loadjava'])) {\r
139         $vars['loadjava'] = 'n';\r
140     }\r
141     if (empty($vars['enrolled'])) {\r
142         $vars['enrolled'] = 'y';\r
143     }\r
144     // Create output object\r
145         $pnRender =& new pnRender('pnATutor');\r
146 \r
147         // As Admin output changes often, we do not want caching.\r
148         $pnRender->caching = false;\r
149 \r
150     // assign the approriate values\r
151         $pnRender->assign('amount', $vars['amount']);\r
152         $pnRender->assign('trim', $vars['trim']);\r
153         $pnRender->assign('usejava', $vars['usejava']);\r
154         $pnRender->assign('loadjava', $vars['loadjava']);\r
155         $pnRender->assign('enrolled', $vars['enrolled']);\r
156 \r
157     // Return the output that has been generated by this function\r
158         return $pnRender->fetch('pnATutor_block_courses_modify.htm');\r
159 }\r
160 \r
161 function pnATutor_coursesblock_update($blockinfo)\r
162 {\r
163    // Get current content\r
164     $vars = pnBlockVarsFromContent($blockinfo['content']);\r
165 \r
166         // alter the corresponding variable\r
167     $vars['amount'] = pnVarCleanFromInput('amount');\r
168     $vars['trim'] = pnVarCleanFromInput('trim');\r
169     $vars['usejava'] = pnVarCleanFromInput('usejava');\r
170     $vars['loadjava'] = pnVarCleanFromInput('loadjava');\r
171     $vars['enrolled'] = pnVarCleanFromInput('enrolled');\r
172 \r
173         // write back the new contents\r
174     $blockinfo['content'] = pnBlockVarsToContent($vars);\r
175 \r
176         // clear the block cache\r
177         $pnRender =& new pnRender('pnATutor');\r
178         $pnRender->clear_cache('pnATutor_block_courses.htm');\r
179 \r
180     return $blockinfo;\r
181 \r
182 }\r
183 \r
184 ?>\r