function pubrepo_display(&$treeView) { // print conainer div and form global $modname, $op; $GLOBALS['page']->add('<div class="std_block">'); $GLOBALS['page']->add('<form id="pubreposhow" method="post"' . ' action="index.php?modname=' . $modname . '&op=' . $op . '"' . ' >' . "\n" . '<input type="hidden" id="authentic_request_pubr" name="authentic_request" value="' . Util::getSignature() . '" />'); if (funAccess('moditem', 'MOD', TRUE, 'pubrepo')) { $treeView->withActions = TRUE; } else { $tdb = $treeView->getTreeDb(); } $GLOBALS['page']->add($treeView->load()); if (funAccess('moditem', 'MOD', TRUE, 'pubrepo')) { $GLOBALS['page']->add($treeView->loadActions()); } $GLOBALS['page']->add('</form>'); // print form for import action $GLOBALS['page']->add('</div>'); }
function printElement(&$stack, $level) { $elem = parent::printElement($stack, $level); if ($this->withActions == FALSE) { return $elem; } if ($level > 0) { $arrData = $stack[$level]['folder']->otherValues; $isFolder = $arrData[REPOFIELDOBJECTTYPE] === ''; if (is_array($arrData)) { if (funAccess('moditem', 'MOD', TRUE, $this->mod_name)) { $elem .= '<input type="image" class="tree_view_image" ' . ' src="' . $this->_getOpPropertiesImg() . '"' . ' id="' . $this->id . '_' . $this->_getOpPropertiesId() . '_' . $stack[$level]['folder']->id . '" ' . ' name="' . $this->id . '[' . $this->_getOpPropertiesId() . '][' . $stack[$level]['folder']->id . ']" ' . ' title="' . $this->_getOpPropertiesTitle() . ': ' . $this->getFolderPrintName($stack[$level]['folder']) . '" ' . ' alt="' . $this->_getOpPropertiesTitle() . ': ' . $this->getFolderPrintName($stack[$level]['folder']) . '" />'; if (!$isFolder) { $elem .= '<input type="image" class="tree_view_image" ' . ' src="' . $this->_getCopyImage() . '"' . ' id="' . $this->id . '_' . $this->_getOpCopyLOId() . '_' . $stack[$level]['folder']->id . '" ' . ' name="' . $this->id . '[' . $this->_getOpCopyLOId() . '][' . $stack[$level]['folder']->id . ']" ' . ' title="' . $this->_getOpCopyTitle() . ': ' . $this->getFolderPrintName($stack[$level]['folder']) . '" ' . ' alt="' . $this->_getOpCopyTitle() . ': ' . $this->getFolderPrintName($stack[$level]['folder']) . '" />'; $elem .= '<input type="image" class="tree_view_image" ' . ' src="' . $this->_getEditImage() . '"' . ' id="' . $this->id . '_' . $this->_getOpEditLOId() . '_' . $stack[$level]['folder']->id . '" ' . ' name="' . $this->id . '[' . $this->_getOpEditLOId() . '][' . $stack[$level]['folder']->id . ']" ' . ' title="' . $this->_getOpEditTitle() . ': ' . $this->getFolderPrintName($stack[$level]['folder']) . '" ' . ' alt="' . $this->_getOpEditTitle() . ': ' . $this->getFolderPrintName($stack[$level]['folder']) . '" />'; $elem .= '<input type="image" class="tree_view_image" ' . ' src="' . $this->_getOpPlayItemImg() . '"' . ' id="' . $this->id . '_' . $this->_getOpPlayItemId() . '_' . $stack[$level]['folder']->id . '" ' . ' name="' . $this->id . '[' . $this->_getOpPlayItemId() . '][' . $stack[$level]['folder']->id . ']" ' . ' title="' . $this->_getOpPlayTitle() . ': ' . $this->getFolderPrintName($stack[$level]['folder']) . '" ' . ' alt="' . $this->_getOpPlayTitle() . ': ' . $this->getFolderPrintName($stack[$level]['folder']) . '" />'; } else { $elem .= '<div class="TVActionEmpty"></div>'; $elem .= '<div class="TVActionEmpty"></div>'; $elem .= '<div class="TVActionEmpty"></div>'; } } } } return $elem; }
function organization_display(&$treeView) { // print conainer div and form require_once $GLOBALS['where_lms'] . '/lib/lib.track_user.php'; TrackUser::setActionTrack(getLogUserId(), $_SESSION['idCourse'], 'organization', 'view'); global $modname, $op; $GLOBALS['page']->setWorkingZone('content'); $GLOBALS['page']->add('<div class="std_block">'); $GLOBALS['page']->add('<form id="orgshow" method="post"' . ' action="index.php?modname=' . $modname . '&op=' . $op . '"' . ' >' . "\n" . '<input type="hidden" id="authentic_request_org" name="authentic_request" value="' . Util::getSignature() . '" />'); if (funAccess('moditem', 'MOD', TRUE, 'organization')) { $treeView->withActions = TRUE; } else { $tdb = $treeView->getTreeDb(); } $GLOBALS['page']->add($treeView->load()); if (funAccess('moditem', 'MOD', TRUE, 'organization')) { $GLOBALS['page']->add($treeView->loadActions()); } $GLOBALS['page']->add('</form>'); // print form for import action $GLOBALS['page']->add('</div>'); YuiLib::load(array(), array()); /* addCss('shadowbox'); Util::get_js(Get::rel_path('base').'/addons/shadowbox/shadowbox-yui.js', true, true); Util::get_js(Get::rel_path('base').'/addons/shadowbox/shadowbox.js', true, true); $GLOBALS['page']->add( '' .'<script type="text/javascript"> YAHOO.util.Event.onDOMReady(function() { var options = { listenOverlay:false, overlayOpacity:"0.8", loadingImage:"'.getPathImage('lms').'standard/loading.gif", overlayBgImage:"'.getPathImage('lms').'standard/overlay-85.png", text: {close: "'. Lang::t('_CLOSE').'", cancel: "'. Lang::t('_UNDO').'", loading:"'. Lang::t('_LOADING').'" }, onOpen: function (gallery) { window.onbeforeunload = function() { return "'. Lang::t('_CONFIRM').'"; } } }; Shadowbox.init(options); Shadowbox.close = function() { window.onbeforeunload = null; window.frames[\'shadowbox_content\'].uiPlayer.closePlayer(true, window); } }); </script>' ); */ $GLOBALS['page']->add('<script type="text/javascript">' . "var lb = new LightBox();\r\n var Config = {};\r\n Config.langs = {_CLOSE: '" . Lang::t('_CLOSE', 'standard') . "'};\r\n lb.init(Config);" . '</script>'); }
function upstatus() { funAccess('statuser', 'OP'); if (!saveTrackStatusChange($_POST['idUser'], $_SESSION['idCourse'], $_POST['status'])) { UiFeedback::error(_OPERATION_FAILURE); return; } Util::jump_to('index.php?modname=stats&op=statuser'); }
function _scorm_copyitem($idscorm_package, $idscorm_organization) { funAccess('additem', 'NEW', false, 'scorm'); require_once _base_ . '/lib/lib.upload.php'; require_once dirname(__FILE__) . '/RendererDb.php'; require_once dirname(__FILE__) . '/CPManager.php'; if (($rs = sql_query("SELECT path FROM " . $GLOBALS['prefix_lms'] . "_scorm_package " . "WHERE idscorm_package='" . (int) $idscorm_package . "'")) === FALSE) { $_SESSION['last_error'] = _OPERATION_FAILURE . ': ' . mysql_error(); return FALSE; } list($path) = sql_fetch_row($rs); $scopath = str_replace('\\', '/', $GLOBALS['where_files_relative'] . '/appLms/' . Get::sett('pathscorm')); /* copy all zip directory */ /* remove copy - use same files $fname = explode ( '_', $path, 4); $savefile = $_SESSION['sesUser'].'_'.rand(0,100).'_'.time().'_'.$fname[3]; $filepath = $pathscorm.$savefile; if(file_exists($path)) { if( !sl_copyr($path, $filepath ) ) { $_SESSION['last_error'] = _ERRORCOPYFILE; return FALSE; } } */ /* copy package record */ $rs_package = sql_query("SELECT idpackage,idProg,'" . $path . "',defaultOrg,idUser,scormVersion " . " FROM " . $GLOBALS['prefix_lms'] . "_scorm_package " . " WHERE idscorm_package='" . (int) $idscorm_package . "'"); $arr_package = sql_fetch_row($rs_package); for ($i = 0; $i < count($arr_package); $i++) { $arr_package[$i] = addslashes($arr_package[$i]); } sql_query("INSERT INTO " . $GLOBALS['prefix_lms'] . "_scorm_package " . " (idpackage,idProg,path,defaultOrg,idUser,scormVersion) VALUES " . "('" . implode("','", $arr_package) . "')"); /* sql_query("INSERT INTO ".$GLOBALS['prefix_lms']."_scorm_package " ." (idpackage,idProg,path,defaultOrg,idUser) " ." SELECT idpackage,idProg,'".$path."',defaultOrg,idUser " ." FROM ".$GLOBALS['prefix_lms']."_scorm_package " ." WHERE idscorm_package='".(int)$idscorm_package."'");*/ $new_idscorm_package = mysql_insert_id(); /* copy resources */ $rs_resources = sql_query(" SELECT idsco,'" . $new_idscorm_package . "',scormtype,href " . " FROM " . $GLOBALS['prefix_lms'] . "_scorm_resources " . " WHERE idscorm_package='" . (int) $idscorm_package . "'"); while ($arr_resource = sql_fetch_row($rs_resources)) { for ($i = 0; $i < count($arr_resource); $i++) { $arr_resource[$i] = addslashes($arr_resource[$i]); } sql_query("INSERT INTO " . $GLOBALS['prefix_lms'] . "_scorm_resources " . " (idsco,idscorm_package,scormtype,href) VALUES " . "('" . implode("','", $arr_resource) . "')"); } /*sql_query("INSERT INTO ".$GLOBALS['prefix_lms']."_scorm_resources " ." (idsco,idscorm_package,scormtype,href) " ." SELECT idsco,'".$new_idscorm_package."',scormtype,href " ." FROM ".$GLOBALS['prefix_lms']."_scorm_resources " ." WHERE idscorm_package='".(int)$idscorm_package."'");*/ $cpm = new CPManager(); // try to open content package if (!$cpm->Open($scopath . $path)) { $_SESSION['last_error'] = 'Error: ' . $cpm->errText . ' [' . $cpm->errCode . ']'; return FALSE; } // and parse the manifest if (!$cpm->ParseManifest()) { $_SESSION['last_error'] = 'Error: ' . $cpm->errText . ' [' . $cpm->errCode . ']'; return FALSE; } $rdb = new RendererDb($GLOBALS['dbConn'], $GLOBALS['prefix_lms'], $new_idscorm_package); /*$orgElems = $cpm->orgElems; // save all organizations foreach( $orgElems as $org ) $cpm->RenderOrganization( $org->get_attribute('identifier'), $rdb );*/ list($org_identifier) = sql_fetch_row(sql_query("SELECT org_identifier FROM " . $GLOBALS['prefix_lms'] . "_scorm_organizations " . " WHERE idscorm_organization='" . (int) $idscorm_organization . "'")); $cpm->RenderOrganization($org_identifier, $rdb); // save flat organization with resources //$cpm->RenderOrganization( '-resource-', $rdb ); $so = new Scorm_Organization(addslashes($org_identifier), $new_idscorm_package, $GLOBALS['dbConn']); if ($so->err_code > 0) { $_SESSION['last_error'] = 'Error: ' . $so->getErrorText() . ' [' . $so->getErrorCode() . ']'; return FALSE; } else { return $so->idscorm_organization; } }