Ejemplo n.º 1
0
 public function beginPage($breadcrumb = '', $head = '')
 {
     if ($this->in_plugin) {
         echo '<html><head><title>' . __('Entries') . '</title>' . dcPage::jsLoad('js/_posts_actions.js') . $head . '</script></head><body>' . $breadcrumb;
     } else {
         dcPage::open(__('Entries'), dcPage::jsLoad('js/_posts_actions.js') . $head, $breadcrumb);
     }
     echo '<p><a class="back" href="' . $this->getRedirection(true) . '">' . __('Back to entries list') . '</a></p>';
 }
Ejemplo n.º 2
0
            $core->error->add($e->getMessage());
        }
        if (!$core->error->flag()) {
            dcPage::addSuccessNotice(__('User has been successfully updated.'));
            http::redirect($redir);
        }
    }
}
/* DISPLAY
-------------------------------------------------------- */
if (!empty($users) && empty($blogs) && $action == 'blogs') {
    $breadcrumb = dcPage::breadcrumb(array(__('System') => '', __('Users') => $core->adminurl->get("admin.users"), __('Permissions') => ''));
} else {
    $breadcrumb = dcPage::breadcrumb(array(__('System') => '', __('Users') => $core->adminurl->get("admin.users"), __('Actions') => ''));
}
dcPage::open(__('Users'), dcPage::jsLoad('js/_users_actions.js') . $core->callBehavior('adminUsersActionsHeaders'), $breadcrumb);
if (!isset($action)) {
    dcPage::close();
    exit;
}
$hidden_fields = '';
foreach ($users as $u) {
    $hidden_fields .= form::hidden(array('users[]'), $u);
}
if (isset($_POST['redir']) && strpos($_POST['redir'], '://') === false) {
    $hidden_fields .= form::hidden(array('redir'), html::escapeURL($_POST['redir']));
} else {
    $hidden_fields .= form::hidden(array('q'), html::escapeHTML($_POST['q'])) . form::hidden(array('sortby'), $_POST['sortby']) . form::hidden(array('order'), $_POST['order']) . form::hidden(array('page'), $_POST['page']) . form::hidden(array('nb'), $_POST['nb']);
}
echo '<p><a class="back" href="' . html::escapeURL($redir) . '">' . __('Back to user profile') . '</a></p>';
# --BEHAVIOR-- adminUsersActionsContent
Ejemplo n.º 3
0
        }
        try {
            $ret_code = dc_lang_install($dest);
        } catch (Exception $e) {
            @unlink($dest);
            throw $e;
        }
        @unlink($dest);
        http::redirect('langs.php?added=' . $ret_code);
    } catch (Exception $e) {
        $core->error->add($e->getMessage());
    }
}
/* DISPLAY Main page
-------------------------------------------------------- */
dcPage::open(__('Languages management'), dcPage::jsLoad('js/_langs.js'));
echo '<h2>' . __('Languages management') . '</h2>';
if (!empty($_GET['removed'])) {
    echo '<p class="message">' . __('Language has been successfully deleted.') . '</p>';
}
if (!empty($_GET['added'])) {
    echo '<p class="message">' . ($_GET['added'] == 2 ? __('Language has been successfully upgraded') : __('Language has been successfully installed.')) . '</p>';
}
echo '<p>' . __('Here you can install, upgrade or remove languages for your Dotclear ' . 'installation.') . '</p>' . '<p>' . sprintf(__('You can change your user language in your <a href="%1$s">preferences</a> or ' . 'change your blog\'s main language in your <a href="%2$s">blog settings</a>.'), 'preferences.php', 'blog_pref.php') . '</p>';
echo '<h3>' . __('Installed languages') . '</h3>';
$locales_content = scandir(DC_L10N_ROOT);
$tmp = array();
foreach ($locales_content as $v) {
    $c = $v == '.' || $v == '..' || $v == 'en' || !is_dir(DC_L10N_ROOT . '/' . $v) || !isset($iso_codes[$v]);
    if (!$c) {
        $tmp[$v] = DC_L10N_ROOT . '/' . $v;
Ejemplo n.º 4
0
    $post_title = html::escapeHTML(trim(html::clean($post_title)));
    foreach (explode("\n", $tb_urls) as $tb_url) {
        try {
            $TB->ping($tb_url, $id, $post_title, $tb_excerpt, $post_url);
        } catch (Exception $e) {
            $core->error->add($e->getMessage());
        }
    }
    if (!$core->error->flag()) {
        http::redirect('trackbacks.php?id=' . $id . '&sent=1');
    }
}
$page_title = __('Ping blogs');
/* DISPLAY
-------------------------------------------------------- */
dcPage::open($page_title, dcPage::jsLoad('js/_trackbacks.js'));
# Exit if we cannot view page
if (!$can_view_page) {
    dcPage::close();
    exit;
}
if (!empty($_GET['sent'])) {
    echo '<p class="message">' . __('All pings sent.') . '</p>';
}
echo '<h2>' . html::escapeHTML($core->blog->name) . ' &rsaquo; ' . $page_title . '</h2>';
echo '<p><a href="' . $core->getPostAdminURL($post->post_type, $id) . '">&#171; ' . sprintf(__('Back to "%s"'), html::escapeHTML($post->post_title)) . '</a></p>';
echo '<h3 id="entry-preview-title">' . html::escapeHTML($post->post_title) . '</h3>' . '<div class="frame-shrink" id="entry-preview">' . ($post->post_excerpt_xhtml ? $post->post_excerpt_xhtml . '<hr />' : '') . $post->post_content_xhtml . '</div>';
if (!empty($_GET['auto'])) {
    flush();
    $tb_urls = implode("\n", $TB->discover($post->post_excerpt_xhtml . ' ' . $post->post_content_xhtml));
} else {
Ejemplo n.º 5
0
                throw new Exception(__("Passwords don't match"));
            }
            $cur->user_pwd = $_POST['new_pwd'];
        }
        # --BEHAVIOR-- adminBeforeUserUpdate
        $core->callBehavior('adminBeforeUserUpdate', $cur, $core->auth->userID());
        # Udate user
        $core->updUser($core->auth->userID(), $cur);
        # --BEHAVIOR-- adminAfterUserUpdate
        $core->callBehavior('adminAfterUserUpdate', $cur, $core->auth->userID());
        http::redirect('preferences.php?upd=1');
    } catch (Exception $e) {
        $core->error->add($e->getMessage());
    }
}
/* DISPLAY
-------------------------------------------------------- */
dcPage::open($page_title, dcPage::jsLoad('js/_preferences.js') . dcPage::jsConfirmClose('user-form') . $core->callBehavior('adminPreferencesHeaders'));
if (!empty($_GET['upd'])) {
    echo '<p class="message">' . __('Personal information has been successfully updated.') . '</p>';
}
echo '<h2>' . $page_title . '</h2>';
echo '<form action="preferences.php" method="post" id="user-form">' . '<fieldset><legend>' . __('User preferences') . '</legend>' . '<div class="two-cols">' . '<div class="col">' . '<p><label>' . __('Last Name:') . form::field('user_name', 20, 255, html::escapeHTML($user_name), '', 2) . '</label></p>' . '<p><label>' . __('First Name:') . form::field('user_firstname', 20, 255, html::escapeHTML($user_firstname), '', 3) . '</label></p>' . '<p><label>' . __('Display name:') . form::field('user_displayname', 20, 255, html::escapeHTML($user_displayname), '', 4) . '</label></p>' . '<p><label>' . __('Email:') . form::field('user_email', 20, 255, html::escapeHTML($user_email), '', 5) . '</label></p>' . '<p><label>' . __('URL:') . form::field('user_url', 30, 255, html::escapeHTML($user_url), '', 6) . '</label></p>' . '</div>' . '<div class="col">' . '<p><label>' . __('Preferred format:') . form::combo('user_post_format', $formaters_combo, $user_options['post_format'], '', 7) . '</label></p>' . '<p><label>' . __('Default entry status:') . form::combo('user_post_status', $status_combo, $user_post_status, '', 8) . '</label></p>' . '<p><label>' . __('Entry edit field height:') . form::field('user_edit_size', 5, 4, (int) $user_options['edit_size'], '', 9) . '</label></p>' . '<p><label>' . __('User language:') . form::combo('user_lang', $lang_combo, $user_lang, 'l10n', 10) . '</label></p>' . '<p><label>' . __('User timezone:') . form::combo('user_tz', dt::getZones(true, true), $user_tz, '', 11) . '</label></p>' . '<p><label class="classic">' . form::checkbox('user_wysiwyg', 1, $user_options['enable_wysiwyg'], '', 12) . ' ' . __('Enable WYSIWYG mode') . '</label></p>' . '</div>' . '</div>' . '<br class="clear" />' . '</fieldset>';
# --BEHAVIOR-- adminPreferencesForm
$core->callBehavior('adminPreferencesForm', $core);
if ($core->auth->allowPassChange()) {
    echo '<fieldset>' . '<legend>' . __('Change your password') . '</legend>' . '<p><label>' . __('New password:'******'new_pwd', 20, 255, '', '', 30) . '</label></p>' . '<p><label>' . __('Confirm password:'******'new_pwd_c', 20, 255, '', '', 31) . '</label></p>' . '</fieldset>' . '<fieldset>' . '<p>' . __('If you want to change your email or password you must provide your current password.') . '</p>' . '<p><label>' . __('Your password:'******'cur_pwd', 20, 255, '', '', 32) . '</label></p>' . '</fieldset>';
}
echo '<p class="clear">' . $core->formNonce() . '<input type="submit" accesskey="s" value="' . __('Save') . '" tabindex="33" /></p>' . '</form>';
dcPage::helpBlock('core_user_pref');
dcPage::close();
Ejemplo n.º 6
0
} else {
    $sortby = 'post_dt';
    $order = 'desc';
}
# Get posts
try {
    $posts = $core->blog->getPosts($params);
    $counter = $core->blog->getPosts($params, true);
    $post_list = new adminPostList($core, $posts, $counter->f(0));
} catch (Exception $e) {
    $core->error->add($e->getMessage());
}
/* DISPLAY
-------------------------------------------------------- */
$form_filter_title = __('Show filters and display options');
$starting_script = dcPage::jsLoad('js/_posts_list.js');
$starting_script .= dcPage::jsLoad('js/filter-controls.js');
$starting_script .= '<script type="text/javascript">' . "\n" . "//<![CDATA[" . "\n" . dcPage::jsVar('dotclear.msg.show_filters', $show_filters ? 'true' : 'false') . "\n" . dcPage::jsVar('dotclear.msg.filter_posts_list', $form_filter_title) . "\n" . dcPage::jsVar('dotclear.msg.cancel_the_filter', __('Cancel filters and display options')) . "\n" . "//]]>" . "</script>";
dcPage::open(__('Entries'), $starting_script, dcPage::breadcrumb(array(html::escapeHTML($core->blog->name) => '', __('Entries') => '')));
if (!empty($_GET['upd'])) {
    dcPage::success(__('Selected entries have been successfully updated.'));
} elseif (!empty($_GET['del'])) {
    dcPage::success(__('Selected entries have been successfully deleted.'));
}
if (!$core->error->flag()) {
    echo '<p class="top-add"><a class="button add" href="' . $core->adminurl->get("admin.post") . '">' . __('New entry') . '</a></p>' . '<form action="' . $core->adminurl->get("admin.posts") . '" method="get" id="filters-form">' . '<h3 class="out-of-screen-if-js">' . $form_filter_title . '</h3>' . '<div class="table">' . '<div class="cell">' . '<h4>' . __('Filters') . '</h4>' . '<p><label for="user_id" class="ib">' . __('Author:') . '</label> ' . form::combo('user_id', $users_combo, $user_id) . '</p>' . '<p><label for="cat_id" class="ib">' . __('Category:') . '</label> ' . form::combo('cat_id', $categories_combo, $cat_id) . '</p>' . '<p><label for="status" class="ib">' . __('Status:') . '</label> ' . form::combo('status', $status_combo, $status) . '</p> ' . '<p><label for="format" class="ib">' . __('Format:') . '</label> ' . form::combo('format', $format_combo, $format) . '</p>' . '<p><label for="password" class="ib">' . __('Password:'******'</label> ' . form::combo('password', $password_combo, $password) . '</p>' . '</div>' . '<div class="cell filters-sibling-cell">' . '<p><label for="selected" class="ib">' . __('Selected:') . '</label> ' . form::combo('selected', $selected_combo, $selected) . '</p>' . '<p><label for="attachment" class="ib">' . __('Attachments:') . '</label> ' . form::combo('attachment', $attachment_combo, $attachment) . '</p>' . '<p><label for="month" class="ib">' . __('Month:') . '</label> ' . form::combo('month', $dt_m_combo, $month) . '</p>' . '<p><label for="lang" class="ib">' . __('Lang:') . '</label> ' . form::combo('lang', $lang_combo, $lang) . '</p> ' . '<p><label for="comment" class="ib">' . __('Comments:') . '</label> ' . form::combo('comment', $comment_combo, $comment) . '</p>' . '<p><label for="trackback" class="ib">' . __('Trackbacks:') . '</label> ' . form::combo('trackback', $trackback_combo, $trackback) . '</p>' . '</div>' . '<div class="cell filters-options">' . '<h4>' . __('Display options') . '</h4>' . '<p><label for="sortby" class="ib">' . __('Order by:') . '</label> ' . form::combo('sortby', $sortby_combo, $sortby) . '</p>' . '<p><label for="order" class="ib">' . __('Sort:') . '</label> ' . form::combo('order', $order_combo, $order) . '</p>' . '<p><span class="label ib">' . __('Show') . '</span> <label for="nb" class="classic">' . form::field('nb', 3, 3, $nb_per_page) . ' ' . __('entries per page') . '</label></p>' . '</div>' . '</div>' . '<p><input type="submit" value="' . __('Apply filters and display options') . '" />' . '<br class="clear" /></p>' . '</form>';
    # Show posts
    $post_list->display($page, $nb_per_page, '<form action="' . $core->adminurl->get("admin.posts") . '" method="post" id="form-entries">' . '%s' . '<div class="two-cols">' . '<p class="col checkboxes-helpers"></p>' . '<p class="col right"><label for="action" class="classic">' . __('Selected entries action:') . '</label> ' . form::combo('action', $posts_actions_page->getCombo()) . '<input type="submit" value="' . __('ok') . '" /></p>' . form::hidden(array('user_id'), $user_id) . form::hidden(array('cat_id'), $cat_id) . form::hidden(array('status'), $status) . form::hidden(array('password'), $password) . form::hidden(array('selected'), $selected) . form::hidden(array('comment'), $comment) . form::hidden(array('trackback'), $trackback) . form::hidden(array('attachment'), $attachment) . form::hidden(array('month'), $month) . form::hidden(array('lang'), $lang) . form::hidden(array('sortby'), $sortby) . form::hidden(array('order'), $order) . form::hidden(array('page'), $page) . form::hidden(array('nb'), $nb_per_page) . $core->formNonce() . '</div>' . '</form>', $show_filters);
}
dcPage::helpBlock('core_posts');
dcPage::close();
Ejemplo n.º 7
0
            # --BEHAVIOR-- adminAfterUserCreate
            $core->callBehavior('adminAfterUserCreate', $cur, $new_id);
            dcPage::addSuccessNotice(__('User has been successfully created.'));
            if (!empty($_POST['saveplus'])) {
                $core->adminurl->redirect("admin.user");
            } else {
                $core->adminurl->redirect("admin.user", array('id' => $new_id));
            }
        }
    } catch (Exception $e) {
        $core->error->add($e->getMessage());
    }
}
/* DISPLAY
-------------------------------------------------------- */
dcPage::open($page_title, dcPage::jsConfirmClose('user-form') . dcPage::jsLoad('js/jquery/jquery.pwstrength.js') . '<script type="text/javascript">' . "\n" . "//<![CDATA[\n" . "\$(function() {\n" . "\t\$('#new_pwd').pwstrength({texts: ['" . sprintf(__('Password strength: %s'), __('very weak')) . "', '" . sprintf(__('Password strength: %s'), __('weak')) . "', '" . sprintf(__('Password strength: %s'), __('mediocre')) . "', '" . sprintf(__('Password strength: %s'), __('strong')) . "', '" . sprintf(__('Password strength: %s'), __('very strong')) . "']});\n" . "});\n" . "\n//]]>\n" . "</script>\n" . $core->callBehavior('adminUserHeaders'), dcPage::breadcrumb(array(__('System') => '', __('Users') => $core->adminurl->get("admin.users"), $page_title => '')));
if (!empty($_GET['upd'])) {
    dcPage::success(__('User has been successfully updated.'));
}
if (!empty($_GET['add'])) {
    dcPage::success(__('User has been successfully created.'));
}
echo '<form action="' . $core->adminurl->get("admin.user") . '" method="post" id="user-form">' . '<div class="two-cols">' . '<div class="col">' . '<h3>' . __('User profile') . '</h3>' . '<p><label for="user_id" class="required"><abbr title="' . __('Required field') . '">*</abbr> ' . __('User ID:') . '</label> ' . form::field('user_id', 20, 255, html::escapeHTML($user_id)) . '</p>' . '<p class="form-note">' . __('At least 2 characters using letters, numbers or symbols.') . '</p>';
if ($user_id == $core->auth->userID()) {
    echo '<p class="warning">' . __('Warning:') . ' ' . __('If you change your username, you will have to log in again.') . '</p>';
}
echo '<div class="pw-table">' . '<p class="pw-cell">' . '<label for="new_pwd" ' . ($user_id != '' ? '' : 'class="required"') . '>' . ($user_id != '' ? '' : '<abbr title="' . __('Required field') . '">*</abbr> ') . ($user_id != '' ? __('New password:'******'Password:'******'</label>' . form::password('new_pwd', 20, 255, '', '', '', false, ' data-indicator="pwindicator" ') . '</p>' . '<div id="pwindicator">' . '    <div class="bar"></div>' . '    <p class="label no-margin"></p>' . '</div>' . '</div>' . '<p class="form-note">' . __('Password must contain at least 6 characters.') . '</p>' . '<p><label for="new_pwd_c" ' . ($user_id != '' ? '' : 'class="required"') . '>' . ($user_id != '' ? '' : '<abbr title="' . __('Required field') . '">*</abbr> ') . __('Confirm password:'******'</label> ' . form::password('new_pwd_c', 20, 255) . '</p>';
if ($core->auth->allowPassChange()) {
    echo '<p><label for="user_change_pwd" class="classic">' . form::checkbox('user_change_pwd', '1', $user_change_pwd) . ' ' . __('Password change required to connect') . '</label></p>';
}
$super_disabled = $user_super && $user_id == $core->auth->userID();
Ejemplo n.º 8
0
        if ($e->getCode() == dcUpdate::ERR_FILES_CHANGED) {
            $msg = __('The following files of your Dotclear installation ' . 'have been modified so we won\'t try to update your installation. ' . 'Please try to <a href="http://dotclear.org/download">update manually</a>.');
        } elseif ($e->getCode() == dcUpdate::ERR_FILES_UNREADABLE) {
            $msg = sprintf(__('The following files of your Dotclear installation are not readable. ' . 'Please fix this or try to make a backup file named %s manually.'), '<strong>backup-' . DC_VERSION . '.zip</strong>');
        } elseif ($e->getCode() == dcUpdate::ERR_FILES_UNWRITALBE) {
            $msg = __('The following files of your Dotclear installation cannot be written. ' . 'Please fix this or try to <a href="http://dotclear.org/download">update manually</a>.');
        }
        if (isset($e->bad_files)) {
            $msg .= '<ul><li><strong>' . implode('</strong></li><li><strong>', $e->bad_files) . '</strong></li></ul>';
        }
        $core->error->add($msg);
    }
}
/* DISPLAY Main page
-------------------------------------------------------- */
dcPage::open(__('Dotclear update'));
if (!$core->error->flag()) {
    echo '<h2>' . __('Dotclear update') . '</h2>';
}
if (!$step) {
    if (empty($new_v)) {
        echo '<p><strong>' . __('No newer Dotclear version available.') . '</strong></p>';
    } else {
        echo '<p class="static-msg">' . sprintf(__('Dotclear %s is available.'), $new_v) . '</p>' . '<p>' . __('To upgrade your Dotclear installation simply click on the following button. ' . 'A backup file of your current installation will be created in your root directory.') . '</p>' . '<form action="' . $p_url . '" method="get">' . '<p><input type="hidden" name="step" value="check" />' . '<input type="submit" value="' . __('Update Dotclear') . '" /></p>' . '</form>';
    }
    if (!empty($archives)) {
        echo '<h3>' . __('Update backup files') . '</h3>' . '<p>' . __('The following files are backups of previously updates. ' . 'You can revert your previous installation or delete theses files.') . '</p>';
        echo '<form action="' . $p_url . '" method="post">';
        foreach ($archives as $v) {
            echo '<p><label class="classic">' . form::radio(array('backup_file'), html::escapeHTML($v)) . ' ' . html::escapeHTML($v) . '</label></p>';
        }
Ejemplo n.º 9
0
                throw new Exception(sprintf(__('User "%s" already exists.'), html::escapeHTML($cur->user_id)));
            }
            # --BEHAVIOR-- adminBeforeUserCreate
            $core->callBehavior('adminBeforeUserCreate', $cur);
            $new_id = $core->addUser($cur);
            # --BEHAVIOR-- adminAfterUserCreate
            $core->callBehavior('adminAfterUserCreate', $cur, $new_id);
            http::redirect('user.php?id=' . $new_id . '&add=1');
        }
    } catch (Exception $e) {
        $core->error->add($e->getMessage());
    }
}
/* DISPLAY
-------------------------------------------------------- */
dcPage::open($page_title, dcPage::jsConfirmClose('user-form') . $core->callBehavior('adminUserHeaders'));
if (!empty($_GET['upd'])) {
    echo '<p class="message">' . __('User has been successfully updated.') . '</p>';
}
if (!empty($_GET['add'])) {
    echo '<p class="message">' . __('User has been successfully created.') . '</p>';
}
echo '<h2><a href="users.php">' . __('Users') . '</a> &rsaquo; ' . $page_title . '</h2>';
if ($user_id == $core->auth->userID()) {
    echo '<p class="warning">' . __('Warning:') . ' ' . __('If you change your username, you will have to log in again.') . '</p>';
}
echo '<form action="user.php" method="post"id="user-form">' . '<fieldset><legend>' . __('User information') . '</legend>' . '<div class="two-cols">' . '<div class="col">' . '<p><label class="required" title="' . __('Required field') . '">' . __('Username:'******' ' . form::field('user_id', 20, 255, html::escapeHTML($user_id), '', 2) . '</label></p>' . '<p class="form-note">' . __('At least 2 characters using letters, numbers or symbols.') . '</p>' . '<p><label>' . ($user_id != '' ? __('New password:'******'Password:'******' ' . form::password('new_pwd', 20, 255, '', '', 3) . '</label></p>' . '<p><label>' . __('Confirm password:'******' ' . form::password('new_pwd_c', 20, 255, '', '', 4) . '</label></p>' . '<p><label>' . __('Last Name:') . ' ' . form::field('user_name', 20, 255, html::escapeHTML($user_name), '', 5) . '</label></p>' . '<p><label>' . __('First Name:') . ' ' . form::field('user_firstname', 20, 255, html::escapeHTML($user_firstname), '', 6) . '</label></p>' . '<p><label>' . __('Display name:') . ' ' . form::field('user_displayname', 20, 255, html::escapeHTML($user_displayname), '', 7) . '</label></p>' . '<p><label>' . __('Email:') . ' ' . form::field('user_email', 20, 255, html::escapeHTML($user_email), '', 8) . '</label></p>' . '</div>' . '<div class="col">' . '<p><label>' . __('URL:') . ' ' . form::field('user_url', 30, 255, html::escapeHTML($user_url), '', 8) . '</label></p>' . '<p><label>' . __('Preferred format:') . ' ' . form::combo('user_post_format', $formaters_combo, $user_options['post_format'], '', 9) . '</label></p>' . '<p><label>' . __('Default entry status:') . ' ' . form::combo('user_post_status', $status_combo, $user_post_status, '', 10) . '</label></p>' . '<p><label>' . __('Entry edit field height:') . ' ' . form::field('user_edit_size', 5, 4, (int) $user_options['edit_size'], '', 11) . '</label></p>' . '<p><label>' . __('User language:') . ' ' . form::combo('user_lang', $lang_combo, $user_lang, 'l10n', 12) . '</label></p>' . '<p><label>' . __('User timezone:') . ' ' . form::combo('user_tz', dt::getZones(true, true), $user_tz, '', 13) . '</label></p>' . '<p><label class="classic">' . form::checkbox('user_super', '1', $user_super, '', 14) . ' ' . __('Super administrator') . '</label></p>' . '</div>' . '</div>' . '</fieldset>';
# --BEHAVIOR-- adminUserForm
$core->callBehavior('adminUserForm', isset($rs) ? $rs : null);
echo '<fieldset>' . '<p><label>' . __('Your password:'******'your_pwd', 20, 255, '', '', 15) . '</label></p>' . '</fieldset>' . '<p class="clear"><input type="submit" accesskey="s" value="' . __('Save') . '" tabindex="16" />' . ($user_id != '' ? form::hidden('id', $user_id) : '') . $core->formNonce() . '</p>' . '</form>';
if ($user_id) {
Ejemplo n.º 10
0
            $core->adminurl->redirect("admin.categories");
        }
    } catch (Exception $e) {
        $core->error->add($e->getMessage());
    }
}
$title = $cat_id ? html::escapeHTML($cat_title) : __('New category');
$elements = array(html::escapeHTML($core->blog->name) => '', __('Categories') => $core->adminurl->get("admin.categories"));
if ($cat_id) {
    while ($parents->fetch()) {
        $elements[html::escapeHTML($parents->cat_title)] = $core->adminurl->get("admin.category", array('id' => $parents->cat_id));
    }
}
$elements[$title] = '';
$category_editor = $core->auth->getOption('editor');
dcPage::open($title, dcPage::jsConfirmClose('category-form') . dcPage::jsLoad('js/_category.js') . $core->callBehavior('adminPostEditor', $category_editor['xhtml'], 'category', array('#cat_desc'), 'xhtml'), dcPage::breadcrumb($elements));
if (!empty($_GET['upd'])) {
    dcPage::success(__('Category has been successfully updated.'));
}
echo '<form action="' . $core->adminurl->get("admin.category") . '" method="post" id="category-form">' . '<h3>' . __('Category information') . '</h3>' . '<p><label class="required" for="cat_title"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Name:') . '</label> ' . form::field('cat_title', 40, 255, html::escapeHTML($cat_title)) . '</p>';
if (!$cat_id) {
    $rs = $core->blog->getCategories(array('post_type' => 'post'));
    echo '<p><label for="new_cat_parent">' . __('Parent:') . ' ' . '<select id="new_cat_parent" name="new_cat_parent" >' . '<option value="0">' . __('(none)') . '</option>';
    while ($rs->fetch()) {
        echo '<option value="' . $rs->cat_id . '" ' . (!empty($_POST['new_cat_parent']) && $_POST['new_cat_parent'] == $rs->cat_id ? 'selected="selected"' : '') . '>' . str_repeat('&nbsp;&nbsp;', $rs->level - 1) . ($rs->level - 1 == 0 ? '' : '&bull; ') . html::escapeHTML($rs->cat_title) . '</option>';
    }
    echo '</select></label></p>';
    unset($rs);
}
echo '<div class="lockable">' . '<p><label for="cat_url">' . __('URL:') . '</label> ' . form::field('cat_url', 40, 255, html::escapeHTML($cat_url)) . '</p>' . '<p class="form-note warn" id="note-cat-url">' . __('Warning: If you set the URL manually, it may conflict with another category.') . '</p>' . '</div>' . '<p class="area"><label for="cat_desc">' . __('Description:') . '</label> ' . form::textarea('cat_desc', 50, 8, html::escapeHTML($cat_desc)) . '</p>' . '<p><input type="submit" accesskey="s" value="' . __('Save') . '" />' . ($cat_id ? form::hidden('id', $cat_id) : '') . $core->formNonce() . '</p>' . '</form>';
if ($cat_id) {
Ejemplo n.º 11
0
                }
                unset($client);
            }
            $ret_code = $core->plugins->installPackage($dest, $core->plugins);
            http::redirect('plugins.php?added=' . $ret_code);
        } catch (Exception $e) {
            $core->error->add($e->getMessage());
            $default_tab = 'addplugin';
        }
    }
}
# Plugin install
$plugins_install = $core->plugins->installModules();
/* DISPLAY Main page
-------------------------------------------------------- */
dcPage::open(__('Plugins management'), dcPage::jsLoad('js/_plugins.js') . dcPage::jsPageTabs($default_tab));
echo '<h2>' . __('Plugins management') . '</h2>';
if (!empty($_GET['removed'])) {
    echo '<p class="message">' . __('Plugin has been successfully deleted.') . '</p>';
}
if (!empty($_GET['added'])) {
    echo '<p class="message">' . ($_GET['added'] == 2 ? __('Plugin has been successfully upgraded') : __('Plugin has been successfully installed.')) . '</p>';
}
# Plugins install messages
if (!empty($plugins_install['success'])) {
    echo '<div class="static-msg">' . __('Following plugins have been installed:') . '<ul>';
    foreach ($plugins_install['success'] as $k => $v) {
        echo '<li>' . $k . '</li>';
    }
    echo '</ul></div>';
}
Ejemplo n.º 12
0
                $latest_news .= '<dt>' . $dt . '</dt>' . '<dd>' . dt::dt2str('%d %B %Y', $item->pubdate, 'Europe/Paris') . '</dd>';
            }
            $i++;
            if ($i > 7) {
                break;
            }
        }
        $latest_news .= '</dl>';
        $__dashboard_items[1][] = $latest_news;
    }
} catch (Exception $e) {
}
$core->callBehavior('adminDashboardItems', $core, $__dashboard_items);
/* DISPLAY
-------------------------------------------------------- */
dcPage::open(__('Dashboard'), dcPage::jsToolBar() . dcPage::jsLoad('js/_index.js') . $core->callBehavior('adminDashboardHeaders'));
echo '<h2>' . html::escapeHTML($core->blog->name) . ' &rsaquo; ' . __('Dashboard');
if ($core->auth->getInfo('user_default_blog') != $core->blog->id && $core->auth->blog_count > 1) {
    echo ' - <a href="index.php?default_blog=1" class="button">' . __('Make this blog my default blog') . '</a>';
}
echo '</h2>';
if ($core->blog->status == 0) {
    echo '<p class="static-msg">' . __('This blog is offline') . '</p>';
} elseif ($core->blog->status == -1) {
    echo '<p class="static-msg">' . __('This blog is removed') . '</p>';
}
if (!DC_ADMIN_URL) {
    echo '<p class="static-msg">' . __('DC_ADMIN_URL is not defined, you should edit your configuration file.') . '</p>';
}
# Plugins install messages
if (!empty($plugins_install['success'])) {
Ejemplo n.º 13
0
    $rsStatic = $rs->toStatic();
    if ($sortby != 'nb_post') {
        // Sort user list using lexical order if necessary
        $rsStatic->extend('rsExtUser');
        $rsStatic = $rsStatic->toExtStatic();
        $rsStatic->lexicalSort($sortby, $order);
    }
    $user_list = new adminUserList($core, $rsStatic, $counter->f(0));
} catch (Exception $e) {
    $core->error->add($e->getMessage());
}
/* DISPLAY
-------------------------------------------------------- */
$form_filter_title = __('Show filters and display options');
$starting_script = dcPage::jsLoad('js/_users.js');
$starting_script .= dcPage::jsLoad('js/filter-controls.js');
$starting_script .= '<script type="text/javascript">' . "\n" . "//<![CDATA[" . "\n" . dcPage::jsVar('dotclear.msg.show_filters', $show_filters ? 'true' : 'false') . "\n" . dcPage::jsVar('dotclear.msg.filter_posts_list', $form_filter_title) . "\n" . dcPage::jsVar('dotclear.msg.cancel_the_filter', __('Cancel filters and display options')) . "\n" . "//]]>" . "</script>";
dcPage::open(__('Users'), $starting_script, dcPage::breadcrumb(array(__('System') => '', __('Users') => '')));
if (!$core->error->flag()) {
    if (!empty($_GET['del'])) {
        dcPage::message(__('User has been successfully removed.'));
    }
    if (!empty($_GET['upd'])) {
        dcPage::message(__('The permissions have been successfully updated.'));
    }
    echo '<p class="top-add"><strong><a class="button add" href="' . $core->adminurl->get("admin.user") . '">' . __('New user') . '</a></strong></p>' . '<form action="' . $core->adminurl->get("admin.users") . '" method="get" id="filters-form">' . '<h3 class="out-of-screen-if-js">' . $form_filter_title . '</h3>' . '<div class="table">' . '<div class="cell">' . '<h4>' . __('Filters') . '</h4>' . '<p><label for="q" class="ib">' . __('Search:') . '</label> ' . form::field('q', 20, 255, html::escapeHTML($q)) . '</p>' . '</div>' . '<div class="cell filters-options">' . '<h4>' . __('Display options') . '</h4>' . '<p><label for="sortby" class="ib">' . __('Order by:') . '</label> ' . form::combo('sortby', $sortby_combo, $sortby) . '</p> ' . '<p><label for="order" class="ib">' . __('Sort:') . '</label> ' . form::combo('order', $order_combo, $order) . '</p>' . '<p><span class="label ib">' . __('Show') . '</span> <label for="nb" class="classic">' . form::field('nb', 3, 3, $nb_per_page) . ' ' . __('users per page') . '</label></p> ' . '</div>' . '</div>' . '<p><input type="submit" value="' . __('Apply filters and display options') . '" />' . '<br class="clear" /></p>' . '</form>';
    # Show users
    $user_list->display($page, $nb_per_page, '<form action="' . $core->adminurl->get("admin.user.actions") . '" method="post" id="form-users">' . '%s' . '<div class="two-cols">' . '<p class="col checkboxes-helpers"></p>' . '<p class="col right"><label for="action" class="classic">' . __('Selected users action:') . ' ' . form::combo('action', $combo_action) . '</label> ' . '<input type="submit" value="' . __('ok') . '" />' . form::hidden(array('q'), html::escapeHTML($q)) . form::hidden(array('sortby'), $sortby) . form::hidden(array('order'), $order) . form::hidden(array('page'), $page) . form::hidden(array('nb'), $nb_per_page) . $core->formNonce() . '</p>' . '</div>' . '</form>', $show_filters);
}
dcPage::helpBlock('core_users');
dcPage::close();
Ejemplo n.º 14
0
        } else {
            http::redirect($core->getPostAdminURL($rs->post_type, $post_id, false));
        }
    }
    $core->media = new dcMedia($core);
    $f = $core->media->getPostMedia($post_id, $media_id);
    if (empty($f)) {
        $post_id = $media_id = null;
        throw new Exception(__('This attachment does not exist'));
    }
    $f = $f[0];
} catch (Exception $e) {
    $core->error->add($e->getMessage());
}
# Remove a media from en
if ($post_id && $media_id || $core->error->flag()) {
    if (!empty($_POST['remove'])) {
        $core->media->removePostMedia($post_id, $media_id);
        dcPage::addSuccessNotice(__('Attachment has been successfully removed.'));
        http::redirect($core->getPostAdminURL($rs->post_type, $post_id, false));
    } elseif (isset($_POST['post_id'])) {
        http::redirect($core->getPostAdminURL($rs->post_type, $post_id, false));
    }
    if (!empty($_GET['remove'])) {
        dcPage::open(__('Remove attachment'));
        echo '<h2>' . __('Attachment') . ' &rsaquo; <span class="page-title">' . __('confirm removal') . '</span></h2>';
        echo '<form action="' . $core->adminurl->get("admin.post.media") . '" method="post">' . '<p>' . __('Are you sure you want to remove this attachment?') . '</p>' . '<p><input type="submit" class="reset" value="' . __('Cancel') . '" /> ' . ' &nbsp; <input type="submit" class="delete" name="remove" value="' . __('Yes') . '" />' . form::hidden('post_id', $post_id) . form::hidden('media_id', $media_id) . $core->formNonce() . '</p>' . '</form>';
        dcPage::close();
        exit;
    }
}
Ejemplo n.º 15
0
            }
        } else {
            $content .= $fc;
        }
    }
    if (trim($content) == '') {
        return $ret;
    }
    $ret['content'] = $content;
    if ($title != '') {
        $ret['title'] = $title;
    }
    return $ret;
}
$help_page = !empty($_GET['page']) ? html::escapeHTML($_GET['page']) : 'index';
$content_array = helpPage($help_page);
if ($content_array['content'] == '' || $help_page == 'index') {
    $content_array = helpPage('index');
}
if ($content_array['title'] != '') {
    $breadcrumb = dcPage::breadcrumb(array(__('Global help') => $core->adminurl->get("admin.help"), $content_array['title'] => ''));
} else {
    $breadcrumb = dcPage::breadcrumb(array(__('Global help') => ''));
}
/* DISPLAY
-------------------------------------------------------- */
dcPage::open(__('Global help'), dcPage::jsPageTabs('first-step'), $breadcrumb);
echo $content_array['content'];
// Prevents global help link display
$GLOBALS['__resources']['ctxhelp'] = true;
dcPage::close();
Ejemplo n.º 16
0
    $blog_desc = $cur->blog_desc = $_POST['blog_desc'];
    try {
        # --BEHAVIOR-- adminBeforeBlogCreate
        $core->callBehavior('adminBeforeBlogCreate', $cur, $blog_id);
        $core->addBlog($cur);
        # Default settings and override some
        $core->blogDefaults($cur->blog_id);
        $blog_settings = new dcSettings($core, $cur->blog_id);
        $blog_settings->setNameSpace('system');
        $blog_settings->put('lang', $core->auth->getInfo('user_lang'));
        $blog_settings->put('blog_timezone', $core->auth->getInfo('user_tz'));
        if (substr($blog_url, -1) == '?') {
            $blog_settings->put('url_scan', 'query_string');
        } else {
            $blog_settings->put('url_scan', 'path_info');
        }
        # --BEHAVIOR-- adminAfterBlogCreate
        $core->callBehavior('adminAfterBlogCreate', $cur, $blog_id, $blog_settings);
        http::redirect('blog.php?id=' . $cur->blog_id . '&add=1');
    } catch (Exception $e) {
        $core->error->add($e->getMessage());
    }
}
if (!empty($_REQUEST['id'])) {
    $edit_blog_mode = true;
    include dirname(__FILE__) . '/blog_pref.php';
} else {
    dcPage::open(__('New blog'), dcPage::jsConfirmClose('blog-form'));
    echo '<h2><a href="blogs.php">' . __('Blogs') . '</a> &rsaquo; ' . __('New blog') . '</h2>' . '<form action="blog.php" method="post" id="blog-form">' . '<fieldset><legend>' . __('Blog details') . '</legend>' . $core->formNonce() . '<p><label class="required" title="' . __('Required field') . '">' . __('Blog ID:') . ' ' . form::field('blog_id', 30, 32, html::escapeHTML($blog_id)) . '</label></p>' . '<p class="form-note">' . __('At least 2 characters using letters, numbers or symbols.') . ' ' . __('Please note that changing your blog ID may require changes in your public index.php file.') . '</p>' . '<p><label class="required" title="' . __('Required field') . '">' . __('Blog name:') . ' ' . form::field('blog_name', 30, 255, html::escapeHTML($blog_name)) . '</label></p>' . '<p><label class="required" title="' . __('Required field') . '">' . __('Blog URL:') . ' ' . form::field('blog_url', 30, 255, html::escapeHTML($blog_url)) . '</label></p>' . '<p class="area"><label for="blog_desc">' . __('Blog description:') . '</label> ' . form::textarea('blog_desc', 60, 5, html::escapeHTML($blog_desc)) . '</p>' . '</fieldset>' . '<p><input type="submit" accesskey="s" value="' . __('save') . '" /></p>' . '</form>';
    dcPage::close();
}
Ejemplo n.º 17
0
        $core->blog->delPost($post_id);
        http::redirect('posts.php');
    } catch (Exception $e) {
        $core->error->add($e->getMessage());
    }
}
/* DISPLAY
-------------------------------------------------------- */
$default_tab = 'edit-entry';
if (!$can_edit_post) {
    $default_tab = '';
}
if (!empty($_GET['co'])) {
    $default_tab = 'comments';
}
dcPage::open($page_title, dcPage::jsDatePicker() . dcPage::jsToolBar() . dcPage::jsModal() . dcPage::jsLoad('js/_post.js') . dcPage::jsConfirmClose('entry-form', 'comment-form') . $core->callBehavior('adminPostHeaders') . dcPage::jsPageTabs($default_tab) . $next_headlink . "\n" . $prev_headlink);
if (!empty($_GET['upd'])) {
    echo '<p class="message">' . __('Entry has been successfully updated.') . '</p>';
} elseif (!empty($_GET['crea'])) {
    echo '<p class="message">' . __('Entry has been successfully created.') . '</p>';
} elseif (!empty($_GET['attached'])) {
    echo '<p class="message">' . __('File has been successfully attached.') . '</p>';
} elseif (!empty($_GET['rmattach'])) {
    echo '<p class="message">' . __('Attachment has been successfully removed.') . '</p>';
}
if (!empty($_GET['creaco'])) {
    echo '<p class="message">' . __('Comment has been successfully created.') . '</p>';
}
# XHTML conversion
if (!empty($_GET['xconv'])) {
    $post_excerpt = $post_excerpt_xhtml;
Ejemplo n.º 18
0
if (!empty($_POST['blog_id'])) {
    try {
        $rs = $core->getBlog($_POST['blog_id']);
    } catch (Exception $e) {
        $core->error->add($e->getMessage());
    }
    if ($rs->isEmpty()) {
        $core->error->add(__('No such blog ID'));
    } else {
        $blog_id = $rs->blog_id;
    }
}
# Delete the blog
if (!$core->error->flag() && $blog_id && !empty($_POST['del'])) {
    if (!$core->auth->checkPassword(crypt::hmac(DC_MASTER_KEY, $_POST['pwd']))) {
        $core->error->add(__('Password verification failed'));
    } else {
        try {
            $core->delBlog($blog_id);
            http::redirect('blogs.php?del=1');
        } catch (Exception $e) {
            $core->error->add($e->getMessage());
        }
    }
}
dcPage::open('Delete a blog');
if (!$core->error->flag()) {
    echo '<h2>' . __('Delete a blog') . '</h2>' . '<p class="message">' . __('Warning') . '</p>' . '<p>' . sprintf(__('You are about to delete the blog %s. Every entry, comment and category will be deleted.'), '<strong>' . $blog_id . '</strong>') . '</p>' . '<p>' . __('Please give your password to confirm the blog deletion.') . '</p>';
    echo '<form action="blog_del.php" method="post">' . '<div>' . $core->formNonce() . '</div>' . '<p><label>' . __('Your password:'******' ' . form::password('pwd', 20, 255) . '</label></p>' . '<p><input type="submit" name="del" value="' . __('Delete this blog') . '" />' . form::hidden('blog_id', $blog_id) . '</p>' . '</form>';
}
dcPage::close();
Ejemplo n.º 19
0
    } elseif ($qtype == 'c') {
        $starting_scripts .= dcPage::jsLoad('js/_comments.js');
        $params['search'] = $q;
        $params['limit'] = array(($page - 1) * $nb_per_page, $nb_per_page);
        $params['no_content'] = true;
        $params['order'] = 'comment_dt DESC';
        try {
            $comments = $core->blog->getComments($params);
            $counter = $core->blog->getComments($params, true);
            $comment_list = new adminCommentList($core, $comments, $counter->f(0));
        } catch (Exception $e) {
            $core->error->add($e->getMessage());
        }
    }
}
dcPage::open(__('Search'), $starting_scripts);
echo '<h2>' . html::escapeHTML($core->blog->name) . ' &rsaquo; ' . __('Search') . '</h2>' . '<form action="search.php" method="get">' . '<fieldset><legend>' . __('Search options') . '</legend>' . '<p><label class="classic">' . __('Query:') . ' ' . form::field('q', 30, 255, html::escapeHTML($q)) . '</label> ' . '<label class="classic">' . form::radio(array('qtype'), 'p', $qtype == 'p') . ' ' . __('search entries') . '</label> ' . '<label class="classic">' . form::radio(array('qtype'), 'c', $qtype == 'c') . ' ' . __('search comments') . '</label> ' . ' <input type="submit" value="' . __('ok') . '" /></p>' . '</fieldset>' . '</form>';
if ($q && !$core->error->flag()) {
    $redir = html::escapeHTML($_SERVER['REQUEST_URI']);
    # Show posts
    if ($qtype == 'p') {
        # Actions combo box
        $combo_action = array();
        if ($core->auth->check('publish,contentadmin', $core->blog->id)) {
            $combo_action[__('publish')] = 'publish';
            $combo_action[__('unpublish')] = 'unpublish';
            $combo_action[__('schedule')] = 'schedule';
            $combo_action[__('mark as pending')] = 'pending';
        }
        $combo_action[__('change category')] = 'category';
        if ($core->auth->check('admin', $core->blog->id)) {
Ejemplo n.º 20
0
            $core->callBehavior('adminAfterCategoryUpdate', $cur, $cat_id);
            http::redirect('category.php?id=' . $_POST['id'] . '&upd=1');
        } else {
            # --BEHAVIOR-- adminBeforeCategoryCreate
            $core->callBehavior('adminBeforeCategoryCreate', $cur);
            $id = $core->blog->addCategory($cur, (int) $_POST['new_cat_parent']);
            # --BEHAVIOR-- adminAfterCategoryCreate
            $core->callBehavior('adminAfterCategoryCreate', $cur, $id);
            http::redirect('categories.php?add=1');
        }
    } catch (Exception $e) {
        $core->error->add($e->getMessage());
    }
}
$title = $cat_id ? html::escapeHTML($cat_title) : __('New category');
dcPage::open($title, dcPage::jsConfirmClose('category-form') . dcPage::jsToolBar() . dcPage::jsLoad('js/_category.js'));
if (!empty($_GET['upd'])) {
    echo '<p class="message">' . __('Category has been successfully updated.') . '</p>';
}
echo '<h2>' . html::escapeHTML($core->blog->name) . ' &rsaquo; <a href="categories.php">' . __('Categories') . '</a> &rsaquo; ';
if ($cat_id) {
    while ($parents->fetch()) {
        echo '<a href="category.php?id=' . $parents->cat_id . '">' . html::escapeHTML($parents->cat_title) . '</a>';
        echo " &rsaquo; ";
    }
}
echo $title . '</h2>';
echo '<form action="category.php" method="post" id="category-form">' . '<fieldset><legend>' . __('Category information') . '</legend>' . '<p><label class="required" title="' . __('Required field') . '">' . __('Title:') . ' ' . form::field('cat_title', 40, 255, html::escapeHTML($cat_title), '', 2) . '</label></p>';
if (!$cat_id) {
    $rs = $core->blog->getCategories(array('post_type' => 'post'));
    echo '<p><label>' . __('Parent:') . ' ' . '<select id="new_cat_parent" name="new_cat_parent" tabindex="3">' . '<option value="0">' . __('Top level') . '</option>';
Ejemplo n.º 21
0
$core->callBehavior('adminDashboardContents', $core, $__dashboard_contents);
# Editor stuff
$admin_post_behavior = '';
if ($core->auth->user_prefs->dashboard->quickentry) {
    if ($core->auth->check('usage,contentadmin', $core->blog->id)) {
        $post_format = $core->auth->getOption('post_format');
        $post_editor = $core->auth->getOption('editor');
        if ($post_editor && !empty($post_editor[$post_format])) {
            // context is not post because of tags not available
            $admin_post_behavior = $core->callBehavior('adminPostEditor', $post_editor[$post_format], 'quickentry', array('#post_content'), $post_format);
        }
    }
}
/* DISPLAY
-------------------------------------------------------- */
dcPage::open(__('Dashboard'), dcPage::jsLoad('js/_index.js') . $admin_post_behavior . $core->callBehavior('adminDashboardHeaders'), dcPage::breadcrumb(array(__('Dashboard') . ' : ' . html::escapeHTML($core->blog->name) => ''), array('home_link' => false)));
# Dotclear updates notifications
if ($core->auth->isSuperAdmin() && is_readable(DC_DIGESTS)) {
    $updater = new dcUpdate(DC_UPDATE_URL, 'dotclear', DC_UPDATE_VERSION, DC_TPL_CACHE . '/versions');
    $new_v = $updater->check(DC_VERSION);
    $version_info = $new_v ? $updater->getInfoURL() : '';
    if ($updater->getNotify() && $new_v) {
        echo '<div class="dc-update"><h3>' . sprintf(__('Dotclear %s is available!'), $new_v) . '</h3> ' . '<p><a class="button submit" href="' . $core->adminurl->get("admin.update") . '">' . sprintf(__('Upgrade now'), $new_v) . '</a> ' . '<a class="button" href="' . $core->adminurl->get("admin.update", array('hide_msg' => 1)) . '">' . __('Remind me later') . '</a>' . ($version_info ? ' </p>' . '<p class="updt-info"><a href="' . $version_info . '">' . __('Information about this version') . '</a>' : '') . '</p>' . '</div>';
    }
}
if ($core->auth->getInfo('user_default_blog') != $core->blog->id && $core->auth->getBlogCount() > 1) {
    echo '<p><a href="' . $core->adminurl->get("admin.home", array('default_blog' => 1)) . '" class="button">' . __('Make this blog my default blog') . '</a></p>';
}
if ($core->blog->status == 0) {
    echo '<p class="static-msg">' . __('This blog is offline') . '.</p>';
} elseif ($core->blog->status == -1) {
Ejemplo n.º 22
0
    dcPage::open(__('Blog appearance'), dcPage::jsPageTabs() . dcPage::jsColorPicker() . $core->callBehavior('themesToolsHeaders', $core, true), dcPage::breadcrumb(array(html::escapeHTML($core->blog->name) => '', __('Blog appearance') => $list->getURL('', false), '<span class="page-title">' . __('Theme configuration') . '</span>' => '')));
    # Display previously gathered content
    $list->displayConfiguration();
    dcPage::helpBlock('core_blog_theme_conf');
    dcPage::close();
    # Stop reading code here
    return;
}
# -- Execute actions --
try {
    $list->doActions();
} catch (Exception $e) {
    $core->error->add($e->getMessage());
}
# -- Page header --
dcPage::open(__('Themes management'), dcPage::jsLoad('js/_blog_theme.js') . dcPage::jsPageTabs() . dcPage::jsColorPicker() . $core->callBehavior('themesToolsHeaders', $core, false), dcPage::breadcrumb(array(html::escapeHTML($core->blog->name) => '', '<span class="page-title">' . __('Blog appearance') . '</span>' => '')));
# -- Display modules lists --
if ($core->auth->isSuperAdmin()) {
    # Updated modules from repo
    $modules = $list->store->get(true);
    if (!empty($modules)) {
        echo '<div class="multi-part" id="update" title="' . html::escapeHTML(__('Update themes')) . '">' . '<h3>' . html::escapeHTML(__('Update themes')) . '</h3>' . '<p>' . sprintf(__('There is one theme to update available from repository.', 'There are %s themes to update available from repository.', count($modules)), count($modules)) . '</p>';
        $list->setList('theme-update')->setTab('themes')->setModules($modules)->displayModules(array('checkbox', 'name', 'sshot', 'desc', 'author', 'version', 'current_version', 'parent'), array('update', 'delete'));
        echo '<p class="info vertical-separator">' . sprintf(__("Visit %s repository, the resources center for Dotclear."), '<a href="http://themes.dotaddict.org/galerie-dc2/">Dotaddict</a>') . '</p>' . '</div>';
    }
}
# Activated modules
$modules = $list->modules->getModules();
if (!empty($modules)) {
    echo '<div class="multi-part" id="themes" title="' . __('Installed themes') . '">' . '<h3>' . __('Installed themes') . '</h3>' . '<p>' . __('You can configure and manage installed themes from this list.') . '</p>';
    $list->setList('theme-activate')->setTab('themes')->setModules($modules)->displayModules(array('sshot', 'distrib', 'name', 'config', 'desc', 'author', 'version', 'parent'), array('select', 'behavior', 'deactivate', 'delete'));
Ejemplo n.º 23
0
    } catch (Exception $e) {
        $core->error->add($e->getMessage());
    }
}
# Reset order
if (!empty($_POST['reset'])) {
    try {
        $core->blog->resetCategoriesOrder();
        http::redirect('categories.php?reord=1');
    } catch (Exception $e) {
        $core->error->add($e->getMessage());
    }
}
/* Display
-------------------------------------------------------- */
dcPage::open(__('Categories'), dcPage::jsToolMan() . "\n" . dcPage::jsLoad('js/_categories.js'));
if (!empty($_GET['add'])) {
    echo '<p class="message">' . __('The category has been successfully created.') . '</p>';
}
if (!empty($_GET['del'])) {
    echo '<p class="message">' . __('The category has been successfully removed.') . '</p>';
}
if (!empty($_GET['reord'])) {
    echo '<p class="message">' . __('Categories have been successfully reordered.') . '</p>';
}
if (!empty($_GET['moved'])) {
    echo '<p class="message">' . __('The category has been successfully moved.') . '</p>';
}
echo '<h2>' . html::escapeHTML($core->blog->name) . ' &rsaquo; ' . __('Categories') . '</h2>';
$rs = $core->blog->getCategories(array('post_type' => 'post'));
echo '<div class="two-cols">' . '<div class="col">';
Ejemplo n.º 24
0
                $status = 1;
                break;
        }
        while ($co->fetch()) {
            try {
                $core->blog->updCommentStatus($co->comment_id, $status);
            } catch (Exception $e) {
                $core->error->add($e->getMessage());
            }
        }
        if (!$core->error->flag()) {
            http::redirect($redir);
        }
    } elseif ($action == 'delete') {
        while ($co->fetch()) {
            try {
                $core->blog->delComment($co->comment_id);
            } catch (Exception $e) {
                $core->error->add($e->getMessage());
            }
        }
        if (!$core->error->flag()) {
            http::redirect($redir);
        }
    }
}
/* DISPLAY
-------------------------------------------------------- */
dcPage::open(__('Comments'));
echo '<p><a class="back" href="' . str_replace('&', '&amp;', $redir) . '">' . __('back') . '</a></p>';
dcPage::close();
Ejemplo n.º 25
0
        $blog_settings->put('nb_comment_per_feed', $nb_comment_per_feed);
        $blog_settings->put('short_feed_items', !empty($_POST['short_feed_items']));
        if (isset($_POST['robots_policy'])) {
            $blog_settings->put('robots_policy', $_POST['robots_policy']);
        }
        # --BEHAVIOR-- adminBeforeBlogSettingsUpdate
        $core->callBehavior('adminBeforeBlogSettingsUpdate', $blog_settings);
        if ($core->auth->isSuperAdmin() && in_array($_POST['url_scan'], $url_scan_combo)) {
            $blog_settings->put('url_scan', $_POST['url_scan']);
        }
        http::redirect(sprintf($redir, $blog_id));
    } catch (Exception $e) {
        $core->error->add($e->getMessage());
    }
}
dcPage::open(__('Blog settings'), dcPage::jsConfirmClose('blog-form') . $core->callBehavior('adminBlogPreferencesHeaders') . dcPage::jsPageTabs());
if ($blog_id) {
    echo '<h2>' . (!$standalone ? '<a href="blogs.php">' . __('Blogs') . '</a> &rsaquo; ' : '') . html::escapeHTML($blog_name) . ' &rsaquo; ' . __('Blog settings') . '</h2>';
    if (!empty($_GET['add'])) {
        echo '<p class="message">' . __('Blog has been successfully created.') . '</p>';
    }
    if (!empty($_GET['upd'])) {
        echo '<p class="message">' . __('Blog has been successfully updated.') . '</p>';
    }
    echo '<div class="multi-part" id="params" title="' . __('Parameters') . '">' . '<h3>' . __('Parameters') . '</h3>' . '<form action="' . $action . '" method="post" id="blog-form">';
    echo '<fieldset><legend>' . __('Blog details') . '</legend>' . $core->formNonce();
    if ($core->auth->isSuperAdmin()) {
        echo '<p><label class="required" title="' . __('Required field') . '">' . __('Blog ID:') . form::field('blog_id', 30, 32, html::escapeHTML($blog_id)) . '</label></p>' . '<p class="form-note">' . __('At least 2 characters using letters, numbers or symbols.') . ' ' . __('Please note that changing your blog ID may require changes in your public index.php file.') . '</p>';
    }
    echo '<p><label class="required" title="' . __('Required field') . '">' . __('Blog name:') . form::field('blog_name', 30, 255, html::escapeHTML($blog_name)) . '</label></p>';
    if ($core->auth->isSuperAdmin()) {
Ejemplo n.º 26
0
            $msg = __('The following files of your Dotclear installation ' . 'have been modified so we won\'t try to update your installation. ' . 'Please try to <a href="http://dotclear.org/download">update manually</a>.');
        } elseif ($e->getCode() == dcUpdate::ERR_FILES_UNREADABLE) {
            $msg = sprintf(__('The following files of your Dotclear installation are not readable. ' . 'Please fix this or try to make a backup file named %s manually.'), '<strong>backup-' . DC_VERSION . '.zip</strong>');
        } elseif ($e->getCode() == dcUpdate::ERR_FILES_UNWRITALBE) {
            $msg = __('The following files of your Dotclear installation cannot be written. ' . 'Please fix this or try to <a href="http://dotclear.org/download">update manually</a>.');
        }
        if (isset($e->bad_files)) {
            $msg .= '<ul><li><strong>' . implode('</strong></li><li><strong>', $e->bad_files) . '</strong></li></ul>';
        }
        $core->error->add($msg);
        $core->callBehavior('adminDCUpdateException', $e);
    }
}
/* DISPLAY Main page
-------------------------------------------------------- */
dcPage::open(__('Dotclear update'), !$step ? dcPage::jsPageTabs($default_tab) . dcPage::jsLoad('js/_update.js') : '', dcPage::breadcrumb(array(__('System') => '', __('Dotclear update') => '')));
if (!$core->error->flag()) {
    if (!empty($_GET['nocache'])) {
        dcPage::success(__('Manual checking of update done successfully.'));
    }
}
if (!$step) {
    echo '<div class="multi-part" id="update" title="' . __('Dotclear update') . '">';
    if (empty($new_v)) {
        echo '<p><strong>' . __('No newer Dotclear version available.') . '</strong></p>' . '<form action="' . $p_url . '" method="get">' . '<p><input type="hidden" name="nocache" value="1" />' . '<input type="submit" value="' . __('Force checking update Dotclear') . '" /></p>' . '</form>';
    } else {
        echo '<p class="static-msg">' . sprintf(__('Dotclear %s is available.'), $new_v) . ($version_info ? ' <a href="' . $version_info . '" class="outgoing" title="' . __('Information about this version') . '">(' . __('Information about this version') . ')&nbsp;<img src="images/outgoing.png" alt=""/></a>' : '') . '</p>' . '<p>' . __('To upgrade your Dotclear installation simply click on the following button. ' . 'A backup file of your current installation will be created in your root directory.') . '</p>' . '<form action="' . $p_url . '" method="get">' . '<p><input type="hidden" name="step" value="check" />' . '<input type="submit" value="' . __('Update Dotclear') . '" /></p>' . '</form>';
    }
    echo '</div>';
    if (!empty($archives)) {
        echo '<div class="multi-part" id="files" title="' . __('Manage backup files') . '">';
Ejemplo n.º 27
0
    }
    if (!empty($_POST['delete']) && $can_delete) {
        try {
            $core->blog->delComment($comment_id);
            http::redirect($core->getPostAdminURL($rs->post_type, $rs->post_id) . '&co=1#c' . $comment_id, false);
        } catch (Exception $e) {
            $core->error->add($e->getMessage());
        }
    }
    if (!$can_edit) {
        $core->error->add(__("You can't edit this comment."));
    }
}
/* DISPLAY
-------------------------------------------------------- */
dcPage::open(__('Edit comment'), dcPage::jsConfirmClose('comment-form') . dcPage::jsToolBar() . dcPage::jsLoad('js/_comment.js'));
if ($comment_id) {
    if (!empty($_GET['upd'])) {
        echo '<p class="message">' . __('Comment has been successfully updated.') . '</p>';
    }
    $comment_mailto = '';
    if ($comment_email) {
        $comment_mailto = '<a href="mailto:' . html::escapeHTML($comment_email) . '?subject=' . rawurlencode(sprintf(__('Your comment on my blog %s'), $core->blog->name)) . '&body=' . rawurlencode(sprintf(__("Hi!\n\nYou wrote a comment on:\n%s\n\n\n"), $rs->getPostURL())) . '">' . __('Send an e-mail') . '</a>';
    }
    echo '<h2>' . html::escapeHTML($core->blog->name) . ' &rsaquo; ' . __('Edit comment') . '</h2>';
    echo '<p><a class="back" href="' . $core->getPostAdminURL($post_type, $post_id) . '&amp;co=1#c' . $comment_id . '"> ' . sprintf(__('Back to "%s"'), $post_title) . '</a></p>';
    echo '<form action="comment.php" method="post" id="comment-form">' . '<p><label>' . __('IP address:') . '</label> ' . '<a href="comments.php?ip=' . $comment_ip . '">' . $comment_ip . '</a></p>' . '<p><label>' . __('Date:') . '</label> ' . dt::dt2str(__('%Y-%m-%d %H:%M'), $comment_dt) . '</p>' . '<p><label class="required" title="' . __('Required field') . '">' . __('Author:') . form::field('comment_author', 30, 255, html::escapeHTML($comment_author)) . '</label></p>' . '<p><label>' . __('Email:') . form::field('comment_email', 30, 255, html::escapeHTML($comment_email)) . $comment_mailto . '</label></p>' . '<p><label>' . __('Web site:') . form::field('comment_site', 30, 255, html::escapeHTML($comment_site)) . '</label></p>' . '<p><label>' . __('Status:') . form::combo('comment_status', $status_combo, $comment_status, '', '', !$can_publish) . '</label></p>' . $core->callBehavior('adminAfterCommentDesc', $rs) . '<p class="area"><label for="comment_content">' . __('Comment:') . '</label> ' . form::textarea('comment_content', 50, 10, html::escapeHTML($comment_content)) . '</p>' . '<p>' . form::hidden('id', $comment_id) . $core->formNonce() . '<input type="submit" accesskey="s" name="update" value="' . __('save') . '" /> ';
    if ($can_delete) {
        echo '<input type="submit" name="delete" value="' . __('delete') . '" />';
    }
    echo '</p>' . '</form>';
Ejemplo n.º 28
0
        dcPage::addSuccessNotice(__('Favorites have been successfully updated.'));
        $core->adminurl->redirect("admin.user.preferences", array(), '#user-favorites');
    }
}
# Replace default favorites by current set (super admin only)
if (!empty($_POST['replace']) && $core->auth->isSuperAdmin()) {
    $user_favs = $core->favs->getFavoriteIDs(false);
    $core->favs->setFavoriteIDs($user_favs, true);
    if (!$core->error->flag()) {
        dcPage::addSuccessNotice(__('Default favorites have been successfully updated.'));
        $core->adminurl->redirect("admin.user.preferences", array(), '#user-favorites');
    }
}
/* DISPLAY
-------------------------------------------------------- */
dcPage::open($page_title, dcPage::jsLoad('js/_preferences.js') . ($user_acc_nodragdrop ? '' : dcPage::jsLoad('js/_preferences-dragdrop.js')) . dcPage::jsLoad('js/jquery/jquery-ui.custom.js') . dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js') . dcPage::jsLoad('js/jquery/jquery.pwstrength.js') . '<script type="text/javascript">' . "\n" . "//<![CDATA[\n" . "\$(function() {\n" . "\t\$('#new_pwd').pwstrength({texts: ['" . sprintf(__('Password strength: %s'), __('very weak')) . "', '" . sprintf(__('Password strength: %s'), __('weak')) . "', '" . sprintf(__('Password strength: %s'), __('mediocre')) . "', '" . sprintf(__('Password strength: %s'), __('strong')) . "', '" . sprintf(__('Password strength: %s'), __('very strong')) . "']});\n" . "});" . "\n//]]>\n" . "</script>\n" . dcPage::jsPageTabs($default_tab) . dcPage::jsConfirmClose('user-form') . $core->callBehavior('adminPreferencesHeaders'), dcPage::breadcrumb(array(html::escapeHTML($core->auth->userID()) => '', $page_title => '')));
# User profile
echo '<div class="multi-part" id="user-profile" title="' . __('My profile') . '">';
echo '<h3>' . __('My profile') . '</h3>' . '<form action="' . $core->adminurl->get("admin.user.preferences") . '" method="post" id="user-form">' . '<p><label for="user_name">' . __('Last Name:') . '</label>' . form::field('user_name', 20, 255, html::escapeHTML($user_name)) . '</p>' . '<p><label for="user_firstname">' . __('First Name:') . '</label>' . form::field('user_firstname', 20, 255, html::escapeHTML($user_firstname)) . '</p>' . '<p><label for="user_displayname">' . __('Display name:') . '</label>' . form::field('user_displayname', 20, 255, html::escapeHTML($user_displayname)) . '</p>' . '<p><label for="user_email">' . __('Email:') . '</label>' . form::field('user_email', 20, 255, html::escapeHTML($user_email)) . '</p>' . '<p><label for="user_url">' . __('URL:') . '</label>' . form::field('user_url', 30, 255, html::escapeHTML($user_url)) . '</p>' . '<p><label for="user_lang">' . __('Language for my interface:') . '</label>' . form::combo('user_lang', $lang_combo, $user_lang, 'l10n') . '</p>' . '<p><label for="user_tz">' . __('My timezone:') . '</label>' . form::combo('user_tz', dt::getZones(true, true), $user_tz) . '</p>';
if ($core->auth->allowPassChange()) {
    echo '<h4 class="vertical-separator pretty-title">' . __('Change my password') . '</h4>' . '<div class="pw-table">' . '<p class="pw-cell"><label for="new_pwd">' . __('New password:'******'</label>' . form::password('new_pwd', 20, 255, '', '', '', false, ' data-indicator="pwindicator" ') . '</p>' . '<div id="pwindicator">' . '    <div class="bar"></div>' . '    <p class="label no-margin"></p>' . '</div>' . '</div>' . '<p><label for="new_pwd_c">' . __('Confirm new password:'******'</label>' . form::password('new_pwd_c', 20, 255) . '</p>' . '<p><label for="cur_pwd">' . __('Your current password:'******'</label>' . form::password('cur_pwd', 20, 255) . '</p>' . '<p class="form-note warn">' . __('If you have changed your email or password you must provide your current password to save these modifications.') . '</p>';
}
echo '<p class="clear vertical-separator">' . $core->formNonce() . '<input type="submit" accesskey="s" value="' . __('Update my profile') . '" /></p>' . '</form>' . '</div>';
# User options : some from actual user profile, dashboard modules, ...
echo '<div class="multi-part" id="user-options" title="' . __('My options') . '">';
echo '<form action="' . $core->adminurl->get("admin.user.preferences") . '#user-options" method="post" id="opts-forms">' . '<h3>' . __('My options') . '</h3>';
echo '<div class="fieldset">' . '<h4>' . __('Interface') . '</h4>' . '<p><label for="user_ui_enhanceduploader" class="classic">' . form::checkbox('user_ui_enhanceduploader', 1, $user_ui_enhanceduploader) . ' ' . __('Activate enhanced uploader in media manager') . '</label></p>' . '<p><label for="user_acc_nodragdrop" class="classic">' . form::checkbox('user_acc_nodragdrop', 1, $user_acc_nodragdrop) . ' ' . __('Disable javascript powered drag and drop for ordering items') . '</label></p>' . '<p class="clear form-note">' . __('If checked, numeric fields will allow to type the elements\' ordering number.') . '</p>';
echo '<p><label for="user_ui_media_by_page" class="classic">' . __('Number of elements displayed per page in media manager:') . '</label> ' . form::field('user_ui_media_by_page', 5, 3, (int) $user_ui_media_by_page) . '</p>';
echo '<p><label for="user_ui_media_nb_last_dirs" class="classic">' . __('Number of recent folders proposed in media manager:') . '</label> ' . form::field('user_ui_media_nb_last_dirs', 5, 3, (int) $user_ui_media_nb_last_dirs) . '</p>' . '<p class="clear form-note">' . __('Leave empty to ignore, displayed only if Javascript is enabled in your browser.') . '</p>';
if ($core->auth->isSuperAdmin()) {
    echo '<p><label for="user_ui_hide_std_favicon" class="classic">' . form::checkbox('user_ui_hide_std_favicon', 1, $user_ui_hide_std_favicon) . ' ' . __('Do not use standard favicon') . '</label> ' . '<span class="clear form-note warn">' . __('This will be applied for all users') . '.</span>' . '</p>';
Ejemplo n.º 29
0
/* Get comments
-------------------------------------------------------- */
try {
    $comments = $core->blog->getComments($params);
    $counter = $core->blog->getComments($params, true);
    $comment_list = new adminCommentList($core, $comments, $counter->f(0));
} catch (Exception $e) {
    $core->error->add($e->getMessage());
}
/* DISPLAY
-------------------------------------------------------- */
$form_filter_title = __('Show filters and display options');
$starting_script = dcPage::jsLoad('js/_comments.js');
$starting_script .= dcPage::jsLoad('js/filter-controls.js');
$starting_script .= '<script type="text/javascript">' . "\n" . "//<![CDATA[" . "\n" . dcPage::jsVar('dotclear.msg.show_filters', $show_filters ? 'true' : 'false') . "\n" . dcPage::jsVar('dotclear.msg.filter_posts_list', $form_filter_title) . "\n" . dcPage::jsVar('dotclear.msg.cancel_the_filter', __('Cancel filters and display options')) . "\n" . "//]]>" . "</script>";
dcPage::open(__('Comments and trackbacks'), $starting_script, dcPage::breadcrumb(array(html::escapeHTML($core->blog->name) => '', __('Comments and trackbacks') => '')));
if (!empty($_GET['upd'])) {
    dcPage::success(__('Selected comments have been successfully updated.'));
} elseif (!empty($_GET['del'])) {
    dcPage::success(__('Selected comments have been successfully deleted.'));
}
if (!$core->error->flag()) {
    if (isset($_SESSION['comments_del_spam'])) {
        dcPage::message(__('Spam comments have been successfully deleted.'));
        unset($_SESSION['comments_del_spam']);
    }
    $spam_count = $core->blog->getComments(array('comment_status' => -2), true)->f(0);
    if ($spam_count > 0) {
        echo '<form action="' . $core->adminurl->get("admin.comments") . '" method="post" class="fieldset">';
        if (!$with_spam || $status != -2) {
            if ($spam_count == 1) {
Ejemplo n.º 30
0
try {
    $comments = $core->blog->getComments($params);
    $counter = $core->blog->getComments($params, true);
    $comment_list = new adminCommentList($core, $comments, $counter->f(0));
} catch (Exception $e) {
    $core->error->add($e->getMessage());
}
/* DISPLAY
-------------------------------------------------------- */
$starting_script = dcPage::jsLoad('js/_comments.js');
if (!$show_filters) {
    $starting_script .= dcPage::jsLoad('js/filter-controls.js');
}
# --BEHAVIOR-- adminCommentsHeaders
$starting_script .= $core->callBehavior('adminCommentsHeaders');
dcPage::open(__('Comments'), $starting_script);
echo '<h2>' . html::escapeHTML($core->blog->name) . ' &rsaquo; ' . __('Comments') . '</h2>';
if (!$core->error->flag()) {
    # Filters
    if (!$show_filters) {
        echo '<p><a id="filter-control" class="form-control" href="#">' . __('Filters') . '</a></p>';
    }
    echo '<form action="comments.php" method="get" id="filters-form">' . '<fieldset><legend>' . __('Filters') . '</legend>' . '<div class="three-cols">' . '<div class="col">' . '<label>' . __('Type:') . ' ' . form::combo('type', $type_combo, $type) . '</label> ' . '<label>' . __('Status:') . ' ' . form::combo('status', $status_combo, $status) . '</label>' . '</div>' . '<div class="col">' . '<p><label>' . __('Order by:') . ' ' . form::combo('sortby', $sortby_combo, $sortby) . '</label> ' . '<label>' . __('Sort:') . ' ' . form::combo('order', $order_combo, $order) . '</label></p>' . '<p><label class="classic">' . form::field('nb', 3, 3, $nb_per_page) . ' ' . __('Comments per page') . '</label></p>' . '</div>' . '<div class="col">' . '<p><label>' . __('Comment author:') . ' ' . form::field('author', 20, 255, html::escapeHTML($author)) . '</label>' . '<label>' . __('IP address:') . ' ' . form::field('ip', 20, 39, html::escapeHTML($ip)) . '</label></p>' . '<p><input type="submit" value="' . __('filter') . '" /></p>' . '</div>' . '</div>' . '<br class="clear" />' . '</fieldset>' . '</form>';
    if (!$with_spam) {
        $spam_count = $core->blog->getComments(array('comment_status' => -2), true)->f(0);
        if ($spam_count == 1) {
            echo '<p>' . sprintf(__('You have one spam comments.'), '<strong>' . $spam_count . '</strong>') . ' ' . '<a href="comments.php?status=-2">' . __('Show it.') . '</a></p>';
        } elseif ($spam_count > 1) {
            echo '<p>' . sprintf(__('You have %s spam comments.'), '<strong>' . $spam_count . '</strong>') . ' ' . '<a href="comments.php?status=-2">' . __('Show them.') . '</a></p>';
        }
    }