예제 #1
0
<?php

return array('timezone' => 'Asia/Jakarta', 'charset' => 'utf-8', 'language' => 'en_US', 'language_direction' => 'ltr', 'shield' => 'normal', 'per_page' => 7, 'email_notification' => true, 'comments' => true, 'comment_moderation' => false, 'comment_notification_email' => true, 'resource_versioning' => true, 'excerpt_length' => 300, 'excerpt_tail' => '&hellip;', 'html_minifier' => true, 'html_parser' => HTML_PARSER, 'widget_year_first' => true, 'widget_include_css' => true, 'widget_include_js' => true, 'title' => 'My Awesome Site', 'title_separator' => ' &ndash; ', 'slogan' => 'Site slogan goes here.', 'description' => 'Site description goes here.', 'keywords' => 'blog, diary, notes, personal', 'spam_keywords' => "", 'author' => Guardian::get('author'), 'author_profile_url' => "", 'author_email' => Guardian::get('email'), 'index' => array('title' => 'Article', 'slug' => 'article', 'per_page' => 7), 'tag' => array('title' => 'Tagged in %s', 'slug' => 'tag', 'per_page' => 7), 'archive' => array('title' => 'Archive %s', 'slug' => 'archive', 'per_page' => 7), 'search' => array('title' => 'Search Results for &ldquo;%s&rdquo;', 'slug' => 'search', 'per_page' => 7), 'manager' => array('title' => 'Manager', 'slug' => 'manager', 'per_page' => 7), 'defaults' => array('article_title' => "", 'article_content' => "", 'article_custom_css' => "<style media=\"screen\">\n\n</style>", 'article_custom_js' => "<script>\n\n</script>", 'page_title' => "", 'page_content' => "", 'page_custom_css' => "<style media=\"screen\">\n\n</style>", 'page_custom_js' => "<script>\n\n</script>"));
예제 #2
0
                File::open($file)->moveTo(SHIELD . DS . $folder . DS . $name);
            }
            Notify::success(Config::speak('notify_file_updated', '<code>' . File::B($path) . '</code>'));
            Weapon::fire('on_shield_update', array($G, $P));
            Weapon::fire('on_shield_repair', array($G, $P));
            Guardian::kick($config->manager->slug . '/shield/' . $folder . '/repair/file:' . File::url($name));
        }
    }
    Shield::lot(array('segment' => 'shield', 'the_shield' => $folder, 'the_name' => $path, 'the_content' => $content))->attach('manager', false);
});
/**
 * Shield Killer
 * -------------
 */
Route::accept(array($config->manager->slug . '/shield/kill/id:(:any)', $config->manager->slug . '/shield/(:any)/kill/file:(:all)'), function ($folder = "", $path = false) use($config, $speak) {
    if (Guardian::get('status') !== 'pilot' || $folder === "") {
        Shield::abort();
    }
    $info = Shield::info($folder, true);
    if ($path) {
        $path = File::path($path);
        if (!($file = File::exist(SHIELD . DS . $folder . DS . $path))) {
            Shield::abort();
            // File not found!
        }
    } else {
        if (!($file = File::exist(SHIELD . DS . $folder))) {
            Shield::abort();
            // Folder not found!
        }
    }
예제 #3
0
                $new = explode(DS, $new);
                Session::set('recent_file_update', $new[0]);
                Weapon::fire('on_asset_update', array($P, $P));
                Weapon::fire('on_asset_repair', array($P, $P));
                Guardian::kick($config->manager->slug . '/asset/1' . $p);
            }
        }
    }
    Shield::lot(array('segment' => 'asset', 'the_name' => $old, 'the_content' => is_file(ASSET . DS . $old) && strpos(',' . SCRIPT_EXT . ',', ',' . File::E($old) . ',') !== false ? File::open(ASSET . DS . $old)->read() : false))->attach('manager', false);
});
/**
 * Asset Killer
 * ------------
 */
