2 /****************************************************************/
\r
3 /* Atutor-OpenCaps Module
\r
4 /****************************************************************/
\r
5 /* Copyright (c) 2010
\r
6 /* Written by Antonio Gamba
\r
7 /* Adaptive Technology Resource Centre / University of Toronto
\r
9 /* This program is free software. You can redistribute it and/or
\r
10 /* modify it under the terms of the GNU General Public License
\r
11 /* as published by the Free Software Foundation.
\r
12 /****************************************************************/
\r
15 define('AT_INCLUDE_PATH', '../../include/');
\r
16 require (AT_INCLUDE_PATH.'vitals.inc.php');
\r
17 authenticate(AT_PRIV_OPEN_CAPS);
\r
18 require (AT_INCLUDE_PATH.'header.inc.php');
\r
20 // load ATutor-OpenCaps Module Vitals
\r
21 include_once('include/vitals.inc.php');
\r
23 if ($ocAtSettings['contentUrlType']==0)
\r
25 $contentURL = AT_BASE_HREF.'get.php/'.''.'';
\r
27 } else if ($ocAtSettings['contentUrlType']==1){
\r
28 $contentURL = AT_BASE_HREF.'content/'.$_SESSION['course_id'].'/'.'';
\r
31 if($_SESSION['course_id']==-1)
\r
33 $ocAtSettings['messages'][]= $ocAtSettings['lang']['atoc_notActiveCourseError'];
\r
35 // update project meta data
\r
36 if ($ocAtAction=='updateProject' || $ocAtAction=='deleteProject')
\r
38 $myProjectManager = new ATOCProjectManager();
\r
39 $activeProjectData = $myProjectManager->_addEditProject($_POST['id'],$_SESSION['login'],$_SESSION['course_id'],$_POST['name'],$_POST['mediaFile'],$_POST['captionFile'],$_POST['width'],$_POST['height'],$ocAtAction);
\r
41 if ($ocAtAction=='deleteProject')
\r
43 $ocAtSettings['messages'][]= $ocAtSettings['lang']['atoc_projectDeleted'];
\r
45 $ocAtSettings['messages'][]= $ocAtSettings['lang']['atoc_projectUpdated'];
\r
51 // addProject: if step 1
\r
52 if ($ocAtAction=='addProject' && $_POST['step']=='1')
\r
54 if($_POST['ccOption']==0)
\r
59 $captionFile = $_POST['captionFile'];
\r
62 // run Project Manager Class
\r
63 $myProjectManager = new ATOCProjectManager();
\r
64 $myProjectManager->_addEditProject(0, $_SESSION['login'], $_SESSION['course_id'], $_POST['projectName'], $_POST['mediaFile'], $captionFile,$_POST['width'],$_POST['height']);
\r
66 $ocAtSettings['messages'][] = $ocAtSettings['lang']['atoc_projectCreated'].': <br/><i>'.$_POST['projectName'].'</i>';
\r
70 if($ocAtSettings['ocWebPath'] == '')
\r
72 $ocWebPath_replace = str_replace('index.php','opencaps/',$_SERVER['SCRIPT_NAME']);
\r
73 $ocAtSettings['ocWebPath'] = 'http://'.$_SERVER['HTTP_HOST'].''.$ocWebPath_replace;
\r
76 if ($ocAtSettings['debugMode'])
\r
78 echo '<h1>'.$ocAtSettings['lang']['atoc_debugModeActive'].'</h1>';
\r
81 <script src="mods/AtOpenCaps/include/basic.js"></script>
\r
82 <script src="mods/AtOpenCaps/include/atoc.js"></script>
\r
83 <script src="mods/AtOpenCaps/flowplayer/flowplayer-3.2.2.min.js"></script>
\r
84 <link rel="stylesheet" type="text/css" href="mods/AtOpenCaps/module.css">
\r
86 <div id="AtOpenCaps">
\r
88 if (count($ocAtSettings['messages'])>0)
\r
90 echo '<div id="info">';
\r
92 for($i=0;$i<count($ocAtSettings['messages']);$i++)
\r
94 echo '<p>'.$ocAtSettings['messages'][$i].'</p>';
\r
100 if($ocAtSettings['showAtVars'])
\r
102 AtOpenCapsDebug::_seeAlSessionVars();
\r
106 <div id="ATOC_links">
\r
107 <div id="subnavlistcontainer">
\r
108 <div id="subnavbacktopage">
\r
109 <a href="<?php echo AT_BASE_HREF; ?>mods/_core/content/index.php">
\r
110 <img height="11" border="0" width="10" style="float: left;" src="<?php echo AT_BASE_HREF; ?>images/arrowicon.gif" alt="<?php echo _AT('atoc_backToContentLinkAlt'); ?>"></a>
\r
114 <ul id="subnavlist">
\r
115 <li <?php if($ocAtAction=='') {?> class="active" <?php }?>><a href="mods/AtOpenCaps/index.php"><?php echo _AT('atoc_myCaptionProjectsLink'); ?> </a></li>
\r
116 <li <?php if($ocAtAction=='fileManager') {?> class="active" <?php }?>><a href="mods/AtOpenCaps/index.php?action=fileManager"><?php echo _AT('atoc_uploadMediaLink'); ?></a></li>
\r
117 <li <?php if($ocAtAction=='addProject') {?> class="active" <?php }?>><a href="mods/AtOpenCaps/index.php?action=addProject&step=0"><?php echo _AT('atoc_addProjectLink'); ?></a></li>
\r
118 <li <?php if($ocAtAction=='ccEditor') {?> class="active" <?php }?>><a href="mods/AtOpenCaps/index.php?action=ccEditor<?php
\r
119 if ($_SESSION['ATOC_activeProjectId']!='')
\r
121 echo '&id='.$_SESSION['ATOC_activeProjectId'];
\r
124 ?>"><?php echo _AT('atoc_captionEditorLink'); ?></a></li>
\r
125 <li <?php if($ocAtAction=='preview') {?> class="active" <?php }?>><a href="mods/AtOpenCaps/index.php?action=preview<?php
\r
126 if ($_SESSION['ATOC_activeProjectId']!='')
\r
128 echo '&id='.$_SESSION['ATOC_activeProjectId'];
\r
131 ?>"><?php echo _AT('atoc_previewLink'); ?></a></li>
\r
132 <li <?php if($ocAtAction=='atOcAbout') {?> class="active" <?php }?>><a href="mods/AtOpenCaps/index.php?action=atOcAbout"><?php echo _AT('atoc_helpLink'); ?></a></li>
\r
137 if ($ocAtAction=='ccEditor')
\r
139 // run Project Manager Class
\r
140 if($_SESSION['ATOC_activeProjectId']!='')
\r
142 $activeProjectId = $_GET['id'];
\r
144 // set the active id in session
\r
145 $_SESSION['ATOC_activeProjectId'] = $activeProjectId;
\r
148 // get the last project
\r
149 $myProjectManager = new ATOCProjectManager();
\r
150 $myOcProjects = $myProjectManager->_loadProjects($_SESSION['login'],$_SESSION['course_id'],0);
\r
151 $activeProjectId = $myOcProjects[0]['id'];
\r
153 // get the last project
\r
154 $myProjectManager = null;
\r
158 // set active session ID
\r
159 $myProjectManager = new ATOCProjectManager();
\r
160 $myProjectManager->_setActiveProject($activeProjectId,$_SESSION['login'],$_SESSION['course_id'],$_SESSION['token']);
\r
161 $activeProjectId .= '-'.$_SESSION['token'];
\r
163 if($ocAtSettings['debugMode'])
\r
165 // testing service before sending data
\r
166 $theServiceUrl = AT_BASE_HREF.'mods/AtOpenCaps/service.php?id='.$activeProjectId.'&action=getMedia';
\r
167 $theJson = file_get_contents($theServiceUrl);
\r
168 $media_info = json_decode($theJson);
\r
171 <h3>Open Caps service: getMedia</h3>
\r
172 <form name="debugJson" id="debugJson" method="post" action="">
\r
173 <textarea name="jsonArray" cols="80" rows="10" id="jsonArray">
\r
174 URL: '.$theServiceUrl;
\r
175 foreach ($media_info as $name=>$value)
\r
179 '.$name.': '.$value;
\r
189 $ccEditorHtml = '<div id="ATOC_editor" class="input-form">
\r
190 <iframe style="overflow-y: scroll;" scrolling="no" height="780px" frameborder="0" width="100%" align="top" class="wrapper"
\r
191 src="'.$ocAtSettings['ocWebPath'].'/index.php?id='.$activeProjectId.'&athome='.AT_BASE_HREF.'" name="AtOpenCaps" id="AtOpenCaps">
\r
192 '._AT('atoc_noIframeSupportedError').'
\r
196 echo $ccEditorHtml;
\r
199 } // end if ccEditor
\r
201 else if ($ocAtAction=='fileManager')
\r
203 echo '<div id="ATOC_fileManager" class="input-form">';
\r
205 <iframe style="overflow-y: scroll;" scrolling="no" height="600px" frameborder="0" width="100%" align="top"
\r
206 src="'.AT_BASE_HREF.'mods/_core/file_manager/index.php?framed=1&popup=0" name="ATFileManager" id="ATFileManager">
\r
207 '._AT('atoc_noIframeSupportedError').'
\r
213 else if ($ocAtAction=='preview')
\r
215 $myProjectManager = new ATOCProjectManager();
\r
216 $myPreviewProject = $myProjectManager->_loadProjects($_SESSION['login'],$_SESSION['course_id'],$_GET['id']);
\r
218 // set width and height
\r
219 if ($myPreviewProject[0]['width']=='')
\r
224 $playerWidth = $myPreviewProject[0]['width'];
\r
227 // set width and height
\r
228 if ($myPreviewProject[0]['height']=='')
\r
233 $playerHeight = $myPreviewProject[0]['height'];
\r
237 <div id="ATOC_preview" class="input-form">';
\r
239 <iframe scrolling="yes" width="100%" height="'.($playerHeight+50).'px" frameborder="0" align="top"
\r
240 src="'.AT_BASE_HREF.'mods/AtOpenCaps/player.php?mediaFile='.$contentURL.$myPreviewProject[0]['mediaFile'].'&captionFile='.$contentURL.$myPreviewProject[0]['captionFile'].'
\r
241 &width='.$playerWidth.'&height='.$playerHeight.'" name="ATPlayer" id="ATPlayer">
\r
242 This option will not work correctly.
\r
243 Unfortunately, your browser does not support inline frames.
\r
251 else if ($ocAtAction=='addProject')
\r
254 <div id="ATOC_addCcProject" class="input-form">
\r
255 <form name="addProject" id="addProject" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
\r
258 if (isset($_GET['step']) && $_GET['step']=='0')
\r
260 // start server files class
\r
261 $theServerDir = AT_CONTENT_DIR.''.$_SESSION['course_id'];
\r
262 $myServerFiles = new ServerFiles($theServerDir);
\r
263 $myFileArray = $myServerFiles->directoryToArray($theServerDir, true);
\r
265 // if not media files found
\r
266 if (count($myFileArray)==0)
\r
268 echo '<p>'._AT('atoc_noMediaFileFound').'</p>';
\r
269 echo '<p><a href="mods/AtOpenCaps/index.php?action=fileManager">'._AT('atoc_uploadMediaMsg').'</a></p>';
\r
271 //echo "<p>Select one of the available media files:</p>";
\r
273 <p><strong><?php echo _AT('atoc_projectName');?>:</strong>
\r
274 <input name="projectName" id="projectName" value="" type="text" size="35"/>
\r
276 <p><strong><?php echo _AT('atoc_mediaName'); ?>:</strong>
\r
277 <select name="mediaFile" id="mediaFile">
\r
279 for ($i=0;$i<count($myFileArray);$i++)
\r
281 echo '<option value="'.$myFileArray[$i].'">'.$myFileArray[$i].'</option>';
\r
287 <strong><?php echo _AT('atoc_mediaWidth'); ?>:</strong> <input name="width" id="width" value="" type="text" size="4"/>
\r
288 <strong><?php echo _AT('atoc_mediaHeight'); ?>:</strong> <input name="height" id="height" value="" type="text" size="4"/>
\r
291 <input name="ccOption" type="radio" value="0" checked>
\r
292 <?php echo _AT('atoc_newCaptionFileMsg'); ?><br>
\r
293 <input type="radio" name="ccOption" value="1">
\r
294 <?php echo _AT('atoc_existCaptionFileMsg'); ?>:
\r
295 <input name="captionFile" id="captionFile" type="text"/>
\r
298 <input name="step" id="step" value="1" type="hidden"/>
\r
299 <input name="action" id="action" value="addProject" type="hidden"/>
\r
300 <input name="addProject" type="submit" class="button" id="addProject" value="<?php echo _AT('atoc_addProjectButtonLabel');?>" />
\r
303 } // end if not files
\r
311 } // end addProject
\r
313 // listing my current projects
\r
314 else if ($ocAtAction=='' || (($ocAtAction=='editProject')&& $_GET['id']!=''))
\r
316 //echo "<h4>My Projects</h4>";
\r
317 echo '<div id="ATOC_projects" class="input-form">';
\r
318 // run Project Manager Class
\r
319 $myProjectManager = new ATOCProjectManager();
\r
320 $myOcProjects = $myProjectManager->_loadProjects($_SESSION['login'],$_SESSION['course_id'],0);
\r
321 //print_r($myOcProjects);
\r
323 if (count($myOcProjects)==0)
\r
325 echo '<p>'._AT('atoc_projectsNotFoundError').'.<p/>';
\r
326 echo '<p><a href="mods/AtOpenCaps/index.php?action=addProject&step=0">'._AT('atoc_addProjectLink').'</a><p/>';
\r
328 //echo '<br/>Total Projects: '.count($myOcProjects);
\r
330 $myProjectsHtml = '';
\r
331 $myProjectsHtml .= '
\r
332 <form name="atocForm" id="atocForm" method="post" action="'.$_SERVER['PHP_SELF'].'">
\r
333 <table width="100%" border="0" cellspacing="2" cellpadding="5">
\r
334 <tr class="ATOC_labels">
\r
335 <td width="40%">'._AT('atoc_projectName').'</td>
\r
336 <td width="25%">'._AT('atoc_mediaName').'</td>
\r
337 <td width="25%">'._AT('atoc_captionName').'</td>
\r
338 <td width="5%"> </td>
\r
339 <td width="5%"> </td>
\r
342 // load project in a table
\r
344 for ($i=0; $i<count($myOcProjects);$i++)
\r
348 $bgColor = 'bgcolor="#EAEBD8"';
\r
354 if($ocAtAction=='editProject' && $myOcProjects[$i]['id']==$_GET['id'])
\r
356 $myProjectsHtml .= '
\r
358 <td><a name="oc_'.$myOcProjects[$i]['id'].'"></a><input name="id" id="id" value="'.$myOcProjects[$i]['id'].'" type="hidden"/>
\r
359 <input name="name" id="name" value="'.$myOcProjects[$i]['name'].'" type="text" size="35"/></td>
\r
360 <td><input name="mediaFile" id="mediaFile" value="'.$myOcProjects[$i]['mediaFile'].'" type="text" size="35"/>
\r
361 <br/>'._AT('atoc_mediaWidth').': <input name="width" id="width" value="'.$myOcProjects[$i]['width'].'" type="text" size="4"/>
\r
362 <br/>'._AT('atoc_mediaHeight').': <input name="height" id="height" value="'.$myOcProjects[$i]['height'].'" type="text" size="4"/>
\r
364 <td><input name="captionFile" id="captionFile" value="'.$myOcProjects[$i]['captionFile'].'" type="text" size="35"/></td>
\r
365 <td><input name="editProject" type="submit" class="button" id="editProject" value="'._AT('atoc_saveProjectButtonLabel').'" />
\r
366 <input name="action" id="action" value="updateProject" type="hidden"/>
\r
368 <td><input name="deleteProject" type="button" class="button" id="deleteProject" value="'._AT('atoc_deleteProjectButtonLabel').'" onClick="confirmDelete(\'action\')" /></td>
\r
374 $myProjectsHtml .= '
\r
375 <tr '.$bgColor.'>'.
\r
376 '<td class="ATOC_projecLink"><a href="mods/AtOpenCaps/index.php?action=ccEditor&id='.$myOcProjects[$i]['id'].'">'.$myOcProjects[$i]['name'].'</a></td>
\r
377 <td><a href="'.$contentURL.''.$myOcProjects[$i]['mediaFile'].'">'.$myOcProjects[$i]['mediaFile'].'</a> </td>
\r
378 <td><a href="'.$contentURL.''.$myOcProjects[$i]['captionFile'].'">'.$myOcProjects[$i]['captionFile'].'</a> </td>
\r
379 <td><a href="'.$_SERVER['PHP_SELF'].'?action=editProject&id='.$myOcProjects[$i]['id'].'#'.'oc_'.$myOcProjects[$i]['id'].'">['._AT('atoc_editProjectLink').']</a></td>
\r
380 <td><a href="'.$_SERVER['PHP_SELF'].'?action=preview&id='.$myOcProjects[$i]['id'].'">['._AT('atoc_previewProjectLink').']</a></td>
\r
383 } // end if edit project
\r
388 $myProjectsHtml .= '
\r
392 echo $myProjectsHtml;
\r
394 } // end if not projects found
\r
400 else if ($ocAtAction == 'atOcAbout')
\r
402 $atOc_readme = file_get_contents('README');
\r
403 $atOc_readme = str_replace(chr(13),'<br/>',$atOc_readme);
\r
404 $atOc_readme = str_replace(chr(32),' ',$atOc_readme);
\r
405 $atOc_readme = str_replace(chr(9),' ',$atOc_readme);
\r
406 $atOcAboutHtml = '<div id="ATOC_about" class="input-form">
\r
407 <p>'.$atOc_readme.'</p>
\r
411 echo $atOcAboutHtml;
\r
413 } // end if about/help
\r
418 <?php require (AT_INCLUDE_PATH.'footer.inc.php'); ?>