From 8c73e5da141ea76f10973936267aa726d8892ad3 Mon Sep 17 00:00:00 2001 From: Ismayil Khayredinov Date: Fri, 23 Dec 2011 16:19:23 +0100 Subject: fixes for tab rendering --- views/default/navigation/tabs.php | 92 ++++++++++++++++++++++----------------- 1 file changed, 51 insertions(+), 41 deletions(-) (limited to 'views') diff --git a/views/default/navigation/tabs.php b/views/default/navigation/tabs.php index e8fde3579..219646c64 100644 --- a/views/default/navigation/tabs.php +++ b/views/default/navigation/tabs.php @@ -5,8 +5,8 @@ * @uses string $vars['type'] horizontal || vertical - Defaults to horizontal * @uses string $vars['class'] Additional class to add to ul * @uses array $vars['tabs'] A multi-dimensional array of tab entries in the format array( - * 'title' => string, // Title of link - * 'url' => string, // URL for the link + * 'text' => string, // Title of link + * 'href' => string, // URL for the link * 'class' => string // Class of the li element * 'id' => string, // ID of the li element * 'selected' => bool // if this li element is currently selected @@ -15,58 +15,68 @@ * ) */ +$options = elgg_clean_vars($vars); + $type = elgg_extract('type', $vars, 'horizontal'); + if ($type == 'horizontal') { - $type_class = "elgg-tabs elgg-htabs"; + $options['class'] = "elgg-tabs elgg-htabs"; } else { - $type_class = "elgg-tabs elgg-vtabs"; + $options['class'] = "elgg-tabs elgg-vtabs"; } - if (isset($vars['class'])) { - $type_class = "$type_class {$vars['class']}"; + $options['class'] = "{$options['class']} {$vars['class']}"; } +unset($options['tabs']); +unset($options['type']); + +$options = elgg_format_attributes($options); + if (isset($vars['tabs']) && is_array($vars['tabs']) && !empty($vars['tabs'])) { -?> - + Date: Fri, 23 Dec 2011 23:48:53 +0100 Subject: fixes spacing. add a note on text/title --- views/default/navigation/tabs.php | 77 +++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 39 deletions(-) (limited to 'views') diff --git a/views/default/navigation/tabs.php b/views/default/navigation/tabs.php index 219646c64..6159fbfa5 100644 --- a/views/default/navigation/tabs.php +++ b/views/default/navigation/tabs.php @@ -5,7 +5,7 @@ * @uses string $vars['type'] horizontal || vertical - Defaults to horizontal * @uses string $vars['class'] Additional class to add to ul * @uses array $vars['tabs'] A multi-dimensional array of tab entries in the format array( - * 'text' => string, // Title of link + * 'text' => string, // The string between the tags. If not set, 'title' parameter will be used instead * 'href' => string, // URL for the link * 'class' => string // Class of the li element * 'id' => string, // ID of the li element @@ -14,7 +14,6 @@ * 'url_id' => string, // ID to pass to the link * ) */ - $options = elgg_clean_vars($vars); $type = elgg_extract('type', $vars, 'horizontal'); @@ -34,49 +33,49 @@ unset($options['type']); $options = elgg_format_attributes($options); if (isset($vars['tabs']) && is_array($vars['tabs']) && !empty($vars['tabs'])) { - ?> - + Date: Fri, 23 Dec 2011 22:01:18 -0500 Subject: Fixes #4186 restricting the drag handle for widgets --- js/lib/ui.widgets.js | 2 +- views/default/css/admin.php | 3 +++ views/default/css/elements/modules.php | 2 +- views/default/object/widget.php | 3 ++- 4 files changed, 7 insertions(+), 3 deletions(-) (limited to 'views') diff --git a/js/lib/ui.widgets.js b/js/lib/ui.widgets.js index 47e43c876..6114aeacd 100644 --- a/js/lib/ui.widgets.js +++ b/js/lib/ui.widgets.js @@ -15,7 +15,7 @@ elgg.ui.widgets.init = function() { $(".elgg-widgets").sortable({ items: 'div.elgg-module-widget.elgg-state-draggable', connectWith: '.elgg-widgets', - handle: 'div.elgg-head', + handle: '.elgg-widget-handle', forcePlaceholderSize: true, placeholder: 'elgg-widget-placeholder', opacity: 0.8, diff --git a/views/default/css/admin.php b/views/default/css/admin.php index dc1b503cb..065a108b1 100644 --- a/views/default/css/admin.php +++ b/views/default/css/admin.php @@ -915,6 +915,9 @@ a.elgg-button { height: 26px; overflow: hidden; } +.elgg-module-widget.elgg-state-draggable .elgg-widget-handle { + cursor: move; +} .elgg-module-widget > .elgg-head h3 { float: left; padding: 4px 45px 0 20px; diff --git a/views/default/css/elements/modules.php b/views/default/css/elements/modules.php index 7750c208f..74092c774 100644 --- a/views/default/css/elements/modules.php +++ b/views/default/css/elements/modules.php @@ -155,7 +155,7 @@ padding: 4px 45px 0 20px; color: #666; } -.elgg-module-widget.elgg-state-draggable > .elgg-head { +.elgg-module-widget.elgg-state-draggable .elgg-widget-handle { cursor: move; } a.elgg-widget-collapse-button { diff --git a/views/default/object/widget.php b/views/default/object/widget.php index f84c44e1c..8c7ec2a03 100644 --- a/views/default/object/widget.php +++ b/views/default/object/widget.php @@ -55,8 +55,9 @@ if ($can_edit) { } $widget_header = <<
$title +

$title

$controls +
HEADER; $widget_body = << Date: Sat, 24 Dec 2011 07:45:22 -0500 Subject: Fixes #3272 added button to revert avatar --- actions/avatar/revert.php | 15 +++++++++++++++ engine/lib/users.php | 1 + languages/en.php | 4 ++++ views/default/core/avatar/upload.php | 12 ++++++++++++ 4 files changed, 32 insertions(+) create mode 100644 actions/avatar/revert.php (limited to 'views') diff --git a/actions/avatar/revert.php b/actions/avatar/revert.php new file mode 100644 index 000000000..8cff40a68 --- /dev/null +++ b/actions/avatar/revert.php @@ -0,0 +1,15 @@ +icontime); + system_message(elgg_echo('avatar:revert:success')); +} else { + register_error(elgg_echo('avatar:revert:fail')); +} + +forward(REFERER); diff --git a/engine/lib/users.php b/engine/lib/users.php index 4404f42e0..3a3756923 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1550,6 +1550,7 @@ function users_init() { elgg_register_action('friends/remove'); elgg_register_action('avatar/upload'); elgg_register_action('avatar/crop'); + elgg_register_action('avatar/revert'); elgg_register_action('profile/edit'); elgg_register_action('friends/collections/add'); diff --git a/languages/en.php b/languages/en.php index 93099c98f..2f8ab41c9 100644 --- a/languages/en.php +++ b/languages/en.php @@ -363,6 +363,7 @@ $english = array( 'avatar:preview' => 'Preview', 'avatar:upload' => 'Upload a new avatar', 'avatar:current' => 'Current avatar', + 'avatar:revert' => 'Revert your avatar to the default icon', 'avatar:crop:title' => 'Avatar cropping tool', 'avatar:upload:instructions' => "Your avatar is displayed throughout the site. You can change it as often as you'd like. (File formats accepted: GIF, JPG or PNG)", 'avatar:create:instructions' => 'Click and drag a square below to match how you want your avatar cropped. A preview will appear in the box on the right. When you are happy with the preview, click \'Create your avatar\'. This cropped version will be used throughout the site as your avatar.', @@ -371,6 +372,8 @@ $english = array( 'avatar:resize:fail' => 'Resize of the avatar failed', 'avatar:crop:success' => 'Cropping the avatar succeeded', 'avatar:crop:fail' => 'Avatar cropping failed', + 'avatar:revert:success' => 'Reverting the avatar succeeded', + 'avatar:revert:fail' => 'Avatar revert failed', 'profile:edit' => 'Edit profile', 'profile:aboutme' => "About me", @@ -840,6 +843,7 @@ $english = array( 'new' => 'New', 'add' => 'Add', 'create' => 'Create', + 'revert' => 'Revert', 'site' => 'Site', 'activity' => 'Activity', diff --git a/views/default/core/avatar/upload.php b/views/default/core/avatar/upload.php index 4aa86373a..29aa59c9c 100644 --- a/views/default/core/avatar/upload.php +++ b/views/default/core/avatar/upload.php @@ -12,6 +12,17 @@ $user_avatar = elgg_view('output/img', array( $current_label = elgg_echo('avatar:current'); +$revert_button = ''; +if ($vars['entity']->icontime) { + $revert_button = elgg_view('output/url', array( + 'text' => elgg_echo('revert'), + 'title' => elgg_echo('avatar:revert'), + 'href' => 'action/avatar/revert?guid=' . elgg_get_page_owner_guid(), + 'is_action' => true, + 'class' => 'elgg-button elgg-button-cancel mll', + )); +} + $form_params = array('enctype' => 'multipart/form-data'); $upload_form = elgg_view_form('avatar/upload', $form_params, $vars); @@ -28,6 +39,7 @@ $image = <<$current_label
$user_avatar +$revert_button HTML; $body = << Date: Sat, 31 Dec 2011 10:39:01 -0500 Subject: Fixes #4257 updates admin theme for widget menu changes --- views/default/css/admin.php | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) (limited to 'views') diff --git a/views/default/css/admin.php b/views/default/css/admin.php index 065a108b1..1620f126b 100644 --- a/views/default/css/admin.php +++ b/views/default/css/admin.php @@ -816,6 +816,27 @@ a.elgg-button { vertical-align: baseline; } +/* *************************************** + WIDGET MENU +*************************************** */ +.elgg-menu-widget > li { + position: absolute; + top: 4px; + display: inline-block; + width: 18px; + height: 18px; + padding: 2px 2px 0 0; +} +.elgg-menu-widget > .elgg-menu-item-collapse { + left: 5px; +} +.elgg-menu-widget > .elgg-menu-item-delete { + right: 5px; +} +.elgg-menu-widget > .elgg-menu-item-settings { + right: 25px; +} + /* *************************************** MORE MENUS *************************************** */ @@ -923,17 +944,8 @@ a.elgg-button { padding: 4px 45px 0 20px; color: #333; } -.elgg-module-widget > .elgg-head a { - position: absolute; - top: 4px; - display: inline-block; - width: 18px; - height: 18px; - padding: 2px 2px 0 0; -} .elgg-widget-collapse-button { - left: 5px; color: #c5c5c5; text-decoration: none; } @@ -948,12 +960,6 @@ a.elgg-widget-collapse-button:before { a.elgg-widget-collapsed:before { content: "\25BA"; } -.elgg-widget-delete-button { - right: 5px; -} -.elgg-widget-edit-button { - right: 25px; -} .elgg-module-widget > .elgg-body { border-top: 1px solid #dedede; background-color: white; -- cgit v1.2.3 From 2603dcebf460c71e4504b105f3df62b021be55e0 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Sun, 1 Jan 2012 14:39:14 -0500 Subject: Fixes #3981 adds a better pre and code style to admin theme --- views/default/css/admin.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'views') diff --git a/views/default/css/admin.php b/views/default/css/admin.php index 1620f126b..6deceb14e 100644 --- a/views/default/css/admin.php +++ b/views/default/css/admin.php @@ -106,7 +106,12 @@ a:hover { text-decoration: underline; } pre, code { - background: #EBF5FF; + background-color: #EEE; + border: 1px solid #DDD; + color: #444; + overflow: auto; + margin: 15px 0; + padding: 5px; } blockquote { background: #EBF5FF; -- cgit v1.2.3 From e04c580e7064c24104f29a8aed295381c351b4a4 Mon Sep 17 00:00:00 2001 From: cash Date: Sun, 1 Jan 2012 19:29:17 -0500 Subject: Fixes #3939 if user does not have permissions to see the name of the access collection, it is shown as "Limited" --- engine/lib/access.php | 15 ++++++--------- languages/en.php | 2 ++ views/default/output/access.php | 5 ++++- 3 files changed, 12 insertions(+), 10 deletions(-) (limited to 'views') diff --git a/engine/lib/access.php b/engine/lib/access.php index 08b9283cd..7be92fbfc 100644 --- a/engine/lib/access.php +++ b/engine/lib/access.php @@ -838,7 +838,7 @@ function elgg_list_entities_from_access_id(array $options = array()) { * * @param int $entity_access_id The entity's access id * - * @return string 'Public', 'Private', etc. or false if error. + * @return string 'Public', 'Private', etc. * @since 1.7.0 * @todo I think this probably wants get_access_array() instead of get_write_access_array(), * but those two functions return different types of arrays. @@ -849,15 +849,12 @@ function get_readable_access_level($entity_access_id) { //get the access level for object in readable string $options = get_write_access_array(); - //@todo Really? Use array_key_exists() - foreach ($options as $key => $option) { - if ($key == $access) { - $entity_acl = htmlentities($option, ENT_QUOTES, 'UTF-8'); - return $entity_acl; - break; - } + if (array_key_exists($access, $options)) { + return $options[$access]; } - return false; + + // return 'Limited' if the user does not have access to the access collection + return elgg_echo('access:limited:label'); } /** diff --git a/languages/en.php b/languages/en.php index 2f8ab41c9..acc8e0bc0 100644 --- a/languages/en.php +++ b/languages/en.php @@ -270,6 +270,8 @@ $english = array( 'PUBLIC' => "Public", 'access:friends:label' => "Friends", 'access' => "Access", + 'access:limited:label' => "Limited", + 'access:help' => "The access level", /** * Dashboard and widgets diff --git a/views/default/output/access.php b/views/default/output/access.php index 811948323..91c5c721e 100644 --- a/views/default/output/access.php +++ b/views/default/output/access.php @@ -11,6 +11,7 @@ if (isset($vars['entity']) && elgg_instanceof($vars['entity'])) { $access_id = $vars['entity']->access_id; $access_class = 'elgg-access'; $access_id_string = get_readable_access_level($access_id); + $access_id_string = htmlentities($access_id_string, ENT_QUOTES, 'UTF-8'); // if within a group or shared access collection display group name and open/closed membership status // @todo have a better way to do this instead of checking against subtype / class. @@ -35,5 +36,7 @@ if (isset($vars['entity']) && elgg_instanceof($vars['entity'])) { $access_class .= ' elgg-access-private'; } - echo "$access_id_string"; + $help_text = elgg_echo('access:help'); + + echo "$access_id_string"; } -- cgit v1.2.3 From a5d89ccf653748c471a3c62c46a02db3be4e23dc Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Mon, 2 Jan 2012 09:13:37 -0500 Subject: Fixes #4164 adds a server statistics page to admin area --- engine/lib/admin.php | 1 + languages/en.php | 12 +++++++ views/default/admin/statistics/basic.php | 19 ---------- views/default/admin/statistics/numentities.php | 40 ---------------------- views/default/admin/statistics/overview.php | 4 +-- views/default/admin/statistics/overview/basic.php | 19 ++++++++++ .../admin/statistics/overview/numentities.php | 40 ++++++++++++++++++++++ views/default/admin/statistics/server.php | 8 +++++ views/default/admin/statistics/server/php.php | 33 ++++++++++++++++++ .../default/admin/statistics/server/web_server.php | 16 +++++++++ 10 files changed, 131 insertions(+), 61 deletions(-) delete mode 100644 views/default/admin/statistics/basic.php delete mode 100644 views/default/admin/statistics/numentities.php create mode 100644 views/default/admin/statistics/overview/basic.php create mode 100644 views/default/admin/statistics/overview/numentities.php create mode 100644 views/default/admin/statistics/server.php create mode 100644 views/default/admin/statistics/server/php.php create mode 100644 views/default/admin/statistics/server/web_server.php (limited to 'views') diff --git a/engine/lib/admin.php b/engine/lib/admin.php index 1f085eee4..5a475a9f0 100644 --- a/engine/lib/admin.php +++ b/engine/lib/admin.php @@ -262,6 +262,7 @@ function admin_init() { // statistics elgg_register_admin_menu_item('administer', 'statistics', null, 20); elgg_register_admin_menu_item('administer', 'overview', 'statistics'); + elgg_register_admin_menu_item('administer', 'server', 'statistics'); // users elgg_register_admin_menu_item('administer', 'users', null, 20); diff --git a/languages/en.php b/languages/en.php index acc8e0bc0..d9149a689 100644 --- a/languages/en.php +++ b/languages/en.php @@ -568,6 +568,7 @@ $english = array( 'admin:statistics' => "Statistics", 'admin:statistics:overview' => 'Overview', + 'admin:statistics:server' => 'Server Info', 'admin:appearance' => 'Appearance', 'admin:administer_utilities' => 'Utilities', @@ -726,6 +727,17 @@ $english = array( 'admin:statistics:label:version:release' => "Release", 'admin:statistics:label:version:version' => "Version", + 'admin:server:label:php' => 'PHP', + 'admin:server:label:web_server' => 'Web Server', + 'admin:server:label:server' => 'Server', + 'admin:server:label:log_location' => 'Log Location', + 'admin:server:label:php_version' => 'PHP version', + 'admin:server:label:php_ini' => 'PHP ini file location', + 'admin:server:label:php_log' => 'PHP Log', + 'admin:server:label:mem_avail' => 'Memory available', + 'admin:server:label:mem_used' => 'Memory used', + 'admin:server:error_log' => "Web server's error log", + 'admin:user:label:search' => "Find users:", 'admin:user:label:searchbutton' => "Search", diff --git a/views/default/admin/statistics/basic.php b/views/default/admin/statistics/basic.php deleted file mode 100644 index 2c9b3b88e..000000000 --- a/views/default/admin/statistics/basic.php +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - -
: - , -
: /
\ No newline at end of file diff --git a/views/default/admin/statistics/numentities.php b/views/default/admin/statistics/numentities.php deleted file mode 100644 index af4ae2773..000000000 --- a/views/default/admin/statistics/numentities.php +++ /dev/null @@ -1,40 +0,0 @@ - - - $entry) { - arsort($entry); - foreach ($entry as $a => $b) { - - //This function controls the alternating class - $even_odd = ( 'odd' != $even_odd ) ? 'odd' : 'even'; - - if ($a == "__base__") { - $a = elgg_echo("item:{$k}"); - if (empty($a)) - $a = $k; - } else { - if (empty($a)) { - $a = elgg_echo("item:{$k}"); - } else { - $a = elgg_echo("item:{$k}:{$a}"); - } - - if (empty($a)) { - $a = "$k $a"; - } - } - - echo <<< END - - - - -END; - } - } -?> -
{$a}:{$b}
diff --git a/views/default/admin/statistics/overview.php b/views/default/admin/statistics/overview.php index 2f5b25121..ac5aaac36 100644 --- a/views/default/admin/statistics/overview.php +++ b/views/default/admin/statistics/overview.php @@ -8,6 +8,6 @@ echo elgg_view('admin/statistics/extend'); -echo elgg_view_module('inline', elgg_echo('admin:statistics:label:basic'), elgg_view('admin/statistics/basic')); +echo elgg_view_module('inline', elgg_echo('admin:statistics:label:basic'), elgg_view('admin/statistics/overview/basic')); -echo elgg_view_module('inline', elgg_echo('admin:statistics:label:numentities'), elgg_view('admin/statistics/numentities')); \ No newline at end of file +echo elgg_view_module('inline', elgg_echo('admin:statistics:label:numentities'), elgg_view('admin/statistics/overview/numentities')); diff --git a/views/default/admin/statistics/overview/basic.php b/views/default/admin/statistics/overview/basic.php new file mode 100644 index 000000000..2c9b3b88e --- /dev/null +++ b/views/default/admin/statistics/overview/basic.php @@ -0,0 +1,19 @@ + + + + + + + + + + +
: - , -
: /
\ No newline at end of file diff --git a/views/default/admin/statistics/overview/numentities.php b/views/default/admin/statistics/overview/numentities.php new file mode 100644 index 000000000..af4ae2773 --- /dev/null +++ b/views/default/admin/statistics/overview/numentities.php @@ -0,0 +1,40 @@ + + + $entry) { + arsort($entry); + foreach ($entry as $a => $b) { + + //This function controls the alternating class + $even_odd = ( 'odd' != $even_odd ) ? 'odd' : 'even'; + + if ($a == "__base__") { + $a = elgg_echo("item:{$k}"); + if (empty($a)) + $a = $k; + } else { + if (empty($a)) { + $a = elgg_echo("item:{$k}"); + } else { + $a = elgg_echo("item:{$k}:{$a}"); + } + + if (empty($a)) { + $a = "$k $a"; + } + } + + echo <<< END + + + + +END; + } + } +?> +
{$a}:{$b}
diff --git a/views/default/admin/statistics/server.php b/views/default/admin/statistics/server.php new file mode 100644 index 000000000..9d21addc1 --- /dev/null +++ b/views/default/admin/statistics/server.php @@ -0,0 +1,8 @@ + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
diff --git a/views/default/admin/statistics/server/web_server.php b/views/default/admin/statistics/server/web_server.php new file mode 100644 index 000000000..904a54f4b --- /dev/null +++ b/views/default/admin/statistics/server/web_server.php @@ -0,0 +1,16 @@ + + + + + + + + + + +
:
:
-- cgit v1.2.3 From 1bd4a6e422e17043b6fd05b1dfcc7f6f71bd2fcc Mon Sep 17 00:00:00 2001 From: cash Date: Wed, 4 Jan 2012 21:31:53 -0500 Subject: updated options on navigation/tabs --- mod/embed/views/default/navigation/menu/embed.php | 2 +- views/default/navigation/tabs.php | 24 +++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) (limited to 'views') diff --git a/mod/embed/views/default/navigation/menu/embed.php b/mod/embed/views/default/navigation/menu/embed.php index 1a6a18f05..bca673f59 100644 --- a/mod/embed/views/default/navigation/menu/embed.php +++ b/mod/embed/views/default/navigation/menu/embed.php @@ -10,7 +10,7 @@ foreach ($vars['menu']['default'] as $menu_item) { $tabs[] = array( 'title' => $menu_item->getText(), 'url' => 'embed/tab/' . $menu_item->getName(), - 'url_class' => 'embed-section', + 'link_class' => 'embed-section', 'selected' => $menu_item->getSelected(), ); } diff --git a/views/default/navigation/tabs.php b/views/default/navigation/tabs.php index 6159fbfa5..95e3f2669 100644 --- a/views/default/navigation/tabs.php +++ b/views/default/navigation/tabs.php @@ -5,13 +5,13 @@ * @uses string $vars['type'] horizontal || vertical - Defaults to horizontal * @uses string $vars['class'] Additional class to add to ul * @uses array $vars['tabs'] A multi-dimensional array of tab entries in the format array( - * 'text' => string, // The string between the tags. If not set, 'title' parameter will be used instead + * 'text' => string, // The string between the tags * 'href' => string, // URL for the link * 'class' => string // Class of the li element * 'id' => string, // ID of the li element - * 'selected' => bool // if this li element is currently selected - * 'url_class' => string, // Class to pass to the link - * 'url_id' => string, // ID to pass to the link + * 'selected' => bool // if this tab is currently selected (applied to li element) + * 'link_class' => string, // Class to pass to the link + * 'link_id' => string, // ID to pass to the link * ) */ $options = elgg_clean_vars($vars); @@ -30,11 +30,11 @@ if (isset($vars['class'])) { unset($options['tabs']); unset($options['type']); -$options = elgg_format_attributes($options); +$attributes = elgg_format_attributes($options); if (isset($vars['tabs']) && is_array($vars['tabs']) && !empty($vars['tabs'])) { ?> -
    > +
      > Date: Thu, 12 Jan 2012 06:58:10 -0500 Subject: added clearfix to increase the size of the area for the drag handle --- views/default/object/widget.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'views') diff --git a/views/default/object/widget.php b/views/default/object/widget.php index 8c7ec2a03..0c7994f2b 100644 --- a/views/default/object/widget.php +++ b/views/default/object/widget.php @@ -55,7 +55,7 @@ if ($can_edit) { } $widget_header = <<

      $title

      +

      $title

      $controls
      HEADER; -- cgit v1.2.3