Mollywhite has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/71655


Change subject: Initializing repository with BookManagerv2 files. Files taken 
from https://github.com/mollywhite/BookTest
......................................................................

Initializing repository with BookManagerv2 files.
Files taken from https://github.com/mollywhite/BookTest

Change-Id: Ic166be026df5d9e97a8b8e5ab8304727aa7b4c57
---
A .gitreview
A BookManagerv2.hooks.php
A BookManagerv2.php
A modules/ext.BookManagerv2.css
A modules/ext.BookManagerv2.js
5 files changed, 246 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BookManagerv2 
refs/changes/55/71655/1

diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..273f196
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,5 @@
+[gerrit]
+host=gerrit.wikimedia.org
+port=29418
+project=mediawiki/extensions/BookManagerv2.git
+defaultbranch=master
diff --git a/BookManagerv2.hooks.php b/BookManagerv2.hooks.php
new file mode 100644
index 0000000..63054e0
--- /dev/null
+++ b/BookManagerv2.hooks.php
@@ -0,0 +1,100 @@
+<?php
+/**
+ * Hooks for the BookManagerv2 extension
+ * 
+ * @file
+ * @ingroup Extensions
+ */
+
+class BookManagerv2Hooks {
+       
+       public static function readingInterfaceUX( $out, $prev, $next, 
$chapterList, $metadata ) {
+               
+               $html = Html::openElement( 'div', array( 'class' => 
'mw-bookmanagerv2-nav-wrap' ) )
+                       . Html::openElement( 'div', array( 'class' => 
'mw-bookmanagerv2-nav-constrain' ) )
+                       . Html::openElement( 'div', array( 'class' => 
'mw-bookmanagerv2-nav-bar' ) )
+                       . Html::openElement( 'a', array(
+                               'class' => array( 
+                                       'mw-bookmanagerv2-nav-icon',
+                                       'mw-bookmanagerv2-nav-data' )
+                               )
+                       )
+                       . Html::element( 'img', array(
+                               'class' => 'mw-bookmanagerv2-nav-data',
+                               'src' => 
'https://upload.wikimedia.org/wikipedia/commons/thumb/f/f1/Info_sign_font_awesome.svg/20px-Info_sign_font_awesome.svg.png'
+                       ), '' )
+                       . Html::closeElement( 'a' )
+                       . Html::openElement( 'a', array(
+                               'class' => array(
+                                       'mw-bookmanagerv2-nav-icon',
+                                       'mw-bookmanagerv2-nav-toc' )
+                               )
+                       )
+                       . Html::element( 'img', array(
+                               'class' => 'mw-bookmanagerv2-nav-toc',
+                               'src' => 
'https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/Ul_font_awesome.svg/20px-Ul_font_awesome.svg.png'
+                       ), '' )
+                       . Html::closeElement( 'a' )
+                       . Html::openElement( 'a', array(
+                               'class' => 'mw-bookmanagerv2-nav-prev',
+                               'href' => $prev->link )
+                       )
+                       . Html::element( 'img', array(
+                               'class' => 'mw-bookmanagerv2-nav-prev',
+                               'src' => 
'https://upload.wikimedia.org/wikipedia/commons/thumb/2/26/Chevron_left_font_awesome.svg/15px-Chevron_left_font_awesome.svg.png'
+                       ), '' )
+                       . $prev->title
+                       . Html::closeElement( 'a' )
+                       . Html::openElement( 'a', array(
+                               'class' => 'mw-bookmanagerv2-nav-next',
+                               'href' => $next->link ) 
+                       )
+                       . $next->title
+                       . Html::element( 'img', array(
+                               'class' => 'mw-bookmanagerv2-nav-next',
+                               'src' => 
'https://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Chevron_right_font_awesome.svg/15px-Chevron_right_font_awesome.svg.png'
+                       ), '' )
+                       . Html::closeElement( 'a' )
+                       . Html::closeElement( 'div' )
+                       . Html::rawElement( 'div', array( 
+                               'class' => array( 
+                                       'mw-bookmanagerv2-nav-dropdown',
+                                       'mw-bookmanagerv2-nav-data' )
+                               ),
+                               $metadata
+                       )
+                       . Html::rawElement( 'div', array(
+                               'class' => array(
+                                       'mw-bookmanagerv2-nav-dropdown',
+                                       'mw-bookmanagerv2-nav-toc' )
+                               ),
+                               $chapterList
+                       )
+                       . Html::closeElement( 'div' )
+                       . Html::closeElement( 'div' );
+                       
+                       $out->prependHTML( $html );
+       }
+
+       public static function onBeforePageDisplay( OutputPage &$out, Skin 
&$skin ) {
+               // Check that the navigation bar is only added to mainspace 
pages.
+               if ( $out->getTitle()->getNamespace() == NS_MAIN ) {
+                       if ( $out->getRevisionId() != null ) {
+                               $out->addModules( "ext.BookManagerv2" );
+                               $prev = (object) array( "link"=>"/prev.html", 
"title"=>"Previous" );
+                               $next = (object) array( "link"=>"/next.html", 
"title"=>"Next" );
+                               $chapterList = Html::element( 'p', array(), 
'Chapter 1' )
+                                       . Html::element( 'p', array(), 'Chapter 
2' )
+                                       . Html::element( 'p', array(), 'Chapter 
3' );
+                               $metadata = Html::openElement( 'p', array() )
+                                       . 'Title: '
+                                       . Html::element( 'span', array( 'class' 
=> 'title' ), 'Title' )
+                                       . Html::closeElement( 'p' )
+                                       . Html::element( 'p', array(), 'Author: 
Author');
+                               self::readingInterfaceUX( $out, $prev, $next, 
$chapterList, $metadata );
+                       }       
+               }
+               return true;
+       }
+
+}
diff --git a/BookManagerv2.php b/BookManagerv2.php
new file mode 100644
index 0000000..9bc60e8
--- /dev/null
+++ b/BookManagerv2.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * BookManagerv2 extension.
+ *
+ * @file
+ * @ingroup Extensions
+ */
+
+if ( version_compare( $wgVersion, '1.20', '<' ) ) {
+       echo "Extension:BookManagerv2 requires MediaWiki 1.20 or higher.\n";
+       exit( 1 );
+}
+
+$wgExtensionCredits['parserhook'][] = array(
+       'path'          => __FILE__,
+       'name'          => 'BookManagerv2',
+       'author'        => array( 'Molly White', 'Timo Tijhof' ),
+       'version'        => '0.0.1',
+       'url'            => '',
+       'descriptionmsg' => 'bookmanagerv2-desc',
+);
+
+/* Setup */
+
+$dir = __DIR__;
+
+// Register files
+$wgAutoloadClasses['BookManagerv2Hooks'] = $dir . '/BookManagerv2.hooks.php';
+
+// Register hooks
+$wgHooks['BeforePageDisplay'][] = 'BookManagerv2Hooks::onBeforePageDisplay';
+
+// Load resources
+$wgResourceModules['ext.BookManagerv2'] = array(
+       'scripts' => 'ext.BookManagerv2.js',
+       'styles' => 'ext.BookManagerv2.css',
+       'localBasePath' => dirname(__FILE__) . '/modules',
+       'remoteExtPath' => 'BookManagerv2/modules'
+);
diff --git a/modules/ext.BookManagerv2.css b/modules/ext.BookManagerv2.css
new file mode 100644
index 0000000..b59c61d
--- /dev/null
+++ b/modules/ext.BookManagerv2.css
@@ -0,0 +1,88 @@
+div.mw-bookmanagerv2-nav-wrap {
+       width: 100%;
+       text-align: center;
+}
+div.mw-bookmanagerv2-nav-constrain {
+       display:inline-block;
+       position: relative;
+}
+div.mw-bookmanagerv2-nav-bar {
+       display: inline-block;
+       background-color: #f5f5f5;
+       border: 1px solid #dcdcdc;
+       border-radius: 5px;
+       padding: 3px 5px;
+}
+.mw-bookmanagerv2-nav-bar p { 
+       margin: 5px 0;
+       padding: 0;
+}
+.mw-bookmanagerv2-nav-bar ol {
+       padding-left: 30px;
+}
+.mw-bookmanagerv2-nav-bar li {
+       margin: 7px 0;
+       list-style-type: upper-roman;
+}
+a.mw-bookmanagerv2-nav-icon, a.mw-bookmanagerv2-nav-icon img {
+       display: inline;
+       vertical-align: middle;
+       cursor: pointer;
+}
+.mw-bookmanagerv2-nav-bar img {
+       margin: 0 10px 2px 10px; 
+}
+img.mw-bookmanagerv2-nav-data {
+       margin-left: 5px;
+}
+img.mw-bookmanagerv2-nav-next {
+       margin-right: 5px;
+}
+a.mw-bookmanagerv2-nav-prev {
+       margin-right: 20px;
+}
+
+div.mw-bookmanagerv2-nav-dropdown {
+       position: absolute;
+       width: 300px;
+       min-height: 100px;
+       background-color: #f5f5f5;
+       border: 1px solid #dcdcdc;
+       border-radius: 5px;
+       margin-top: 8px;
+       text-align: left;
+       padding: 5px 8px;
+}
+div.mw-bookmanagerv2-nav-dropdown:after, .mw-bookmanagerv2-nav-dropdown:before 
{
+       bottom: 100%;
+       border: solid transparent;
+       content: " ";
+       height: 0;
+       width: 0;
+       position: absolute;
+       pointer-events: none;
+}
+div.mw-bookmanagerv2-nav-dropdown:after {
+       border-color: rgba(245, 245, 245, 0);
+       border-bottom-color: #f5f5f5;
+       border-width: 5px;
+       left: 50%;
+       margin-left: -140px;
+}
+div.mw-bookmanagerv2-nav-dropdown:before {
+       border-color: rgba(220, 220, 220, 0);
+       border-bottom-color: #dcdcdc;
+       border-width: 6px;
+       left: 50%;
+       margin-left: -141px;
+}
+
+div.mw-bookmanagerv2-nav-toc {
+       margin-left: 45px;
+}
+div.mw-bookmanagerv2-nav-dropdown {
+       display: none;
+}
+div.mw-bookmanagerv2-nav-dropdown .title {
+       font-style: italic;
+}
diff --git a/modules/ext.BookManagerv2.js b/modules/ext.BookManagerv2.js
new file mode 100644
index 0000000..09e1b1a
--- /dev/null
+++ b/modules/ext.BookManagerv2.js
@@ -0,0 +1,14 @@
+$(function () {
+       $('a.mw-bookmanagerv2-nav-data').click( function() {
+               if ( $('div.mw-bookmanagerv2-nav-toc').is(':visible') ) {
+                       $('div.mw-bookmanagerv2-nav-toc').hide();
+               }
+               $('div.mw-bookmanagerv2-nav-data').toggle();
+       });
+       $('a.mw-bookmanagerv2-nav-toc').click( function() {
+               if ( $('div.mw-bookmanagerv2-nav-data').is(':visible') ) {
+                       $('div.mw-bookmanagerv2-nav-data').hide();
+               }
+               $('div.mw-bookmanagerv2-nav-toc').toggle();
+       });
+});

-- 
To view, visit https://gerrit.wikimedia.org/r/71655
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic166be026df5d9e97a8b8e5ab8304727aa7b4c57
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BookManagerv2
Gerrit-Branch: master
Gerrit-Owner: Mollywhite <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to