コード例 #1
0
        throw new SharingCart_RepositoryException('Repository URL was missing');
    }
    if (empty($config[$repo_id]->instance)) {
        throw new SharingCart_RepositoryException('Repository course ID was missing');
    }
    if (empty($config[$repo_id]->username)) {
        throw new SharingCart_RepositoryException('Repository username was missing');
    }
    $zip_path = make_user_directory($USER->id, true) . '/' . $sharing_cart->file;
    $zip_data = file_get_contents($zip_path);
    $form = new MoodleQuickForm('upload', 'post', $config[$repo_id]->url . '/course/format/repository/material.php');
    $form->addElement('hidden', 'mode', 'upload');
    $form->addElement('hidden', 'id', $config[$repo_id]->instance);
    $form->addElement('hidden', 'username', $config[$repo_id]->username);
    $form->addElement('hidden', 'password', $config[$repo_id]->password);
    $form->addElement('hidden', 'icon', $sharing_cart->icon);
    $form->addElement('hidden', 'type', $sharing_cart->name);
    $form->addElement('hidden', 'title', $sharing_cart->text);
    $form->addElement('hidden', 'file', base64_encode($zip_data));
    $form->addElement('hidden', 'sha1', sha1($zip_data));
    $form->addElement('hidden', 'usersite', $CFG->wwwroot);
    $form->addElement('hidden', 'sitename', $SITE->fullname);
    $icon = sharing_cart_lib::get_icon($sharing_cart->name, $sharing_cart->icon);
    $text = '<span class="icon">' . $icon . '</span><span>' . $sharing_cart->text . '</span>';
    $form->addElement('static', NULL, '', $text);
    $form->addElement('static', NULL, '', SharingCart_Repository::getString('confirm_upload'));
    $form->addElement('submit', 'upload', SharingCart_Repository::getString('upload'));
    SharingCart_Repository::printForm($form, SharingCart_Repository::getString('upload_to_repository'), $course_id);
} catch (Exception $e) {
    error((string) $e);
}
コード例 #2
0
		<div style="text-align:center; width:100%;">
			<span>' . SharingCart_Repository::getString('press_download') . '</span>
		</div>';
    echo '
		<div style="text-align:center; width:100%; margin:1em;">
			<form id="downloadform" method="POST"
			 action="' . $config[$repo_id]->url . '/course/format/repository/material.php">
			<div style="display:hidden;">';
    foreach ($params as $k => $v) {
        echo '
				<input type="hidden" name="' . $k . '" value="' . $v . '" />';
    }
    echo '
			</div>
			<div>
				<input type="submit" value="' . SharingCart_Repository::getString('download') . '" />
			</div>
			</form>
		</div>';
    // 自動でリポジトリのダウンロードページへジャンプ
    echo '
		<script type="text/javascript">
		//<![CDATA[
			setTimeout(function ()
			{
				document.forms["downloadform"].submit();
			}, 100);
		//]]>
		</script>';
    SharingCart_Repository::printFooter();
} catch (Exception $e) {
コード例 #3
0
    $repository_wwwroot = $config[$repository]->url;
    // ダウンロード一覧フォーム
    //
    // リポジトリ→SCへのPOSTは教材IDと各種フィールドのみ渡し、
    // SC側のスクリプトがリポジトリにあるファイルをダウンロードする。
    //
    // TODO: AJAX化?
    //
    print_header_simple();
    $str_download = get_string('download', 'block_sharing_cart');
    $str_complete = SharingCart_Repository::getString('complete');
    $str_failure = SharingCart_Repository::getString('failure');
    // 教材のリストを表示
    echo '
		<div>
			' . SharingCart_Repository::getString('begin_transfer') . '
		</div>
		<form action="transfer.php" method="post">
		<div style="display:none;">
			<input type="hidden" name="repository" value="' . $repository . '" />
			<input type="hidden" name="usercourse" value="' . $usercourse . '" />
			<input type="hidden" name="sessionkey" value="' . $sessionkey . '" />
		</div>
		<table>';
    foreach ($materials as $id => $fields) {
        // フィールドを分解
        // @see /course/format/repository/RepositoryMaterial.php # download()
        list($sha1, $type, $icon, $text) = explode('|', $fields, 4);
        // ダウンロードボタンがクリックされたら、教材ファイルをHTTP通信により取得
        if (!empty($downloads[$id])) {
            $user_dir = make_user_directory($USER->id);
コード例 #4
0
    $forms = array();
    foreach ($config as $id => $info) {
        if ($id == $update_id) {
            if (!empty($succeeded)) {
                $message = get_string('updated', NULL, SharingCart_Repository::getString('settings'));
            } elseif (!empty($forbidden)) {
                $message = SharingCart_Repository::getString('auth_fail');
            } else {
                $message = SharingCart_Repository::getString('not_found');
            }
            $forms[] = new SharingCart_Repository_Form_Settings($course_id, $id, $info, $message);
        } else {
            $forms[] = new SharingCart_Repository_Form_Settings($course_id, $id, $info);
        }
    }
    //* (暫定) UL/DL機能が複数設定に対応していないので機能隠蔽
    if (!optional_param('add')) {
        class add_repository_form extends moodleform
        {
            public function definition()
            {
                $this->_form->addElement('submit', 'add', get_string('add'));
            }
        }
        $forms[] = new add_repository_form();
    }
    //*/
    SharingCart_Repository::printForm($forms, SharingCart_Repository::getString('settings'), $course_id, $return_to);
} catch (Exception $e) {
    error((string) $e);
}
コード例 #5
0
    private static function getScriptHeader()
    {
        if (self::$script_header_defined) {
            return '';
        }
        self::$script_header_defined = TRUE;
        return '
			function sharing_cart_repository_add_url_desc(i)
			{
				var item = document.getElementById("id_url" + i).parentNode;
				var desc = document.createElement("div");
				desc.className = "dimmed_text";
				desc.appendChild(document.createTextNode("' . addslashes(SharingCart_Repository::getString('repo_url_desc')) . '"));
				item.appendChild(desc);
			}';
    }