Dotclear

source: plugins/importExport/index.php @ 2825:966e82aaed07

Revision 2825:966e82aaed07, 2.6 KB checked in by franck <carnet.franck.paul@…>, 11 years ago (diff)

Using dcAdminURL, work in progress on plugins…

Line 
1<?php
2# -- BEGIN LICENSE BLOCK ---------------------------------------
3#
4# This file is part of importExport, a plugin for DotClear2.
5#
6# Copyright (c) 2003-2012 Olivier Meunier & Association Dotclear
7# Licensed under the GPL version 2.0 license.
8# See LICENSE file or
9# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10#
11# -- END LICENSE BLOCK -----------------------------------------
12if (!defined('DC_CONTEXT_ADMIN')) { return; }
13
14function listImportExportModules($core,$modules)
15{
16     $res = '';
17     foreach ($modules as $id)
18     {
19          $o = new $id($core);
20
21          $res .=
22          '<dt><a href="'.$o->getURL(true).'">'.html::escapeHTML($o->name).'</a></dt>'.
23          '<dd>'.html::escapeHTML($o->description).'</dd>';
24
25          unset($o);
26     }
27     return '<dl class="modules">'.$res.'</dl>';
28}
29
30$modules = new ArrayObject(array('import' => array(),'export' => array()));
31
32# --BEHAVIOR-- importExportModules
33$core->callBehavior('importExportModules', $modules, $core);
34
35$type = null;
36if (!empty($_REQUEST['type'])  && in_array($_REQUEST['type'],array('export','import'))) {
37     $type = $_REQUEST['type'];
38}
39
40$module = null;
41if ($type && !empty($_REQUEST['module'])) {
42
43     if (isset($modules[$type]) && in_array($_REQUEST['module'],$modules[$type])) {
44
45          $module = new $_REQUEST['module']($core);
46          $module->init();
47     }
48}
49
50if ($type && $module !== null && !empty($_REQUEST['do']))
51{
52     try {
53          $module->process($_REQUEST['do']);
54     } catch (Exception $e) {
55          $core->error->add($e->getMessage());
56     }
57}
58
59$title = __('Import/Export');
60
61echo '
62<html>
63<head>
64     <title>'.$title.'</title>
65     <link rel="stylesheet" type="text/css" href="'.$core->adminurl->decode('load.plugin.file',array('pf' => 'mportExport/style.css')).'" />
66     '.dcPage::jsLoad($core->adminurl->decode('load.plugin.file',array('pf' => 'importExport/js/script.js'))).'
67     <script type="text/javascript">
68     //<![CDATA[
69     '.dcPage::jsVar('dotclear.msg.please_wait',__('Please wait...')).'
70     //]]>
71     </script>
72</head>
73<body>';
74
75if ($type && $module !== null) {
76     echo dcPage::breadcrumb(
77          array(
78               __('Plugins') => '',
79               $title => $p_url,
80               html::escapeHTML($module->name) => ''
81          )).
82          dcPage::notices();
83
84     echo
85     '<div id="ie-gui">';
86
87     $module->gui();
88
89     echo '</div>';
90}
91else {
92     echo dcPage::breadcrumb(
93          array(
94               __('Plugins') => '',
95               $title => ''
96          )).
97          dcPage::notices();
98
99     echo '<h3>'.__('Import').'</h3>'.listImportExportModules($core,$modules['import']);
100
101     echo
102     '<h3>'.__('Export').'</h3>'.
103     '<p class="info">'.sprintf(
104          __('Export functions are in the page %s.'),
105          '<a href="'.$core->adminurl->decode('admin.plugin.maintenance',array('tab' => 'backup')).'#backup">'.__('Maintenance').'</a>'
106     ).'</p>';
107}
108
109dcPage::helpBlock('import');
110
111echo '</body></html>';
Note: See TracBrowser for help on using the repository browser.

Sites map