- merge with trunk
- add snapshot from webcam for profile avatar in VCard widgetpull/16/head
-
2VERSION
-
30build.sh
-
11infos.php
-
7init.php
-
2jajax.php
-
7loader.php
-
12system/Controller/ControllerMain.php
-
3096system/Markdown.php
-
99system/RPC.php
-
16system/Utils.php
-
2system/UtilsPicture.php
-
433system/Widget/WidgetCommon.php
-
17system/Widget/WidgetWrapper.php
-
123system/Widget/widgets/About/About.php
-
4system/Widget/widgets/Account/Account.php
-
35system/Widget/widgets/Bookmark/Bookmark.php
-
1system/Widget/widgets/Bookmark/bookmark.css
-
179system/Widget/widgets/Chat/Chat.php
-
13system/Widget/widgets/Chat/chat.css
-
12system/Widget/widgets/Chat/chat.js
-
13system/Widget/widgets/ChatExt/ChatExt.php
-
6system/Widget/widgets/ChatPop/ChatPop.php
-
2system/Widget/widgets/ChatPop/chatpop.js
-
12system/Widget/widgets/Config/Config.php
-
48system/Widget/widgets/ContactInfo/ContactInfo.php
-
3system/Widget/widgets/ContactSummary/ContactSummary.php
-
35system/Widget/widgets/Explore/Explore.php
-
1system/Widget/widgets/Explore/explore.css
-
12system/Widget/widgets/Feed/Feed.php
-
2system/Widget/widgets/Help/Help.php
-
24system/Widget/widgets/Login/Login.php
-
BINsystem/Widget/widgets/Login/img/beaker.png
-
BINsystem/Widget/widgets/Login/img/envelope.png
-
BINsystem/Widget/widgets/Login/img/facebook.png
-
BINsystem/Widget/widgets/Login/img/jabber.png
-
47system/Widget/widgets/Login/login.css
-
9system/Widget/widgets/Login/login.js
-
2system/Widget/widgets/Logout/Logout.php
-
22system/Widget/widgets/Logout/logout.css
-
15system/Widget/widgets/Node/Node.php
-
8system/Widget/widgets/NodeAffiliations/NodeAffiliations.php
-
15system/Widget/widgets/NodeConfig/NodeConfig.php
-
5system/Widget/widgets/Notification/Notification.php
-
10system/Widget/widgets/Notification/notification.css
-
2system/Widget/widgets/Notifs/Notifs.php
-
60system/Widget/widgets/Notifs/notifs.css
-
5system/Widget/widgets/Poller/poller.js
-
2system/Widget/widgets/Profile/Profile.php
-
4system/Widget/widgets/ProfileData/ProfileData.php
-
23system/Widget/widgets/ProfileData/profiledata.js
-
57system/Widget/widgets/Roster/Roster.php
-
21system/Widget/widgets/Roster/roster.css
-
98system/Widget/widgets/ServerNodes/ServerNodes.php
-
10system/Widget/widgets/Syndication/Syndication.php
-
2system/Widget/widgets/Tabs/tabs.css
-
8system/Widget/widgets/Vcard/Vcard.php
-
4system/Widget/widgets/Vcard/vcard.css
-
39system/Widget/widgets/Vcard/vcard.js
-
2system/Widget/widgets/Wall/Wall.php
-
7system/XMPPtoForm.php
-
BINsystem/js/images/bold.png
-
BINsystem/js/images/center.png
-
BINsystem/js/images/h1.png
-
BINsystem/js/images/h2.png
-
BINsystem/js/images/h3.png
-
BINsystem/js/images/h4.png
-
BINsystem/js/images/help.gif
-
BINsystem/js/images/indent.png
-
BINsystem/js/images/italic.png
-
BINsystem/js/images/left.png
-
BINsystem/js/images/link.png
-
BINsystem/js/images/marker-icon.png
-
BINsystem/js/images/ol.png
-
BINsystem/js/images/outdent.png
-
BINsystem/js/images/paragraph.png
-
BINsystem/js/images/picture.png
-
BINsystem/js/images/right.png
-
BINsystem/js/images/ul.png
-
BINsystem/js/images/underline.png
-
455system/js/leaflet.css
-
8system/js/leaflet.js
-
39system/js/movim.js
-
94system/js/movimrpc.js
-
207system/js/steditor.js
-
13themes/movim/about.tpl
-
141themes/movim/css/forms.css
-
4themes/movim/css/mobile.css
-
57themes/movim/css/posts.css
-
208themes/movim/css/style2.css
-
35themes/movim/css/submitform.css
-
3themes/movim/help.tpl
-
BINthemes/movim/img/icons/button/arrow-left.png
-
BINthemes/movim/img/icons/button/arrow-right.png
-
BINthemes/movim/img/icons/button/chat.png
-
BINthemes/movim/img/icons/button/checkmark.png
-
BINthemes/movim/img/icons/button/close.png
-
BINthemes/movim/img/icons/button/comment.png
-
BINthemes/movim/img/icons/button/envelope.png
-
BINthemes/movim/img/icons/button/feed.png
-
BINthemes/movim/img/icons/button/image.png
@ -1 +1 @@ |
|||
0.7alpha2 |
|||
0.7alpha5 |
3096
system/Markdown.php
File diff suppressed because it is too large
View File
@ -0,0 +1,123 @@ |
|||
<?php |
|||
|
|||
/** |
|||
* @package Widgets |
|||
* |
|||
* @file Vcard.php |
|||
* This file is part of MOVIM. |
|||
* |
|||
* @brief A widget which display some help |
|||
* |
|||
* @author Timothée Jaussoin <edhelas_at_gmail_dot_com> |
|||
* |
|||
* @version 1.0 |
|||
* @date 3 may 2012 |
|||
* |
|||
* Copyright (C)2010 MOVIM project |
|||
* |
|||
* See COPYING for licensing information. |
|||
*/ |
|||
|
|||
class About extends WidgetBase |
|||
{ |
|||
function WidgetLoad() { |
|||
} |
|||
|
|||
function build() |
|||
{ |
|||
?>
|
|||
<div class="tabelem padded" title="<?php echo t('About'); ?>" id="about"> |
|||
<p>Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under |
|||
<a href="http://www.gnu.org/licenses/agpl-3.0.html">GNU Affero General Public License v3</a>. |
|||
</p> |
|||
<h2><?php echo t('Thanks'); ?></h2>
|
|||
<dl> |
|||
<dt>Developers</dt><dd><a href="http://edhelas.mov.im/">Jaussoin Timothée aka edhelas</a></dd> |
|||
<dt></dt><dd><a href="https://launchpad.net/~nodpounod">Ho Christine aka nodpounod</a></dd> |
|||
<dt></dt><dd><a href="https://etenil.net/">Pasquet Guillaume aka Etenil</a></dd> |
|||
<dt>Translators</dt><dd>Arabic - <a href="https://launchpad.net/~gharbeia">Ahmad Gharbeia أحمد غربية</a></dd> |
|||
<dt></dt><dd>Brazilian - <a href="https://launchpad.net/~dnieper650">millemiglia</a></dd> |
|||
<dt></dt><dd>Chinese - <a href="https://launchpad.net/~dudumomo">dudumomo</a></dd> |
|||
<dt></dt><dd>Danish - <a href="https://launchpad.net/~ole-carlsen-web">Ole Carlsen</a></dd> |
|||
<dt></dt><dd>Dutch - <a href="https://launchpad.net/~laurens-debackere">Laurens Debackere</a></dd> |
|||
<dt></dt><dd>English UK - <a href="https://launchpad.net/~kevinbeynon">Kevin Beynon</a>, <a href="https://launchpad.net/~influence-pc">Vincent</a></dd> |
|||
<dt></dt><dd>Esperanto - <a href="https://launchpad.net/~eliovir">Eliovir</a></dd> |
|||
<dt></dt><dd>Finish - <a href="https://launchpad.net/~e1484180">Timo</a></dd> |
|||
<dt></dt><dd>French - |
|||
<a href="https://launchpad.net/~hyogapag">Hyogapag</a>, |
|||
<a href="https://launchpad.net/~e1484180">Hélion du Mas des Bourboux</a>, |
|||
<a href="https://launchpad.net/~jonathanmm">JonathanMM</a>, |
|||
<a href="https://launchpad.net/~grossard-o">Ludovic Grossard</a>, |
|||
<a href="https://launchpad.net/~schoewilliam">Schoewilliam</a>, |
|||
<a href="https://launchpad.net/~influence-pc">Vincent</a>, |
|||
<a href="https://launchpad.net/~edhelas">edhelas</a>, |
|||
<a href="https://launchpad.net/~nodpounod">pou</a> |
|||
</dd> |
|||
<dt></dt><dd>German - |
|||
<a href="https://launchpad.net/~q-d">Daniel Winzen</a>, |
|||
<a href="https://launchpad.net/~jonas-ehrhard">Jonas Ehrhard</a>, |
|||
<a href="https://launchpad.net/~jonatan-zeidler-gmx">Jonatan Zeidler</a>, |
|||
<a href="https://launchpad.net/~kili4n">Kilian Holzinger</a>, |
|||
</dd> |
|||
<dt></dt><dd>Greek - |
|||
<a href="https://launchpad.net/~d-rotarou">Rotaru Dorin</a>, |
|||
<a href="https://launchpad.net/~yang-hellug">aitolos</a> |
|||
</dd> |
|||
<dt></dt><dd>Hebrew - <a href="https://launchpad.net/~genghiskhan">GenghisKhan</a></dd> |
|||
<dt></dt><dd>Hungarian - <a href="https://launchpad.net/~batisteo">Baptiste Darthenay</a></dd> |
|||
<dt></dt><dd>Italian - |
|||
<a href="https://launchpad.net/~andrea-caratti-phys">Andrea Caratti</a>, |
|||
<a href="https://launchpad.net/~giacomo-alzetta">Giacomo Alzetta</a>, |
|||
<a href="https://launchpad.net/~emailadhoc">kimj</a> |
|||
</dd> |
|||
<dt></dt><dd>Japanese - <a href="https://launchpad.net/~fdelbrayelle">Franky</a></dd> |
|||
<dt></dt><dd>Occitan (post 1500) - |
|||
<a href="https://launchpad.net/~cvalmary">Cédric VALMARY (Tot en òc)</a>, |
|||
<a href="https://launchpad.net/~caillonm">Maime</a> |
|||
</dd> |
|||
<dt></dt><dd>Portuguese - |
|||
<a href="https://launchpad.net/~jonathanmm">JonathanMM</a>, |
|||
<a href="https://launchpad.net/~dnieper650">millemiglia</a> |
|||
</dd> |
|||
<dt></dt><dd>Russian - |
|||
<a href="https://launchpad.net/~ak099">Aleksey Kabanov</a>, |
|||
<a href="https://launchpad.net/~vsharmanov">Vyacheslav Sharmanov</a>, |
|||
<a href="https://launchpad.net/~hailaga">hailaga</a>, |
|||
<a href="https://launchpad.net/~salnsg">Сергей Сальников</a>, |
|||
<a href="https://launchpad.net/~mr-filinkov">DeforaD</a> |
|||
</dd> |
|||
<dt></dt><dd>Spanish - |
|||
<a href="https://launchpad.net/~alejandrosg">Alejandro Serrano González</a>, |
|||
<a href="https://launchpad.net/~edu5800">Eduardo Alberto Calvo</a>, |
|||
<a href="https://launchpad.net/~estebanmainieri">Esteban Mainieri</a>, |
|||
<a href="https://launchpad.net/~victormezio">Oizem Mushroom</a>, |
|||
<a href="https://launchpad.net/~kaiser-715-deactivatedaccount">Ricardo Sánchez Baamonde</a>, |
|||
<a href="https://launchpad.net/~invrom">Ubuntu</a>, |
|||
<a href="https://launchpad.net/~orochiforja">orochiforja</a> |
|||
</dd> |
|||
<dt></dt><dd>Turkish - |
|||
<a href="https://launchpad.net/~basaran-caner">Caner Başaran</a>, |
|||
<a href="https://launchpad.net/~emreakca">emre akça</a> |
|||
</dd> |
|||
</dl> |
|||
|
|||
<h2><?php echo t('Software'); ?></h2>
|
|||
<dl> |
|||
<dt>Database Library</dt><dd>Modl - Movim DB Layer <a href="https://launchpad.net/modl">launchpad.net/modl</a> under AGPLv3</dd> |
|||
<dt>XMPP Library</dt><dd>Moxl - Movim XMPP Library <a href="https://launchpad.net/moxl">launchpad.net/moxl</a> under AGPLv3</dd> |
|||
</dl> |
|||
<br /> |
|||
<dl> |
|||
<dt>Map Library</dt><dd>Leaflet <a href="http://leafletjs.com/">leafletjs.com</a> under BSD</dd> |
|||
<dt>Markdown</dt><dd>Michel Fortin <a href="http://michelf.ca/projects/php-markdown/">michelf.ca</a> ©Michel Fortin</dd> |
|||
<dt>HTML Fixer</dt><dd> Giulio Pons <a href="http://www.barattalo.it">barattalo.it</a></dd> |
|||
</dl> |
|||
<h2><?php echo t('Ressources'); ?></h2>
|
|||
<dl> |
|||
<dt>Icons</dt><dd>Famfamfam <a href="http://www.famfamfam.com/">www.famfamfam.com</a> under CC BY 3.0</dd> |
|||
<dt></dt><dd>Icomoon <a href="http://keyamoon.com/">by Keyamoon</a> under CC BY 3.0</dd> |
|||
</dl> |
|||
</div> |
|||
<?php |
|||
} |
|||
} |
@ -1,5 +1,4 @@ |
|||
#explore { |
|||
margin-bottom: 2em; |
|||
background-color: #F5F5F5; |
|||
min-height: 600px; |
|||
} |
After Width: 22 | Height: 22 | Size: 316 B |
After Width: 22 | Height: 22 | Size: 336 B |
After Width: 22 | Height: 22 | Size: 259 B |
After Width: 22 | Height: 22 | Size: 616 B |
@ -1,3 +1,7 @@ |
|||
#vcard img { |
|||
margin: 0 auto; |
|||
} |
|||
|
|||
.squares, #snap{ |
|||
height:150px; |
|||
} |
Before Width: 16 | Height: 16 | Size: 304 B |
Before Width: 16 | Height: 16 | Size: 234 B |
Before Width: 16 | Height: 16 | Size: 276 B |
Before Width: 16 | Height: 16 | Size: 304 B |
Before Width: 16 | Height: 16 | Size: 306 B |
Before Width: 16 | Height: 16 | Size: 293 B |
Before Width: 20 | Height: 20 | Size: 288 B |
Before Width: 16 | Height: 16 | Size: 353 B |
Before Width: 16 | Height: 16 | Size: 223 B |
Before Width: 16 | Height: 16 | Size: 209 B |
Before Width: 16 | Height: 16 | Size: 343 B |
After Width: 25 | Height: 41 | Size: 1.7 KiB |
Before Width: 16 | Height: 16 | Size: 357 B |
Before Width: 16 | Height: 16 | Size: 351 B |
Before Width: 16 | Height: 16 | Size: 236 B |
Before Width: 16 | Height: 16 | Size: 606 B |
Before Width: 16 | Height: 16 | Size: 209 B |
Before Width: 16 | Height: 16 | Size: 344 B |
Before Width: 16 | Height: 16 | Size: 273 B |
@ -0,0 +1,455 @@ |
|||
/* required styles */ |
|||
|
|||
.leaflet-map-pane, |
|||
.leaflet-tile, |
|||
.leaflet-marker-icon, |
|||
.leaflet-marker-shadow, |
|||
.leaflet-tile-pane, |
|||
.leaflet-overlay-pane, |
|||
.leaflet-shadow-pane, |
|||
.leaflet-marker-pane, |
|||
.leaflet-popup-pane, |
|||
.leaflet-overlay-pane svg, |
|||
.leaflet-zoom-box, |
|||
.leaflet-image-layer, |
|||
.leaflet-layer { |
|||
position: absolute; |
|||
left: 0; |
|||
top: 0; |
|||
} |
|||
.leaflet-container { |
|||
overflow: hidden; |
|||
-ms-touch-action: none; |
|||
} |
|||
.leaflet-tile, |
|||
.leaflet-marker-icon, |
|||
.leaflet-marker-shadow { |
|||
-webkit-user-select: none; |
|||
-moz-user-select: none; |
|||
user-select: none; |
|||
} |
|||
.leaflet-marker-icon, |
|||
.leaflet-marker-shadow { |
|||
display: block; |
|||
} |
|||
/* map is broken in FF if you have max-width: 100% on tiles */ |
|||
.leaflet-container img { |
|||
max-width: none !important; |
|||
} |
|||
/* stupid Android 2 doesn't understand "max-width: none" properly */ |
|||
.leaflet-container img.leaflet-image-layer { |
|||
max-width: 15000px !important; |
|||
} |
|||
.leaflet-tile { |
|||
filter: inherit; |
|||
visibility: hidden; |
|||
} |
|||
.leaflet-tile-loaded { |
|||
visibility: inherit; |
|||
} |
|||
.leaflet-zoom-box { |
|||
width: 0; |
|||
height: 0; |
|||
} |
|||
|
|||
.leaflet-tile-pane { z-index: 2; } |
|||
.leaflet-objects-pane { z-index: 3; } |
|||
.leaflet-overlay-pane { z-index: 4; } |
|||
.leaflet-shadow-pane { z-index: 5; } |
|||
.leaflet-marker-pane { z-index: 6; } |
|||
.leaflet-popup-pane { z-index: 7; } |
|||
|
|||
|
|||
/* control positioning */ |
|||
|
|||
.leaflet-control { |
|||
position: relative; |
|||
z-index: 7; |
|||
pointer-events: auto; |
|||
} |
|||
.leaflet-top, |
|||
.leaflet-bottom { |
|||
position: absolute; |
|||
z-index: 1000; |
|||
pointer-events: none; |
|||
} |
|||
.leaflet-top { |
|||
top: 0; |
|||
} |
|||
.leaflet-right { |
|||
right: 0; |
|||
} |
|||
.leaflet-bottom { |
|||
bottom: 0; |
|||
} |
|||
.leaflet-left { |
|||
left: 0; |
|||
} |
|||
.leaflet-control { |
|||
float: left; |
|||
clear: both; |
|||
} |
|||
.leaflet-right .leaflet-control { |
|||
float: right; |
|||
} |
|||
.leaflet-top .leaflet-control { |
|||
margin-top: 10px; |
|||
} |
|||
.leaflet-bottom .leaflet-control { |
|||
margin-bottom: 10px; |
|||
} |
|||
.leaflet-left .leaflet-control { |
|||
margin-left: 10px; |
|||
} |
|||
.leaflet-right .leaflet-control { |
|||
margin-right: 10px; |
|||
} |
|||
|
|||
|
|||
/* zoom and fade animations */ |
|||
|
|||
.leaflet-fade-anim .leaflet-tile, |
|||
.leaflet-fade-anim .leaflet-popup { |
|||
opacity: 0; |
|||
-webkit-transition: opacity 0.2s linear; |
|||
-moz-transition: opacity 0.2s linear; |
|||
-o-transition: opacity 0.2s linear; |
|||
transition: opacity 0.2s linear; |
|||
} |
|||
.leaflet-fade-anim .leaflet-tile-loaded, |
|||
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup { |
|||
opacity: 1; |
|||
} |
|||
|
|||
.leaflet-zoom-anim .leaflet-zoom-animated { |
|||
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); |
|||
-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); |
|||
-o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1); |
|||
transition: transform 0.25s cubic-bezier(0,0,0.25,1); |
|||
} |
|||
.leaflet-zoom-anim .leaflet-tile, |
|||
.leaflet-pan-anim .leaflet-tile, |
|||
.leaflet-touching .leaflet-zoom-animated { |
|||
-webkit-transition: none; |
|||
-moz-transition: none; |
|||
-o-transition: none; |
|||
transition: none; |
|||
} |
|||
|
|||
.leaflet-zoom-anim .leaflet-zoom-hide { |
|||
visibility: hidden; |
|||
} |
|||
|
|||
|
|||
/* cursors */ |
|||
|
|||
.leaflet-clickable { |
|||
cursor: pointer; |
|||
} |
|||
.leaflet-container { |
|||
cursor: -webkit-grab; |
|||
cursor: -moz-grab; |
|||
} |
|||
.leaflet-popup-pane, |
|||
.leaflet-control { |
|||
cursor: auto; |
|||
} |
|||
.leaflet-dragging, |
|||
.leaflet-dragging .leaflet-clickable, |
|||
.leaflet-dragging .leaflet-container { |
|||
cursor: move; |
|||
cursor: -webkit-grabbing; |
|||
cursor: -moz-grabbing; |
|||
} |
|||
|
|||
|
|||
/* visual tweaks */ |
|||
|
|||
.leaflet-container { |
|||
background: #ddd; |
|||
outline: 0; |
|||
} |
|||
.leaflet-container a { |
|||
color: #0078A8; |
|||
} |
|||
.leaflet-container a.leaflet-active { |
|||
outline: 2px solid orange; |
|||
} |
|||
.leaflet-zoom-box { |
|||
border: 2px dotted #05f; |
|||
background: white; |
|||
opacity: 0.5; |
|||
} |
|||
|
|||
|
|||
/* general typography */ |
|||
.leaflet-container { |
|||
font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif; |
|||
} |
|||
|
|||
|
|||
/* general toolbar styles */ |
|||
|
|||
.leaflet-bar { |
|||
box-shadow: 0 0 8px rgba(0,0,0,0.4); |
|||
border: 1px solid #888; |
|||
-webkit-border-radius: 5px; |
|||
border-radius: 5px; |
|||
} |
|||
.leaflet-bar-part { |
|||
background-color: rgba(255, 255, 255, 0.8); |
|||
border-bottom: 1px solid #aaa; |
|||
} |
|||
.leaflet-bar-part-top { |
|||
-webkit-border-radius: 4px 4px 0 0; |
|||
border-radius: 4px 4px 0 0; |
|||
} |
|||
.leaflet-bar-part-bottom { |
|||
-webkit-border-radius: 0 0 4px 4px; |
|||
border-radius: 0 0 4px 4px; |
|||
border-bottom: none; |
|||
} |
|||
|
|||
.leaflet-touch .leaflet-bar { |
|||
-webkit-border-radius: 10px; |
|||
border-radius: 10px; |
|||
} |
|||
.leaflet-touch .leaflet-bar-part { |
|||
border-bottom: 4px solid rgba(0,0,0,0.3); |
|||
} |
|||
.leaflet-touch .leaflet-bar-part-top { |
|||
-webkit-border-radius: 7px 7px 0 0; |
|||
border-radius: 7px 7px 0 0; |
|||
} |
|||
.leaflet-touch .leaflet-bar-part-bottom { |
|||
-webkit-border-radius: 0 0 7px 7px; |
|||
border-radius: 0 0 7px 7px; |
|||
border-bottom: none; |
|||
} |
|||
|
|||
|
|||
/* zoom control */ |
|||
|
|||
.leaflet-container .leaflet-control-zoom { |
|||
margin-left: 13px; |
|||
margin-top: 12px; |
|||
} |
|||
.leaflet-control-zoom a { |
|||
width: 22px; |
|||
height: 22px; |
|||
text-align: center; |
|||
text-decoration: none; |
|||
color: black; |
|||
} |
|||
.leaflet-control-zoom a, |
|||
.leaflet-control-layers-toggle { |
|||
background-position: 50% 50%; |
|||
background-repeat: no-repeat; |
|||
display: block; |
|||
} |
|||
.leaflet-control-zoom a:hover { |
|||
background-color: #fff; |
|||
color: #777; |
|||
} |
|||
.leaflet-control-zoom-in { |
|||
font: bold 18px/24px Arial, Helvetica, sans-serif; |
|||
} |
|||
.leaflet-control-zoom-out { |
|||
font: bold 23px/20px Tahoma, Verdana, sans-serif; |
|||
} |
|||
.leaflet-control-zoom a.leaflet-control-zoom-disabled { |
|||
cursor: default; |
|||
background-color: rgba(255, 255, 255, 0.8); |
|||
color: #bbb; |
|||
} |
|||
|
|||
.leaflet-touch .leaflet-control-zoom a { |
|||
width: 30px; |
|||
height: 30px; |
|||
} |
|||
.leaflet-touch .leaflet-control-zoom-in { |
|||
font-size: 24px; |
|||
line-height: 29px; |
|||
} |
|||
.leaflet-touch .leaflet-control-zoom-out { |
|||
font-size: 28px; |
|||
line-height: 24px; |
|||
} |
|||
|
|||
/* layers control */ |
|||
|
|||
.leaflet-control-layers { |
|||
box-shadow: 0 1px 7px rgba(0,0,0,0.4); |
|||
background: #f8f8f9; |
|||
-webkit-border-radius: 8px; |
|||
border-radius: 8px; |
|||
} |
|||
.leaflet-control-layers-toggle { |
|||
background-image: url(images/layers.png); |
|||
width: 36px; |
|||
height: 36px; |
|||
} |
|||
.leaflet-touch .leaflet-control-layers-toggle { |
|||
width: 44px; |
|||
height: 44px; |
|||
} |
|||
.leaflet-control-layers .leaflet-control-layers-list, |
|||
.leaflet-control-layers-expanded .leaflet-control-layers-toggle { |
|||
display: none; |
|||
} |
|||
.leaflet-control-layers-expanded .leaflet-control-layers-list { |
|||
display: block; |
|||
position: relative; |
|||
} |
|||
.leaflet-control-layers-expanded { |
|||
padding: 6px 10px 6px 6px; |
|||
color: #333; |
|||
background: #fff; |
|||
} |
|||
.leaflet-control-layers-selector { |
|||
margin-top: 2px; |
|||
position: relative; |
|||
top: 1px; |
|||
} |
|||
.leaflet-control-layers label { |
|||
display: block; |
|||
} |
|||
.leaflet-control-layers-separator { |
|||
height: 0; |
|||
border-top: 1px solid #ddd; |
|||
margin: 5px -10px 5px -6px; |
|||
} |
|||
|
|||
|
|||
/* attribution and scale controls */ |
|||
|
|||
.leaflet-container .leaflet-control-attribution { |
|||
background-color: rgba(255, 255, 255, 0.7); |
|||
box-shadow: 0 0 5px #bbb; |
|||
margin: 0; |
|||
} |
|||
.leaflet-control-attribution, |
|||
.leaflet-control-scale-line { |
|||
padding: 0 5px; |
|||
color: #333; |
|||
} |
|||
.leaflet-container .leaflet-control-attribution, |
|||
.leaflet-container .leaflet-control-scale { |
|||
font-size: 11px; |
|||
} |
|||
.leaflet-left .leaflet-control-scale { |
|||
margin-left: 5px; |
|||
} |
|||
.leaflet-bottom .leaflet-control-scale { |
|||
margin-bottom: 5px; |
|||
} |
|||
.leaflet-control-scale-line { |
|||
border: 2px solid #777; |
|||
border-top: none; |
|||
color: black; |
|||
line-height: 1.1; |
|||
padding: 2px 5px 1px; |
|||
font-size: 11px; |
|||
text-shadow: 1px 1px 1px #fff; |
|||
background-color: rgba(255, 255, 255, 0.5); |
|||
box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.2); |
|||
white-space: nowrap; |
|||
overflow: hidden; |
|||
} |
|||
.leaflet-control-scale-line:not(:first-child) { |
|||
border-top: 2px solid #777; |
|||
border-bottom: none; |
|||
margin-top: -2px; |
|||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); |
|||
} |
|||
.leaflet-control-scale-line:not(:first-child):not(:last-child) { |
|||
border-bottom: 2px solid #777; |
|||
} |
|||
|
|||
.leaflet-touch .leaflet-control-attribution, |
|||
.leaflet-touch .leaflet-control-layers, |
|||
.leaflet-touch .leaflet-control-zoom { |
|||
box-shadow: none; |
|||
} |
|||
.leaflet-touch .leaflet-control-layers, |
|||
.leaflet-touch .leaflet-control-zoom { |
|||
border: 4px solid rgba(0,0,0,0.3); |
|||
} |
|||
|
|||
|
|||
/* popup */ |
|||
|
|||
.leaflet-popup { |
|||
position: absolute; |
|||
text-align: center; |
|||
} |
|||
.leaflet-popup-content-wrapper { |
|||
padding: 1px; |
|||
text-align: left; |
|||
} |
|||
.leaflet-popup-content { |
|||
margin: 14px 20px; |
|||
line-height: 1.4; |
|||
} |
|||
.leaflet-popup-content p { |
|||
margin: 18px 0; |
|||
} |
|||
.leaflet-popup-tip-container { |
|||
margin: 0 auto; |
|||
width: 40px; |
|||
height: 20px; |
|||
position: relative; |
|||
overflow: hidden; |
|||
} |
|||
.leaflet-popup-tip { |
|||
width: 15px; |
|||
height: 15px; |
|||
padding: 1px; |
|||
|
|||
margin: -8px auto 0; |
|||
|
|||
-webkit-transform: rotate(45deg); |
|||
-moz-transform: rotate(45deg); |
|||
-ms-transform: rotate(45deg); |
|||
-o-transform: rotate(45deg); |
|||
transform: rotate(45deg); |
|||
} |
|||
.leaflet-popup-content-wrapper, .leaflet-popup-tip { |
|||
background: white; |
|||
|
|||
box-shadow: 0 3px 14px rgba(0,0,0,0.4); |
|||
} |
|||
.leaflet-container a.leaflet-popup-close-button { |
|||
position: absolute; |
|||
top: 0; |
|||
right: 0; |
|||
padding: 4px 5px 0 0; |
|||
text-align: center; |
|||
width: 18px; |
|||
height: 14px; |
|||
font: 16px/14px Tahoma, Verdana, sans-serif; |
|||
color: #c3c3c3; |
|||
text-decoration: none; |
|||
font-weight: bold; |
|||
background: transparent; |
|||
} |
|||
.leaflet-container a.leaflet-popup-close-button:hover { |
|||
color: #999; |
|||
} |
|||
.leaflet-popup-scrolled { |
|||
overflow: auto; |
|||
border-bottom: 1px solid #ddd; |
|||
border-top: 1px solid #ddd; |
|||
} |
|||
|
|||
|
|||
/* div icon */ |
|||
|
|||
.leaflet-div-icon { |
|||
background: #fff; |
|||
border: 1px solid #666; |
|||
} |
|||
.leaflet-editing-icon { |
|||
-webkit-border-radius: 2px; |
|||
border-radius: 2px; |
|||
} |
8
system/js/leaflet.js
File diff suppressed because it is too large
View File
@ -1,207 +0,0 @@ |
|||
// +----------------------------------------------------------------+
|
|||
// | SimpleTextEditor 1.0 |
|
|||
// | Author: Cezary Tomczak [www.gosu.pl] |
|
|||
// | Free for any use as long as all copyright messages are intact. |
|
|||
// +----------------------------------------------------------------+
|
|||
|
|||
function SimpleTextEditor(id, objectId) { |
|||
if (!id || !objectId) { alert("SimpleTextEditor.constructor(id, objectId) failed, two arguments are required"); } |
|||
var self = this; |
|||
this.id = id; |
|||
this.objectId = objectId; |
|||
this.frame; |
|||
this.viewSource = false; |
|||
|
|||
this.path = "system/js/"; // with slash at the end
|
|||
this.cssFile = ""; |
|||
this.charset = "iso-8859-1"; |
|||
|
|||
this.editorHtml = ""; |
|||
this.frameHtml = ""; |
|||
|
|||
this.textareaValue = ""; |
|||
|
|||
this.browser = { |
|||
"ie": Boolean(document.body.currentStyle), |
|||
"gecko" : (navigator.userAgent.toLowerCase().indexOf("gecko") != -1) |
|||
}; |
|||
|
|||
this.init = function() { |
|||
if (document.getElementById && document.createElement && document.designMode && (this.browser.ie || this.browser.gecko)) { |
|||
// EDITOR
|
|||
if (!document.getElementById(this.id)) { alert("SimpleTextEditor "+this.objectId+".init() failed, element '"+this.id+"' does not exist"); return; } |
|||
this.textareaValue = document.getElementById(this.id).value; |
|||
var ste = document.createElement("div"); |
|||
document.getElementById(this.id).parentNode.replaceChild(ste, document.getElementById(this.id)); |
|||
ste.id = this.id+"-ste"; |
|||
ste.innerHTML = this.editorHtml ? this.editorHtml : this.getEditorHtml(); |
|||
// BUTTONS
|
|||
var buttons = ste.getElementsByTagName("td"); |
|||
for (var i = 0; i < buttons.length; ++i) { |
|||
if (buttons[i].className == "button") { |
|||
buttons[i].id = this.id+'-button-'+i; |
|||
//buttons[i].onmouseover = function() { this.className = "button"; }
|
|||
buttons[i].onmouseout = function() { this.className = this.className.replace(/button-hover(\s)?/, "button"); } |
|||
buttons[i].onclick = function(id) { return function() { this.className = "button-hover button-click"; setTimeout(function(){ document.getElementById(id).className = document.getElementById(id).className.replace(/(\s)?button-click/, ""); }, 100); } }(buttons[i].id); |
|||
} |
|||
} |
|||
// FRAME
|
|||
if (this.browser.ie) { |
|||
this.frame = frames[this.id+"-frame"]; |
|||
} else if (this.browser.gecko) { |
|||
this.frame = document.getElementById(this.id+"-frame").contentWindow; |
|||
} |
|||
this.frame.document.designMode = "on"; |
|||
this.frame.document.open(); |
|||
this.frame.document.write(this.frameHtml ? this.frameHtml : this.getFrameHtml()); |
|||
this.frame.document.close(); |
|||
insertHtmlFromTextarea(); |
|||
} |
|||
}; |
|||
|
|||
function lockUrls(s) { |
|||
if (self.browser.gecko) { return s; } |
|||
return s.replace(/href=["']([^"']*)["']/g, 'href="simpletexteditor://simpletexteditor/$1"'); |
|||
} |
|||
|
|||
function unlockUrls(s) { |
|||
if (self.browser.gecko) { return s; } |
|||
return s.replace(/href=["']simpletexteditor:\/\/simpletexteditor\/([^"']*)["']/g, 'href="$1"'); |
|||
} |
|||
|
|||
function insertHtmlFromTextarea() { |
|||
try { self.frame.document.body.innerHTML = lockUrls(self.textareaValue); } catch (e) { setTimeout(insertHtmlFromTextarea, 10); } |
|||
} |
|||
|
|||
this.getEditorHtml = function() { |
|||
var html = ""; |
|||
html += '<input type="hidden" id="'+this.id+'" name="'+this.id+'" value="" autofocus="autofocus">'; |
|||
html += '<table class="ste" cellspacing="0" cellpadding="0">'; |
|||
|
|||
html += '<div class="menueditor">'; |
|||
html += '<a class="button tiny merged left" onclick="'+this.objectId+'.execCommand(\'formatblock\', \'<h1>\');"><img src="'+this.path+'images/h1.png" alt="H1" title="H1" ></a>'; |
|||
html += '<a class="button tiny merged" onclick="'+this.objectId+'.execCommand(\'formatblock\', \'<h2>\');"><img src="'+this.path+'images/h2.png" alt="H2" title="H2" ></a>'; |
|||
html += '<a class="button tiny merged" onclick="'+this.objectId+'.execCommand(\'formatblock\', \'<h3>\');"><img src="'+this.path+'images/h3.png" alt="H3" title="H3" ></a>'; |
|||
html += '<a class="button tiny merged right" onclick="'+this.objectId+'.execCommand(\'formatblock\', \'<h4>\');"><img src="'+this.path+'images/h4.png" alt="H4" title="H4" ></a>'; |
|||
|
|||
html += '<a class="button tiny" style="margin-right: 5px;" onclick="'+this.objectId+'.execCommand(\'formatblock\', \'<p>\');"><img src="'+this.path+'images/paragraph.png" alt="Paragraph" title="Paragraph" ></a>'; |
|||
|
|||
html += '<a class="button tiny merged left" onclick="'+this.objectId+'.execCommand(\'bold\')"><img src="'+this.path+'images/bold.png" alt="Bold" title="Bold"></a>'; |
|||
html += '<a class="button tiny merged" onclick="'+this.objectId+'.execCommand(\'italic\')"><img src="'+this.path+'images/italic.png" alt="Italic" title="Italic"></a>'; |
|||
html += '<a class="button tiny merged right" onclick="'+this.objectId+'.execCommand(\'underline\')"><img src="'+this.path+'images/underline.png" alt="Underline" title="Underline"></a>'; |
|||
|
|||
html += '<a class="button tiny merged left" onclick="'+this.objectId+'.execCommand(\'justifyleft\')"><img src="'+this.path+'images/left.png" alt="Align Left" title="Align Left"></a>'; |
|||
html += '<a class="button tiny merged" onclick="'+this.objectId+'.execCommand(\'justifycenter\')"><img src="'+this.path+'images/center.png" alt="Center" title="Center"></a>'; |
|||
html += '<a class="button tiny merged right" onclick="'+this.objectId+'.execCommand(\'justifyright\')"><img src="'+this.path+'images/right.png" alt="Align Right" title="Align Right"></a>'; |
|||
|
|||
html += '<a class="button tiny merged left" onclick="'+this.objectId+'.execCommand(\'insertorderedlist\')"><img src="'+this.path+'images/ol.png" alt="Ordered List" title="Ordered List"></a>'; |
|||
html += '<a class="button tiny merged right" onclick="'+this.objectId+'.execCommand(\'insertunorderedlist\')"><img src="'+this.path+'images/ul.png" alt="Unordered List" title="Unordered List"></a>'; |
|||
|
|||
html += '<br /><a class="button tiny merged left" onclick="'+this.objectId+'.execCommand(\'outdent\')"><img src="'+this.path+'images/outdent.png" alt="Outdent" title="Outdent"></a>'; |
|||
html += '<a class="button tiny merged right" onclick="'+this.objectId+'.execCommand(\'indent\')"><img src="'+this.path+'images/indent.png" alt="Indent" title="Indent"></a>'; |
|||
|
|||
html += '<a class="button tiny merged left" onclick="'+this.objectId+'.execCommand(\'createlink\')"><img src="'+this.path+'images/link.png" alt="Insert Link" title="Insert Link"></a>'; |
|||
html += '<a class="button tiny merged right" onclick="'+this.objectId+'.execCommand(\'insertimage\')"><img src="'+this.path+'images/picture.png" alt="Insert Image" title="Insert Image"></a>'; |
|||
|
|||
html += '</div>'; |
|||
|
|||
html += '<tr><td class="frame"><iframe style="height: 50px;" id="'+this.id+'-frame" frameborder="0"></iframe></td></tr>'; |
|||
|
|||
html += '</table>'; |
|||
return html; |
|||
}; |
|||
|
|||
this.getFrameHtml = function() { |
|||
var html = ""; |
|||
html += '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'; |
|||
html += '<html><head>'; |
|||
html += '<meta http-equiv="Content-Type" content="text/html; charset='+this.charset+'">'; |
|||
html += '<title>SimpleTextEditor frame</title>'; |
|||
|
|||
html += '<style type="text/css">html,body { cursor: text; } body { margin: 0px; padding: 0; font-size: 12px; }</style>'; |
|||
html += '</head><body></body></html>'; |
|||
return html; |
|||
}; |
|||
|
|||
this.openWindow = function(url, width, height) { |
|||
var x = (screen.width/2-width/2); |
|||
var y = (screen.height/2-height/2); |
|||
window.open(url, "", "scrollbars=yes,width="+width+",height="+height+",screenX="+(x)+",screenY="+y+",left="+x+",top="+y); |
|||
}; |
|||
|
|||
this.toggleSource = function() { |
|||
var html, text; |
|||
if (this.browser.ie) { |
|||
if (!this.viewSource) { |
|||
html = this.frame.document.body.innerHTML; |
|||
this.frame.document.body.innerText = unlockUrls(html); |
|||
document.getElementById(this.id+"-buttons").style.visibility = "hidden"; |
|||
this.viewSource = true; |
|||
} else { |
|||
text = this.frame.document.body.innerText; |
|||
this.frame.document.body.innerHTML = lockUrls(text); |
|||
document.getElementById(this.id+"-buttons").style.visibility = "visible"; |
|||
this.viewSource = false; |
|||
} |
|||
} else if (this.browser.gecko) { |
|||
if (!this.viewSource) { |
|||
html = document.createTextNode(this.frame.document.body.innerHTML); |
|||
this.frame.document.body.innerHTML = ""; |
|||
this.frame.document.body.appendChild(html); |
|||
document.getElementById(this.id+"-buttons").style.visibility = "hidden"; |
|||
this.viewSource = true; |
|||
} else { |
|||
html = this.frame.document.body.ownerDocument.createRange(); |
|||
html.selectNodeContents(this.frame.document.body); |
|||
this.frame.document.body.innerHTML = html.toString(); |
|||
document.getElementById(this.id+"-buttons").style.visibility = "visible"; |
|||
this.viewSource = false; |
|||
} |
|||
} |
|||
document.getElementById(this.id+"-viewSource").checked = this.viewSource ? "checked" : ""; |
|||
document.getElementById(this.id+"-viewSource").blur(); |
|||
}; |
|||
|
|||
this.execCommand = function(cmd, value) { |
|||
if (cmd == "createlink" && !value) { |
|||
var url = prompt("Enter URL:", ""); |
|||
if (url) { |
|||
this.frame.focus(); |
|||
this.frame.document.execCommand("unlink", false, null); |
|||
if (this.browser.ie) this.frame.document.execCommand(cmd, false, "simpletexteditor://simpletexteditor/"+url); |
|||
else if (this.browser.gecko) this.frame.document.execCommand(cmd, false, url); |
|||
this.frame.focus(); |
|||
} |
|||
} else if (cmd == "insertimage" && !value) { |
|||
var imageUrl = prompt("Enter Image URL:", ""); |
|||
if (imageUrl) { |
|||
this.frame.focus(); |
|||
this.frame.document.execCommand(cmd, false, imageUrl); |
|||
this.frame.focus(); |
|||
} |
|||
} else { |
|||
this.frame.focus(); |
|||
this.frame.document.execCommand(cmd, false, value); |
|||
this.frame.focus(); |
|||
} |
|||
}; |
|||
|
|||
this.isOn = function() { |
|||
return Boolean(this.frame); |
|||
}; |
|||
|
|||
this.getContent = function() { |
|||
try { return unlockUrls(this.frame.document.body.innerHTML); } catch(e) { alert("SimpleTextEditor "+this.objectId+".getContent() failed"); } |
|||
}; |
|||
|
|||
this.submit = function() { |
|||
if (this.isOn()) { |
|||
if (this.viewSource) { this.toggleSource(); } |
|||
document.getElementById(this.id).value = this.getContent(); |
|||
} |
|||
}; |
|||
|
|||
this.clearContent = function() { |
|||
this.frame.document.body.innerHTML = ''; |
|||
}; |
|||
} |
@ -0,0 +1,13 @@ |
|||
<?php /* -*- mode: html -*- */ |
|||
?> |
|||
<div id="head"> |
|||
</div> |
|||
|
|||
<div id="main" style="margin-top: 0px;"> |
|||
<div id="left"> |
|||
</div> |
|||
|
|||
<div id="center"> |
|||
<?php $this->widget('About');?> |
|||
</div> |
|||
</div> |
After Width: 12 | Height: 12 | Size: 127 B |
After Width: 12 | Height: 12 | Size: 127 B |
After Width: 12 | Height: 12 | Size: 231 B |
After Width: 12 | Height: 12 | Size: 157 B |
After Width: 12 | Height: 12 | Size: 161 B |
After Width: 12 | Height: 12 | Size: 179 B |
After Width: 12 | Height: 12 | Size: 219 B |
After Width: 12 | Height: 12 | Size: 326 B |
After Width: 12 | Height: 12 | Size: 221 B |