Route::accept($config->manager->slug . '/asset/kill/(file|files):(:all)', function ($path = "", $name = "") use($config, $speak) {
    if (Guardian::get('status') !== 'pilot') {
        Shield::abort();
    }
    $name = File::path($name);
    $p = Request::get('path');
    $p = $p ? '?path=' . urlencode($p) : "";
    if (strpos($name, ';') !== false) {
        $deletes = explode(';', $name);
    } else {
        if (!File::exist(ASSET . DS . $name)) {
            Shield::abort();
            // File not found!
        } else {
            $deletes = array($name);
        }
    }
예제 #4
0
  */
 Weapon::add('shield_before', function () {
     $config = Config::get();
     $speak = Config::speak();
     $total = $config->__total_comments;
     $destination = LOG . DS . 'comments.total.log';
     if ($file = File::exist($destination)) {
         $old = (int) File::open($file)->read();
         $total = $total > $old ? $total - $old : 0;
     } else {
         File::write($total)->saveTo($destination, 0600);
     }
     // Side Menu
     $menus = array($speak->article => array('icon' => 'file-text', 'url' => $config->manager->slug . '/article', 'stack' => 9.01), $speak->page => array('icon' => 'file', 'url' => $config->manager->slug . '/page', 'stack' => 9.02), $speak->tag => array('icon' => 'tags', 'url' => $config->manager->slug . '/tag', 'stack' => 9.039999999999999), $speak->asset => array('icon' => 'briefcase', 'url' => $config->manager->slug . '/asset', 'stack' => 9.06));
     // Top Menu
     $bars = array($speak->user => array('icon' => 'user', 'description' => Guardian::get('author'), 'stack' => 9), $speak->log_out => array('icon' => 'sign-out', 'url' => $config->manager->slug . '/logout', 'description' => $speak->log_out, 'stack' => 30));
     // only for `pilot`
     if (Guardian::happy(1)) {
         $menus[$speak->config] = array('icon' => 'cogs', 'url' => $config->manager->slug . '/config', 'stack' => 9);
         $menus[$speak->comment] = array('icon' => 'comments', 'url' => $config->manager->slug . '/comment', 'count' => $total, 'stack' => 9.029999999999999);
         $menus[$speak->menu] = array('icon' => 'bars', 'url' => $config->manager->slug . '/menu', 'stack' => 9.050000000000001);
         $menus[$speak->field] = array('icon' => 'th-list', 'url' => $config->manager->slug . '/field', 'stack' => 9.07);
         $menus[$speak->shortcode] = array('icon' => 'coffee', 'url' => $config->manager->slug . '/shortcode', 'stack' => 9.08);
         $menus[$speak->shield] = array('icon' => 'shield', 'url' => $config->manager->slug . '/shield', 'stack' => 9.09);
         $menus[$speak->plugin] = array('icon' => 'plug', 'url' => $config->manager->slug . '/plugin', 'stack' => 9.1);
         $menus[$speak->cache] = array('icon' => 'clock-o', 'url' => $config->manager->slug . '/cache', 'stack' => 9.109999999999999);
         $bars[$speak->config] = array('icon' => 'cog', 'url' => $config->manager->slug . '/config', 'stack' => 9.01);
         if ($errors = File::exist(ini_get('error_log'))) {
             $total = 0;
             if (filesize($errors) > MAX_ERROR_FILE_SIZE) {
                 File::open($errors)->delete();
예제 #5
0
<?php

return array('timezone' => 'Asia/Jakarta', 'charset' => 'utf-8', 'language' => 'en_US', 'language_direction' => 'ltr', 'shield' => 'normal', 'per_page' => 7, 'comments' => array('allow' => true, 'moderation' => false), 'excerpt' => array('length' => 300, 'prefix' => "", 'suffix' => '&hellip;', 'id' => 'more:%d'), 'html_parser' => array('type' => array('HTML' => 'HTML'), 'active' => 'HTML'), 'widget_include_css' => true, 'widget_include_js' => true, 'title' => 'My Awesome Site', 'title_separator' => ' &ndash; ', 'slogan' => 'Site slogan goes here.', 'description' => 'Site description goes here.', 'keywords' => 'blog, diary, notes, personal', 'keywords_spam' => "", 'author' => array('name' => Guardian::get('author'), 'email' => Guardian::get('email'), 'url' => ""), 'index' => array('title' => 'Article', 'slug' => 'article', 'per_page' => 7), 'tag' => array('title' => 'Tagged in %s', 'slug' => 'tag', 'per_page' => 7), 'archive' => array('title' => 'Archive %s', 'slug' => 'archive', 'per_page' => 7), 'search' => array('title' => 'Search for &ldquo;%s&rdquo;', 'slug' => 'search', 'per_page' => 7), 'manager' => array('title' => "", 'slug' => 'manager', 'per_page' => 7), 'defaults' => array('article_title' => "", 'article_content' => "", 'article_css' => "<style media=\"screen\">\n\n</style>", 'article_js' => "<script>\n\n</script>", 'page_title' => "", 'page_content' => "", 'page_css' => "<style media=\"screen\">\n\n</style>", 'page_js' => "<script>\n\n</script>"));
예제 #6
0
            Notify::success(Config::speak('notify_success_' . ($id ? 'updated' : 'created'), $title) . ($extension === '.txt' ? ' <a class="pull-right" href="' . call_user_func('Get::' . $segment . 'Anchor', $_)->url . '" target="_blank"><i class="fa fa-eye"></i> ' . $speak->view . '</a>' : ""));
            Weapon::fire(array('on_' . $segment . '_update', 'on_' . $segment . '_' . ($id ? 'repair' : 'construct')), array($G, $P));
            Guardian::kick($config->manager->slug . '/' . $segment . '/repair/id:' . Date::format($date, 'U'));
        }
    }
    Shield::lot(array('segment' => $segment))->attach('manager');
});
/**
 * Post Killer
 * -----------
 */
Route::accept($config->manager->slug . '/(' . $post . ')/kill/id:(:num)', function ($segment = "", $id = "") use($config, $speak, $response) {
    if (!($post = call_user_func('Get::' . $segment, $id, array('content', 'tags')))) {
        Shield::abort();
    }
    if (!Guardian::happy(1) && Guardian::get('author') !== $post->author) {
        Shield::abort();
    }
    Config::set(array('page_title' => $speak->deleting . ': ' . $post->title . $config->title_separator . $config->manager->title, 'page' => $post, 'cargo' => 'kill.post.php'));
    $G = array('data' => Mecha::A($post));
    if ($request = Request::post()) {
        Guardian::checkToken($request['token']);
        File::open($post->path)->delete();
        // Deleting response(s) ...
        if ($responses = call_user_func('Get::' . $response . 's', 'DESC', 'post:' . $id, 'txt,hold')) {
            foreach ($responses as $v) {
                File::open($v)->delete();
            }
        }
        $P = array('data' => $request);
        include __DIR__ . DS . 'task.kill.substance.php';
예제 #7
0
 Weapon::add('tab_content_2_before', function ($page, $segment) use($config, $speak) {
     $segment = $segment[0];
     include __DIR__ . DS . 'unit' . DS . 'form' . DS . 'fields[].php';
 }, 1);
 File::write($config->{'__total_' . $segment . 's'})->saveTo(LOG . DS . $segment . 's.total.log', 0600);
 if ($id && ($response = call_user_func('Get::' . $segment, $id, array('message')))) {
     if (!Guardian::happy(1)) {
         Shield::abort();
     }
     $title = $speak->editing . ': ' . ($response->permalink !== '#' ? Cell::a($response->permalink, $speak->{$segment}, true) : $speak->{$segment}) . $config->title_separator . $config->manager->title;
 } else {
     if ($id !== false) {
         Shield::abort();
         // File not found!
     }
     $response = Mecha::O(array('id' => "", 'path' => "", 'post' => "", 'parent' => "", 'state' => 'pending', 'date' => array('W3C' => ""), 'name_raw' => Guardian::get('author'), 'email' => Guardian::get('email'), 'url_raw' => "", 'status_raw' => Guardian::get('status_raw'), 'content_type_raw' => $config->html_parser->active, 'fields_raw' => array(), 'message_raw' => ""));
     $title = Config::speak('manager.title_new_', $speak->{$segment}) . $config->title_separator . $config->manager->title;
 }
 $G = array('data' => Mecha::A($response));
 Config::set(array('page_title' => $title, 'page' => $response, 'html_parser' => array('active' => $response->content_type_raw), 'cargo' => 'repair.response.php'));
 if ($request = Request::post()) {
     $request = Filter::apply('request:__' . $segment, $request, $id);
     Guardian::checkToken($request['token']);
     $rid = $id ? $id : time();
     $request['post'] = Request::post('post');
     $request['parent'] = Request::post('parent');
     $extension = $request['extension'];
     $name = $request['name'];
     $email = $request['email'];
     $url = isset($request['url']) && trim($request['url']) !== "" ? $request['url'] : false;
     $message = $request['message'];
예제 #8
0
        }
    }
    Weapon::add('SHIPMENT_REGION_BOTTOM', function () {
        echo Asset::javascript('manager/assets/sword/editor.compose.js', "", 'sword/editor.compose.min.js');
    }, 11);
    Shield::lot(array('segment' => 'page', 'default' => $page))->attach('manager', false);
});
/**
 * Page Killer
 * -----------
 */
Route::accept($config->manager->slug . '/page/kill/id:(:num)', function ($id = "") use($config, $speak) {
    if (!($page = Get::page($id, array('comments')))) {
        Shield::abort();
    }
    if (Guardian::get('status') !== 'pilot' && Guardian::get('author') !== $page->author) {
        Shield::abort();
    }
    Config::set(array('page_title' => $speak->deleting . ': ' . $page->title . $config->title_separator . $config->manager->title, 'page' => $page, 'cargo' => DECK . DS . 'workers' . DS . 'kill.page.php'));
    $G = array('data' => Mecha::A($page));
    if ($request = Request::post()) {
        Guardian::checkToken($request['token']);
        File::open($page->path)->delete();
        $task_connect = $page;
        $P = array('data' => $request);
        include DECK . DS . 'workers' . DS . 'task.field.3.php';
        include DECK . DS . 'workers' . DS . 'task.custom.3.php';
        Notify::success(Config::speak('notify_success_deleted', $page->title));
        Weapon::fire('on_page_update', array($G, $G));
        Weapon::fire('on_page_destruct', array($G, $G));
        Guardian::kick($config->manager->slug . '/page');
예제 #9
0
    ?>
</span>
        </td>
        <td>
        <?php 
    echo Form::text('name[]', $tag->name, null, array('class' => 'input-block', 'readonly' => Guardian::get('status') !== 'pilot' ? true : null));
    ?>
        </td>
        <td>
        <?php 
    echo Form::text('slug[]', $tag->slug, null, array('class' => 'input-block', 'readonly' => Guardian::get('status') !== 'pilot' ? true : null));
    ?>
        </td>
        <td>
        <?php 
    echo Form::text('description[]', Converter::toText($tag->description), null, array('class' => 'input-block', 'readonly' => Guardian::get('status') !== 'pilot' ? true : null));
    ?>
        </td>
      </tr>
      <?php 
}
?>
      <tr>
        <td class="text-right">
        <?php 
echo Form::text('id[]', max($id) + 1, null, array('class' => array('input-block', 'no-appearance'), 'autocomplete' => 'off'));
?>
        </td>
        <td>
        <?php 
echo Form::text('name[]', Guardian::wayback('name.' . (max($id) + 1)), null, array('class' => 'input-block'));