Commit 6be5d2d776ecc41eb325ebe1e2b127133b5c38c6
1 parent
1e641cb9
Exists in
master
correção no ms_criamapa.php
Showing
41 changed files
with
982 additions
and
61 deletions
Show diff stats
admin/admin.db
No preview for this file type
init/dicionario.js
| @@ -102,8 +102,8 @@ g_traducao_init = | @@ -102,8 +102,8 @@ g_traducao_init = | ||
| 102 | "8a" : [ | 102 | "8a" : [ |
| 103 | { | 103 | { |
| 104 | pt : "Com o módulo METAESTAT, um sistema de cadastramento de variáveis estatísticas, construa cartogramas com funções de agregação geográfica, temporal e diferentes classificações.", | 104 | pt : "Com o módulo METAESTAT, um sistema de cadastramento de variáveis estatísticas, construa cartogramas com funções de agregação geográfica, temporal e diferentes classificações.", |
| 105 | - en : "", | ||
| 106 | - es : "" | 105 | + en : "METAESTAT module is a system of recording statistics variables, that allows you to build cartograms with temporal and geographical aggregation functions, and various classifications.", |
| 106 | + es : "Con el módulo METAESTAT, un sistema de registro de variables estadísticas, construya cartogramas con funciones de agregación geográfica, temporal y clasificaciones diversas." | ||
| 107 | } | 107 | } |
| 108 | ], | 108 | ], |
| 109 | 9 : [ | 109 | 9 : [ |
| @@ -116,8 +116,8 @@ g_traducao_init = | @@ -116,8 +116,8 @@ g_traducao_init = | ||
| 116 | "9a" : [ | 116 | "9a" : [ |
| 117 | { | 117 | { |
| 118 | pt : "Utilize esse editor vetorial para criar ou modificar as localidades ou regiões geográficas utilizadas nos cartogramas estatísticos.", | 118 | pt : "Utilize esse editor vetorial para criar ou modificar as localidades ou regiões geográficas utilizadas nos cartogramas estatísticos.", |
| 119 | - en : "", | ||
| 120 | - es : "" | 119 | + en : "Use this vector editor to create or modify geographical regions or places used by statistics cartograms.", |
| 120 | + es : "Utilice este editor vectorial para crear o modificar las localidades o regiones geográficas empleadas en los cartogramas estadísticos." | ||
| 121 | } | 121 | } |
| 122 | ], | 122 | ], |
| 123 | 10 : [ | 123 | 10 : [ |
| @@ -130,8 +130,8 @@ g_traducao_init = | @@ -130,8 +130,8 @@ g_traducao_init = | ||
| 130 | "10a" : [ | 130 | "10a" : [ |
| 131 | { | 131 | { |
| 132 | pt : "Veja quais dados são públicos e podem ser obtidos por meio de download em diferentes formatos.", | 132 | pt : "Veja quais dados são públicos e podem ser obtidos por meio de download em diferentes formatos.", |
| 133 | - en : "", | ||
| 134 | - es : "" | 133 | + en : "Look at open data that can be downloaded in various formats.", |
| 134 | + es : "Vea cuales datos son públicos y pueden ser obtenidos por medio de descargas en formatos diferentes." | ||
| 135 | } | 135 | } |
| 136 | ], | 136 | ], |
| 137 | 11 : [ | 137 | 11 : [ |
init/head.php
| @@ -13,37 +13,20 @@ echo " | @@ -13,37 +13,20 @@ echo " | ||
| 13 | <meta name='author' content='i3Geo'> | 13 | <meta name='author' content='i3Geo'> |
| 14 | <link rel='icon' href='" . ONDEI3GEO . "/favicon.ico'> | 14 | <link rel='icon' href='" . ONDEI3GEO . "/favicon.ico'> |
| 15 | <title>i3Geo</title> | 15 | <title>i3Geo</title> |
| 16 | - | ||
| 17 | <!-- Material Design fonts --> | 16 | <!-- Material Design fonts --> |
| 18 | <link rel='stylesheet' type='text/css' href='//fonts.googleapis.com/css?family=Roboto:300,400,500,700'> | 17 | <link rel='stylesheet' type='text/css' href='//fonts.googleapis.com/css?family=Roboto:300,400,500,700'> |
| 19 | <link rel='stylesheet' type='text/css' href='//fonts.googleapis.com/icon?family=Material+Icons'> | 18 | <link rel='stylesheet' type='text/css' href='//fonts.googleapis.com/icon?family=Material+Icons'> |
| 20 | - | ||
| 21 | <!-- Bootstrap core CSS --> | 19 | <!-- Bootstrap core CSS --> |
| 22 | <link href='" . ONDEI3GEO . "/pacotes/bootstrap/css/bootstrap.min.css' rel='stylesheet'> | 20 | <link href='" . ONDEI3GEO . "/pacotes/bootstrap/css/bootstrap.min.css' rel='stylesheet'> |
| 23 | - | ||
| 24 | <!-- Bootstrap Material Design --> | 21 | <!-- Bootstrap Material Design --> |
| 25 | <link rel='stylesheet' type='text/css' href='" . ONDEI3GEO . "/pacotes/bootstrap-material-design/dist/css/bootstrap-material-design.min.css'> | 22 | <link rel='stylesheet' type='text/css' href='" . ONDEI3GEO . "/pacotes/bootstrap-material-design/dist/css/bootstrap-material-design.min.css'> |
| 26 | <link rel='stylesheet' type='text/css' href='" . ONDEI3GEO . "/pacotes/bootstrap-material-design/dist/css/ripples.min.css'> | 23 | <link rel='stylesheet' type='text/css' href='" . ONDEI3GEO . "/pacotes/bootstrap-material-design/dist/css/ripples.min.css'> |
| 27 | - | ||
| 28 | - | ||
| 29 | <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> | 24 | <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> |
| 30 | <link href='" . ONDEI3GEO . "/pacotes/bootstrap/css/ie10-viewport-bug-workaround.css' rel='stylesheet'> | 25 | <link href='" . ONDEI3GEO . "/pacotes/bootstrap/css/ie10-viewport-bug-workaround.css' rel='stylesheet'> |
| 31 | - | ||
| 32 | <!-- Custom styles for this template --> | 26 | <!-- Custom styles for this template --> |
| 33 | - | ||
| 34 | <link href='" . ONDEI3GEO . "/pacotes/font-awesome/css/font-awesome.min.css' rel='stylesheet'> | 27 | <link href='" . ONDEI3GEO . "/pacotes/font-awesome/css/font-awesome.min.css' rel='stylesheet'> |
| 35 | 28 | ||
| 36 | - <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> | ||
| 37 | - <!--[if lt IE 9]> | ||
| 38 | - <script src='https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js'></script> | ||
| 39 | - <script src='https://oss.maxcdn.com/respond/1.4.2/respond.min.js'></script> | ||
| 40 | - <![endif]--> | ||
| 41 | - <script src='" . ONDEI3GEO . "/pacotes/jquery/dist/jquery.min.js'></script> | ||
| 42 | - <script src='" . ONDEI3GEO . "/pacotes/bootstrap/js/bootstrap.min.js'></script> | ||
| 43 | - <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> | ||
| 44 | - <script src='" . ONDEI3GEO . "/pacotes/bootstrap/js/ie10-viewport-bug-workaround.js'></script> | ||
| 45 | - <script src='" . ONDEI3GEO . "/pacotes/bootstrap-material-design/dist/js/material.min.js'></script> | ||
| 46 | -"; | 29 | + <script src='" . ONDEI3GEO . "/init/headjs.php'></script>"; |
| 47 | ?> | 30 | ?> |
| 48 | <style> | 31 | <style> |
| 49 | #brasil { | 32 | #brasil { |
| @@ -119,7 +102,7 @@ hr { | @@ -119,7 +102,7 @@ hr { | ||
| 119 | width: 40px; | 102 | width: 40px; |
| 120 | } | 103 | } |
| 121 | body{ | 104 | body{ |
| 122 | - background-color: #fff; | 105 | + background-color: rgb(240,240,240); |
| 123 | } | 106 | } |
| 124 | </style> | 107 | </style> |
| 125 | </head> | 108 | </head> |
| @@ -0,0 +1,20 @@ | @@ -0,0 +1,20 @@ | ||
| 1 | +<?php | ||
| 2 | +define ( ONDEI3GEO, dirname ( dirname ( __FILE__ ) ) ); | ||
| 3 | +if (extension_loaded ( 'zlib' )) { | ||
| 4 | + ob_start ( 'ob_gzhandler' ); | ||
| 5 | +} | ||
| 6 | +header ( "Content-type: text/javascript" ); | ||
| 7 | + | ||
| 8 | +include (ONDEI3GEO . "/pacotes/jquery/dist/jquery.min.js"); | ||
| 9 | +echo "\n"; | ||
| 10 | +include (ONDEI3GEO . "/pacotes/bootstrap/js/bootstrap.min.js"); | ||
| 11 | +echo "\n"; | ||
| 12 | +include (ONDEI3GEO . "/pacotes/bootstrap/js/ie10-viewport-bug-workaround.js"); | ||
| 13 | +echo "\n"; | ||
| 14 | +include (ONDEI3GEO . "/pacotes/bootstrap-material-design/dist/js/material.min.js"); | ||
| 15 | +echo "\n"; | ||
| 16 | + | ||
| 17 | +if (extension_loaded ( 'zlib' )) { | ||
| 18 | + ob_end_flush (); | ||
| 19 | +} | ||
| 20 | +?> | ||
| 0 | \ No newline at end of file | 21 | \ No newline at end of file |
init/imagens/apple-touch-icon.png
init/imagens/application-vnd-google-earth-kml.png
init/imagens/applications-development-web.png
init/imagens/applications-development.png
init/imagens/cartogramas.png
init/imagens/certificate-server.png
init/imagens/docapi.png
init/imagens/editor.png
init/imagens/folder-image.png
init/imagens/googleearth.png
init/imagens/googlemaps.png
init/imagens/googlemaps_noite.png
init/imagens/guiamigracao.png
init/imagens/gvsigtraining.png
init/imagens/logo_psp.png
23.7 KB
init/imagens/mashup.png
init/imagens/ogc_logo.png
init/imagens/openlayers.png
init/imagens/openlayersdebug.png
init/imagens/osm.png
init/imagens/saiku_free_small.png
| @@ -0,0 +1,32 @@ | @@ -0,0 +1,32 @@ | ||
| 1 | +<?php | ||
| 2 | +include('../../pacotes/picStylizer/picStylizer.php'); | ||
| 3 | + | ||
| 4 | +// initialize | ||
| 5 | +$pS = new picStylizer(); | ||
| 6 | + | ||
| 7 | +// define folder configuration | ||
| 8 | +$config = array( | ||
| 9 | + // set the origin folder | ||
| 10 | + "origin" => array( | ||
| 11 | + "images" => "." // folder from where the script will take the images | ||
| 12 | + ), | ||
| 13 | + // set destiny folder | ||
| 14 | + "destiny" => array( | ||
| 15 | + "styles" => "sprites.css", // define css style of sprites | ||
| 16 | + "sprites" => "sprites.png", // define the sprite image result | ||
| 17 | + "example" => "sprites.html", // define the html example | ||
| 18 | + "ini_path" => "" // define the path | ||
| 19 | + ) | ||
| 20 | +); | ||
| 21 | +$pS->setFoldersConfig($config); | ||
| 22 | + | ||
| 23 | +// define minization [true/false] (default: true) | ||
| 24 | +$pS->setMinization(); | ||
| 25 | + | ||
| 26 | +// define css style by default (it will add to the sprites.css file) | ||
| 27 | +$css = ''; | ||
| 28 | +$pS->setCssInit($css); | ||
| 29 | + | ||
| 30 | +// gen sprites, styles and html example | ||
| 31 | +$pS->getSprite(); | ||
| 32 | +?> | ||
| 0 | \ No newline at end of file | 33 | \ No newline at end of file |
| @@ -0,0 +1 @@ | @@ -0,0 +1 @@ | ||
| 1 | +.apple-touch-icon {background:url('sprites.png') 0 -0px no-repeat;width:190px; height:80px}.application-vnd-google-earth-kml {background:url('sprites.png') 0 -82px no-repeat;width:190px; height:80px}.applications-development-web {background:url('sprites.png') 0 -164px no-repeat;width:190px; height:80px}.applications-development {background:url('sprites.png') 0 -246px no-repeat;width:190px; height:80px}.cartogramas {background:url('sprites.png') 0 -328px no-repeat;width:190px; height:80px}.certificate-server {background:url('sprites.png') 0 -410px no-repeat;width:190px; height:80px}.docapi {background:url('sprites.png') 0 -492px no-repeat;width:190px; height:80px}.editor {background:url('sprites.png') 0 -574px no-repeat;width:190px; height:80px}.folder-image {background:url('sprites.png') 0 -656px no-repeat;width:190px; height:80px}.googleearth {background:url('sprites.png') 0 -738px no-repeat;width:190px; height:80px}.googlemaps {background:url('sprites.png') 0 -820px no-repeat;width:190px; height:80px}.googlemaps_noite {background:url('sprites.png') 0 -902px no-repeat;width:190px; height:80px}.guiamigracao {background:url('sprites.png') 0 -984px no-repeat;width:190px; height:80px}.gvsigtraining {background:url('sprites.png') 0 -1066px no-repeat;width:190px; height:80px}.insert-link {background:url('sprites.png') 0 -1148px no-repeat;width:190px; height:80px}.logo_psp {background:url('sprites.png') 0 -1230px no-repeat;width:190px; height:80px}.mailman {background:url('sprites.png') 0 -1312px no-repeat;width:190px; height:80px}.mashup {background:url('sprites.png') 0 -1394px no-repeat;width:190px; height:80px}.ogc_logo {background:url('sprites.png') 0 -1476px no-repeat;width:190px; height:80px}.openlayers {background:url('sprites.png') 0 -1558px no-repeat;width:190px; height:80px}.openlayersdebug {background:url('sprites.png') 0 -1640px no-repeat;width:190px; height:80px}.osm {background:url('sprites.png') 0 -1722px no-repeat;width:190px; height:80px}.saiku_free_small {background:url('sprites.png') 0 -1804px no-repeat;width:190px; height:80px}.svn-update {background:url('sprites.png') 0 -1886px no-repeat;width:190px; height:80px}.tools-report-bug {background:url('sprites.png') 0 -1968px no-repeat;width:190px; height:80px}.window-duplicate {background:url('sprites.png') 0 -2050px no-repeat;width:190px; height:80px} | ||
| 0 | \ No newline at end of file | 2 | \ No newline at end of file |
| @@ -0,0 +1 @@ | @@ -0,0 +1 @@ | ||
| 1 | +<link rel="stylesheet" href="sprites.css"><h3>class: apple-touch-icon</h3><div class="apple-touch-icon"></div><h3>class: application-vnd-google-earth-kml</h3><div class="application-vnd-google-earth-kml"></div><h3>class: applications-development-web</h3><div class="applications-development-web"></div><h3>class: applications-development</h3><div class="applications-development"></div><h3>class: cartogramas</h3><div class="cartogramas"></div><h3>class: certificate-server</h3><div class="certificate-server"></div><h3>class: docapi</h3><div class="docapi"></div><h3>class: editor</h3><div class="editor"></div><h3>class: folder-image</h3><div class="folder-image"></div><h3>class: googleearth</h3><div class="googleearth"></div><h3>class: googlemaps</h3><div class="googlemaps"></div><h3>class: googlemaps_noite</h3><div class="googlemaps_noite"></div><h3>class: guiamigracao</h3><div class="guiamigracao"></div><h3>class: gvsigtraining</h3><div class="gvsigtraining"></div><h3>class: insert-link</h3><div class="insert-link"></div><h3>class: logo_psp</h3><div class="logo_psp"></div><h3>class: mailman</h3><div class="mailman"></div><h3>class: mashup</h3><div class="mashup"></div><h3>class: ogc_logo</h3><div class="ogc_logo"></div><h3>class: openlayers</h3><div class="openlayers"></div><h3>class: openlayersdebug</h3><div class="openlayersdebug"></div><h3>class: osm</h3><div class="osm"></div><h3>class: saiku_free_small</h3><div class="saiku_free_small"></div><h3>class: svn-update</h3><div class="svn-update"></div><h3>class: tools-report-bug</h3><div class="tools-report-bug"></div><h3>class: window-duplicate</h3><div class="window-duplicate"></div> | ||
| 0 | \ No newline at end of file | 2 | \ No newline at end of file |
443 KB
init/imagens/svn-update.png
init/imagens/tools-report-bug.png
init/imagens/window-duplicate.png
init/index.js
| 1 | botoesIni = [ | 1 | botoesIni = [ |
| 2 | { | 2 | { |
| 3 | - "img":"openlayers.png", | 3 | + "img":"openlayers", |
| 4 | "href": location.href.replace("init/index.php","") + customDir + "/black_ol.htm", | 4 | "href": location.href.replace("init/index.php","") + customDir + "/black_ol.htm", |
| 5 | "titulo":$trad(4,g_traducao_init), | 5 | "titulo":$trad(4,g_traducao_init), |
| 6 | "subtitulo": $trad("4a",g_traducao_init), | 6 | "subtitulo": $trad("4a",g_traducao_init), |
| 7 | "fa": "map-o", | 7 | "fa": "map-o", |
| 8 | "target": "_blank" | 8 | "target": "_blank" |
| 9 | },{ | 9 | },{ |
| 10 | - "img":"osm.png", | 10 | + "img":"osm", |
| 11 | "href": location.href.replace("init/index.php","") + customDir + "/black_osm.htm", | 11 | "href": location.href.replace("init/index.php","") + customDir + "/black_osm.htm", |
| 12 | "titulo":$trad(23,g_traducao_init), | 12 | "titulo":$trad(23,g_traducao_init), |
| 13 | "subtitulo": $trad("23a",g_traducao_init), | 13 | "subtitulo": $trad("23a",g_traducao_init), |
| 14 | "fa": "map-o", | 14 | "fa": "map-o", |
| 15 | "target": "_blank" | 15 | "target": "_blank" |
| 16 | },{ | 16 | },{ |
| 17 | - "img":"googlemaps.png", | 17 | + "img":"googlemaps", |
| 18 | "href": location.href.replace("init/index.php","") + customDir + "/black_gm.phtml", | 18 | "href": location.href.replace("init/index.php","") + customDir + "/black_gm.phtml", |
| 19 | "titulo":$trad(6,g_traducao_init), | 19 | "titulo":$trad(6,g_traducao_init), |
| 20 | "subtitulo": $trad("6a",g_traducao_init), | 20 | "subtitulo": $trad("6a",g_traducao_init), |
| 21 | "fa": "map-o", | 21 | "fa": "map-o", |
| 22 | "target": "_blank" | 22 | "target": "_blank" |
| 23 | },{ | 23 | },{ |
| 24 | - "img":"mashup.png", | 24 | + "img":"mashup", |
| 25 | "href": "../mashups/index.php", | 25 | "href": "../mashups/index.php", |
| 26 | "titulo":$trad(18,g_traducao_init) + "<br><a href='../mashups/osm.php?temas=&largura=800&altura=500' target=_blank >OSM</a>" + " - <a href='../mashups/openlayers.php?temas=&largura=800&altura=500' target=_blank >OpenLayers</a>", | 26 | "titulo":$trad(18,g_traducao_init) + "<br><a href='../mashups/osm.php?temas=&largura=800&altura=500' target=_blank >OSM</a>" + " - <a href='../mashups/openlayers.php?temas=&largura=800&altura=500' target=_blank >OpenLayers</a>", |
| 27 | "subtitulo": $trad("18a",g_traducao_init), | 27 | "subtitulo": $trad("18a",g_traducao_init), |
| 28 | "fa": "map-o", | 28 | "fa": "map-o", |
| 29 | "target": "_self" | 29 | "target": "_self" |
| 30 | },{ | 30 | },{ |
| 31 | - "img":"googleearth.png", | 31 | + "img":"googleearth", |
| 32 | "href": location.href.replace("init/index.php","") + customDir + "/googleearth.phtml", | 32 | "href": location.href.replace("init/index.php","") + customDir + "/googleearth.phtml", |
| 33 | "titulo":$trad(7,g_traducao_init), | 33 | "titulo":$trad(7,g_traducao_init), |
| 34 | "subtitulo": $trad("7a",g_traducao_init), | 34 | "subtitulo": $trad("7a",g_traducao_init), |
| 35 | "fa": "map-o", | 35 | "fa": "map-o", |
| 36 | "target": "_blank" | 36 | "target": "_blank" |
| 37 | },{ | 37 | },{ |
| 38 | - "img":"cartogramas.png", | 38 | + "img":"cartogramas", |
| 39 | "href": location.href.replace("init/index.php","") + customDir + "/black_carto_ol.htm", | 39 | "href": location.href.replace("init/index.php","") + customDir + "/black_carto_ol.htm", |
| 40 | "titulo":$trad(8,g_traducao_init), | 40 | "titulo":$trad(8,g_traducao_init), |
| 41 | "subtitulo": $trad("8a",g_traducao_init), | 41 | "subtitulo": $trad("8a",g_traducao_init), |
| 42 | "fa": "map-o", | 42 | "fa": "map-o", |
| 43 | "target": "_blank" | 43 | "target": "_blank" |
| 44 | },{ | 44 | },{ |
| 45 | - "img":"editor.png", | 45 | + "img":"editor", |
| 46 | "href": "../ferramentas/metaestat/editorlimites.php", | 46 | "href": "../ferramentas/metaestat/editorlimites.php", |
| 47 | "titulo":$trad(9,g_traducao_init), | 47 | "titulo":$trad(9,g_traducao_init), |
| 48 | "subtitulo": $trad("9a",g_traducao_init), | 48 | "subtitulo": $trad("9a",g_traducao_init), |
| 49 | "fa": "map-o", | 49 | "fa": "map-o", |
| 50 | "target": "_blank" | 50 | "target": "_blank" |
| 51 | },{ | 51 | },{ |
| 52 | - "img":"window-duplicate.png", | 52 | + "img":"window-duplicate", |
| 53 | "href": "../mapas/index.php", | 53 | "href": "../mapas/index.php", |
| 54 | "titulo":$trad(34,g_traducao_init), | 54 | "titulo":$trad(34,g_traducao_init), |
| 55 | "subtitulo": $trad("34a",g_traducao_init), | 55 | "subtitulo": $trad("34a",g_traducao_init), |
| 56 | "fa": "map-o", | 56 | "fa": "map-o", |
| 57 | "target": "_self" | 57 | "target": "_self" |
| 58 | },{ | 58 | },{ |
| 59 | - "img":"ogc_logo.png", | 59 | + "img":"ogc_logo", |
| 60 | "href": "../ogc/index.php", | 60 | "href": "../ogc/index.php", |
| 61 | "titulo":$trad(11,g_traducao_init), | 61 | "titulo":$trad(11,g_traducao_init), |
| 62 | "subtitulo": $trad("11a",g_traducao_init), | 62 | "subtitulo": $trad("11a",g_traducao_init), |
| 63 | "fa": "download", | 63 | "fa": "download", |
| 64 | "target": "_self" | 64 | "target": "_self" |
| 65 | },{ | 65 | },{ |
| 66 | - "img":"application-vnd-google-earth-kml.png", | 66 | + "img":"application-vnd-google-earth-kml", |
| 67 | "href": "../kml.php", | 67 | "href": "../kml.php", |
| 68 | "titulo":$trad(12,g_traducao_init), | 68 | "titulo":$trad(12,g_traducao_init), |
| 69 | "subtitulo": $trad("12a",g_traducao_init), | 69 | "subtitulo": $trad("12a",g_traducao_init), |
| 70 | "fa": "download", | 70 | "fa": "download", |
| 71 | "target": "_self" | 71 | "target": "_self" |
| 72 | },{ | 72 | },{ |
| 73 | - "img":"../imagens/saiku_free_small.png", | 73 | + "img":"saiku_free_small", |
| 74 | "href": "../ferramentas/saiku/esquemaxml.php?locaplic="+window.location.href.replace("/init/index.php",""), | 74 | "href": "../ferramentas/saiku/esquemaxml.php?locaplic="+window.location.href.replace("/init/index.php",""), |
| 75 | "titulo":$trad(25,g_traducao_init), | 75 | "titulo":$trad(25,g_traducao_init), |
| 76 | "subtitulo": $trad("25a",g_traducao_init), | 76 | "subtitulo": $trad("25a",g_traducao_init), |
| 77 | "fa": "bar-chart", | 77 | "fa": "bar-chart", |
| 78 | "target": "_self" | 78 | "target": "_self" |
| 79 | },{ | 79 | },{ |
| 80 | - "img":"insert-link.png", | 80 | + "img":"insert-link", |
| 81 | "href": "../permlinks/index.php", | 81 | "href": "../permlinks/index.php", |
| 82 | "titulo":$trad(13,g_traducao_init), | 82 | "titulo":$trad(13,g_traducao_init), |
| 83 | "subtitulo": $trad("13a",g_traducao_init), | 83 | "subtitulo": $trad("13a",g_traducao_init), |
| 84 | "fa": "map-o", | 84 | "fa": "map-o", |
| 85 | "target": "_self" | 85 | "target": "_self" |
| 86 | },{ | 86 | },{ |
| 87 | - "img":"openlayersdebug.png", | 87 | + "img":"openlayersdebug", |
| 88 | "href": location.href.replace("init/index.php","") + customDir + "/openlayersdebug.htm", | 88 | "href": location.href.replace("init/index.php","") + customDir + "/openlayersdebug.htm", |
| 89 | "titulo":$trad(5,g_traducao_init), | 89 | "titulo":$trad(5,g_traducao_init), |
| 90 | "subtitulo": $trad("5a",g_traducao_init), | 90 | "subtitulo": $trad("5a",g_traducao_init), |
| 91 | "fa": "cogs", | 91 | "fa": "cogs", |
| 92 | "target": "_blank" | 92 | "target": "_blank" |
| 93 | },{ | 93 | },{ |
| 94 | - "img":"certificate-server.png", | 94 | + "img":"certificate-server", |
| 95 | "href": "../testainstal/index.php", | 95 | "href": "../testainstal/index.php", |
| 96 | "titulo":$trad(2,g_traducao_init), | 96 | "titulo":$trad(2,g_traducao_init), |
| 97 | "subtitulo": $trad("2a",g_traducao_init), | 97 | "subtitulo": $trad("2a",g_traducao_init), |
| 98 | "fa": "cogs", | 98 | "fa": "cogs", |
| 99 | "target": "_self" | 99 | "target": "_self" |
| 100 | },{ | 100 | },{ |
| 101 | - "img":"applications-development-web.png", | 101 | + "img":"applications-development-web", |
| 102 | "href": "../admin", | 102 | "href": "../admin", |
| 103 | "titulo":$trad(3,g_traducao_init), | 103 | "titulo":$trad(3,g_traducao_init), |
| 104 | "subtitulo": $trad("3a",g_traducao_init), | 104 | "subtitulo": $trad("3a",g_traducao_init), |
| 105 | "fa": "cogs", | 105 | "fa": "cogs", |
| 106 | "target": "_blank" | 106 | "target": "_blank" |
| 107 | },{ | 107 | },{ |
| 108 | - "img":"folder-image.png", | 108 | + "img":"folder-image", |
| 109 | "href": "../exemplos/index.php", | 109 | "href": "../exemplos/index.php", |
| 110 | "titulo":$trad(14,g_traducao_init), | 110 | "titulo":$trad(14,g_traducao_init), |
| 111 | "subtitulo": $trad("14a",g_traducao_init), | 111 | "subtitulo": $trad("14a",g_traducao_init), |
| 112 | "fa": "cogs", | 112 | "fa": "cogs", |
| 113 | "target": "_self" | 113 | "target": "_self" |
| 114 | },{ | 114 | },{ |
| 115 | - "img":"applications-development.png", | 115 | + "img":"applications-development", |
| 116 | "href": "../utilitarios/index.php", | 116 | "href": "../utilitarios/index.php", |
| 117 | "titulo":$trad(33,g_traducao_init), | 117 | "titulo":$trad(33,g_traducao_init), |
| 118 | "subtitulo": $trad("33a",g_traducao_init), | 118 | "subtitulo": $trad("33a",g_traducao_init), |
| 119 | "fa": "wrench", | 119 | "fa": "wrench", |
| 120 | "target": "_self" | 120 | "target": "_self" |
| 121 | },{ | 121 | },{ |
| 122 | - "img":"guiamigracao.png", | 122 | + "img":"guiamigracao", |
| 123 | "href": "../guia_de_migracao.txt", | 123 | "href": "../guia_de_migracao.txt", |
| 124 | "titulo":$trad(17,g_traducao_init), | 124 | "titulo":$trad(17,g_traducao_init), |
| 125 | "subtitulo": $trad("17a",g_traducao_init), | 125 | "subtitulo": $trad("17a",g_traducao_init), |
| 126 | "fa": "cogs", | 126 | "fa": "cogs", |
| 127 | "target": "_self" | 127 | "target": "_self" |
| 128 | },{ | 128 | },{ |
| 129 | - "img":"docapi.png", | 129 | + "img":"docapi", |
| 130 | "href": "../documentacao", | 130 | "href": "../documentacao", |
| 131 | "titulo":$trad(24,g_traducao_init), | 131 | "titulo":$trad(24,g_traducao_init), |
| 132 | "subtitulo": $trad("24a",g_traducao_init), | 132 | "subtitulo": $trad("24a",g_traducao_init), |
| 133 | "fa": "book", | 133 | "fa": "book", |
| 134 | "target": "_self" | 134 | "target": "_self" |
| 135 | },{ | 135 | },{ |
| 136 | - "img":"gvsigtraining.png", | 136 | + "img":"gvsigtraining", |
| 137 | "href":"http://moodle.gvsig-training.com/course/view.php?id=11", | 137 | "href":"http://moodle.gvsig-training.com/course/view.php?id=11", |
| 138 | "titulo":$trad(28,g_traducao_init), | 138 | "titulo":$trad(28,g_traducao_init), |
| 139 | "subtitulo": $trad("28a",g_traducao_init), | 139 | "subtitulo": $trad("28a",g_traducao_init), |
| 140 | "fa": "book", | 140 | "fa": "book", |
| 141 | "target": "_self" | 141 | "target": "_self" |
| 142 | },{ | 142 | },{ |
| 143 | - "img":"tools-report-bug.png", | 143 | + "img":"tools-report-bug", |
| 144 | "href":"https://softwarepublico.gov.br/gitlab/i3geo/i3geo/issues", | 144 | "href":"https://softwarepublico.gov.br/gitlab/i3geo/i3geo/issues", |
| 145 | "titulo":$trad(16,g_traducao_init), | 145 | "titulo":$trad(16,g_traducao_init), |
| 146 | "subtitulo": $trad("16a",g_traducao_init), | 146 | "subtitulo": $trad("16a",g_traducao_init), |
| 147 | "fa": "group", | 147 | "fa": "group", |
| 148 | "target": "_self" | 148 | "target": "_self" |
| 149 | },{ | 149 | },{ |
| 150 | - "img":"../imagens/apple-touch-icon.png", | 150 | + "img":"apple-touch-icon", |
| 151 | "href":"https://softwarepublico.gov.br/gitlab/groups/i3geo", | 151 | "href":"https://softwarepublico.gov.br/gitlab/groups/i3geo", |
| 152 | "titulo":$trad(30,g_traducao_init), | 152 | "titulo":$trad(30,g_traducao_init), |
| 153 | "subtitulo": $trad("30a",g_traducao_init), | 153 | "subtitulo": $trad("30a",g_traducao_init), |
| 154 | "fa": "group", | 154 | "fa": "group", |
| 155 | "target": "_self" | 155 | "target": "_self" |
| 156 | },{ | 156 | },{ |
| 157 | - "img":"logo_psp.png", | 157 | + "img":"logo_psp", |
| 158 | "href":"https://portal.softwarepublico.gov.br/social/i3geo/", | 158 | "href":"https://portal.softwarepublico.gov.br/social/i3geo/", |
| 159 | "titulo":$trad(31,g_traducao_init), | 159 | "titulo":$trad(31,g_traducao_init), |
| 160 | "subtitulo": $trad("31a",g_traducao_init), | 160 | "subtitulo": $trad("31a",g_traducao_init), |
| 161 | "fa": "group", | 161 | "fa": "group", |
| 162 | "target": "_self" | 162 | "target": "_self" |
| 163 | },{ | 163 | },{ |
| 164 | - "img":"mailman.jpg", | 164 | + "img":"mailman", |
| 165 | "href":"http://lists.osgeo.org/cgi-bin/mailman/listinfo/i3geo", | 165 | "href":"http://lists.osgeo.org/cgi-bin/mailman/listinfo/i3geo", |
| 166 | "titulo":$trad(32,g_traducao_init), | 166 | "titulo":$trad(32,g_traducao_init), |
| 167 | "subtitulo": $trad("32a",g_traducao_init), | 167 | "subtitulo": $trad("32a",g_traducao_init), |
| @@ -198,7 +198,7 @@ function mostraBotoesBT(men){ | @@ -198,7 +198,7 @@ function mostraBotoesBT(men){ | ||
| 198 | {"d":botoesIni,"abrir" : $trad(36,g_traducao_init)} | 198 | {"d":botoesIni,"abrir" : $trad(36,g_traducao_init)} |
| 199 | ); | 199 | ); |
| 200 | $("#botoesTpl").html(html); | 200 | $("#botoesTpl").html(html); |
| 201 | - aplicaFavoritos() | 201 | + aplicaFavoritos(); |
| 202 | } | 202 | } |
| 203 | function findBootstrapDeviceSize() { | 203 | function findBootstrapDeviceSize() { |
| 204 | var dsize = ['lg', 'md', 'sm', 'xs']; | 204 | var dsize = ['lg', 'md', 'sm', 'xs']; |
init/index.php
| @@ -35,6 +35,7 @@ if (file_exists ( $dir_tmp )) { | @@ -35,6 +35,7 @@ if (file_exists ( $dir_tmp )) { | ||
| 35 | error_reporting ( 0 ); | 35 | error_reporting ( 0 ); |
| 36 | include "head.php"; | 36 | include "head.php"; |
| 37 | ?> | 37 | ?> |
| 38 | +<link href='imagens/sprites.css' rel='stylesheet'> | ||
| 38 | <style> | 39 | <style> |
| 39 | .amarelo { | 40 | .amarelo { |
| 40 | color: yellow; | 41 | color: yellow; |
| @@ -103,11 +104,19 @@ include "head.php"; | @@ -103,11 +104,19 @@ include "head.php"; | ||
| 103 | style="width: 260px; min-width: 260px; max-width: 260px;"> | 104 | style="width: 260px; min-width: 260px; max-width: 260px;"> |
| 104 | <div class="panel panel-default"> | 105 | <div class="panel panel-default"> |
| 105 | <div class="panel-body"> | 106 | <div class="panel-body"> |
| 107 | + <!-- | ||
| 106 | <div class="thumbnail" role="button" style="height: 90px;"> | 108 | <div class="thumbnail" role="button" style="height: 90px;"> |
| 107 | <a target="{{{target}}}" href="{{{href}}}"> <img class="img-rounded" | 109 | <a target="{{{target}}}" href="{{{href}}}"> <img class="img-rounded" |
| 108 | style="height: 100%; width: 100%" src="imagens/{{{img}}}" /> | 110 | style="height: 100%; width: 100%" src="imagens/{{{img}}}" /> |
| 109 | </a> | 111 | </a> |
| 110 | </div> | 112 | </div> |
| 113 | + --> | ||
| 114 | + <div class="thumbnail" role="button" style="height: 90px;"> | ||
| 115 | + <a target="{{{target}}}" href="{{{href}}}"> <img class="img-rounded {{{img}}}" | ||
| 116 | + style="height: 100%; width: 100%" src="../imagens/branco.gif" /> | ||
| 117 | + </a> | ||
| 118 | + </div> | ||
| 119 | + | ||
| 111 | <h4 style="height: 40px;">{{{titulo}}}</h4> | 120 | <h4 style="height: 40px;">{{{titulo}}}</h4> |
| 112 | <h5 class="hidden-xs" style="height: 100px;">{{{subtitulo}}}</h5> | 121 | <h5 class="hidden-xs" style="height: 100px;">{{{subtitulo}}}</h5> |
| 113 | 122 | ||
| @@ -185,15 +194,7 @@ include "head.php"; | @@ -185,15 +194,7 @@ include "head.php"; | ||
| 185 | //utilizado em ms_configura.php para customizar o local da pasta de inicializacao | 194 | //utilizado em ms_configura.php para customizar o local da pasta de inicializacao |
| 186 | var customDir = "<?php echo $customDir; ?>"; | 195 | var customDir = "<?php echo $customDir; ?>"; |
| 187 | </script> | 196 | </script> |
| 188 | - <script src='../pacotes/cpaint/cpaint2_compacto.inc.js'></script> | ||
| 189 | - <script src='../classesjs/compactados/dicionario_compacto.js'></script> | ||
| 190 | - <script src='../classesjs/compactados/classe_util_compacto.js'></script> | ||
| 191 | - <script src='../classesjs/compactados/classe_idioma_compacto.js'></script> | ||
| 192 | - <script src='../classesjs/compactados/classe_login_compacto.js'></script> | ||
| 193 | - <script src='../classesjs/compactados/classe_php_compacto.js'></script> | ||
| 194 | - <script src='../classesjs/compactados/mustache.js'></script> | ||
| 195 | - <script src='dicionario.js'></script> | ||
| 196 | - <script src='index.js'></script> | 197 | + <script src='indexjs.php'></script> |
| 197 | <script> | 198 | <script> |
| 198 | $(document).ready(function(){ | 199 | $(document).ready(function(){ |
| 199 | <?php | 200 | <?php |
| @@ -0,0 +1,28 @@ | @@ -0,0 +1,28 @@ | ||
| 1 | +<?php | ||
| 2 | +if (extension_loaded ( 'zlib' )) { | ||
| 3 | + ob_start ( 'ob_gzhandler' ); | ||
| 4 | +} | ||
| 5 | +header ( "Content-type: text/javascript" ); | ||
| 6 | + | ||
| 7 | +include ('../pacotes/cpaint/cpaint2_compacto.inc.js'); | ||
| 8 | +echo "\n"; | ||
| 9 | +include ('../classesjs/compactados/dicionario_compacto.js'); | ||
| 10 | +echo "\n"; | ||
| 11 | +include ('../classesjs/compactados/classe_util_compacto.js'); | ||
| 12 | +echo "\n"; | ||
| 13 | +include ('../classesjs/compactados/classe_idioma_compacto.js'); | ||
| 14 | +echo "\n"; | ||
| 15 | +include ('../classesjs/compactados/classe_login_compacto.js'); | ||
| 16 | +echo "\n"; | ||
| 17 | +include ('../classesjs/compactados/classe_php_compacto.js'); | ||
| 18 | +echo "\n"; | ||
| 19 | +include ('../classesjs/compactados/mustache.js'); | ||
| 20 | +echo "\n"; | ||
| 21 | +include ('dicionario.js'); | ||
| 22 | +echo "\n"; | ||
| 23 | +include ('index.js'); | ||
| 24 | +echo "\n"; | ||
| 25 | + | ||
| 26 | +if (extension_loaded ( 'zlib' )) { | ||
| 27 | + ob_end_flush (); | ||
| 28 | +} | ||
| 0 | \ No newline at end of file | 29 | \ No newline at end of file |
ms_criamapa.php
| @@ -595,10 +595,10 @@ $_SESSION["map_file"] = $tmpfname; | @@ -595,10 +595,10 @@ $_SESSION["map_file"] = $tmpfname; | ||
| 595 | $_SESSION["mapext"] = $mapext; | 595 | $_SESSION["mapext"] = $mapext; |
| 596 | if (isset($executa)){ | 596 | if (isset($executa)){ |
| 597 | if (file_exists($executa)){ | 597 | if (file_exists($executa)){ |
| 598 | - include_once ($executa); | 598 | + //include_once ($executa); |
| 599 | } | 599 | } |
| 600 | if (function_exists($executa)){ | 600 | if (function_exists($executa)){ |
| 601 | - eval($executa."();"); | 601 | + //eval($executa."();"); |
| 602 | } | 602 | } |
| 603 | } | 603 | } |
| 604 | if(isset($wkt)){ | 604 | if(isset($wkt)){ |
| @@ -0,0 +1,340 @@ | @@ -0,0 +1,340 @@ | ||
| 1 | + GNU GENERAL PUBLIC LICENSE | ||
| 2 | + Version 2, June 1991 | ||
| 3 | + | ||
| 4 | + Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/> | ||
| 5 | + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
| 6 | + Everyone is permitted to copy and distribute verbatim copies | ||
| 7 | + of this license document, but changing it is not allowed. | ||
| 8 | + | ||
| 9 | + Preamble | ||
| 10 | + | ||
| 11 | + The licenses for most software are designed to take away your | ||
| 12 | +freedom to share and change it. By contrast, the GNU General Public | ||
| 13 | +License is intended to guarantee your freedom to share and change free | ||
| 14 | +software--to make sure the software is free for all its users. This | ||
| 15 | +General Public License applies to most of the Free Software | ||
| 16 | +Foundation's software and to any other program whose authors commit to | ||
| 17 | +using it. (Some other Free Software Foundation software is covered by | ||
| 18 | +the GNU Lesser General Public License instead.) You can apply it to | ||
| 19 | +your programs, too. | ||
| 20 | + | ||
| 21 | + When we speak of free software, we are referring to freedom, not | ||
| 22 | +price. Our General Public Licenses are designed to make sure that you | ||
| 23 | +have the freedom to distribute copies of free software (and charge for | ||
| 24 | +this service if you wish), that you receive source code or can get it | ||
| 25 | +if you want it, that you can change the software or use pieces of it | ||
| 26 | +in new free programs; and that you know you can do these things. | ||
| 27 | + | ||
| 28 | + To protect your rights, we need to make restrictions that forbid | ||
| 29 | +anyone to deny you these rights or to ask you to surrender the rights. | ||
| 30 | +These restrictions translate to certain responsibilities for you if you | ||
| 31 | +distribute copies of the software, or if you modify it. | ||
| 32 | + | ||
| 33 | + For example, if you distribute copies of such a program, whether | ||
| 34 | +gratis or for a fee, you must give the recipients all the rights that | ||
| 35 | +you have. You must make sure that they, too, receive or can get the | ||
| 36 | +source code. And you must show them these terms so they know their | ||
| 37 | +rights. | ||
| 38 | + | ||
| 39 | + We protect your rights with two steps: (1) copyright the software, and | ||
| 40 | +(2) offer you this license which gives you legal permission to copy, | ||
| 41 | +distribute and/or modify the software. | ||
| 42 | + | ||
| 43 | + Also, for each author's protection and ours, we want to make certain | ||
| 44 | +that everyone understands that there is no warranty for this free | ||
| 45 | +software. If the software is modified by someone else and passed on, we | ||
| 46 | +want its recipients to know that what they have is not the original, so | ||
| 47 | +that any problems introduced by others will not reflect on the original | ||
| 48 | +authors' reputations. | ||
| 49 | + | ||
| 50 | + Finally, any free program is threatened constantly by software | ||
| 51 | +patents. We wish to avoid the danger that redistributors of a free | ||
| 52 | +program will individually obtain patent licenses, in effect making the | ||
| 53 | +program proprietary. To prevent this, we have made it clear that any | ||
| 54 | +patent must be licensed for everyone's free use or not licensed at all. | ||
| 55 | + | ||
| 56 | + The precise terms and conditions for copying, distribution and | ||
| 57 | +modification follow. | ||
| 58 | + | ||
| 59 | + GNU GENERAL PUBLIC LICENSE | ||
| 60 | + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||
| 61 | + | ||
| 62 | + 0. This License applies to any program or other work which contains | ||
| 63 | +a notice placed by the copyright holder saying it may be distributed | ||
| 64 | +under the terms of this General Public License. The "Program", below, | ||
| 65 | +refers to any such program or work, and a "work based on the Program" | ||
| 66 | +means either the Program or any derivative work under copyright law: | ||
| 67 | +that is to say, a work containing the Program or a portion of it, | ||
| 68 | +either verbatim or with modifications and/or translated into another | ||
| 69 | +language. (Hereinafter, translation is included without limitation in | ||
| 70 | +the term "modification".) Each licensee is addressed as "you". | ||
| 71 | + | ||
| 72 | +Activities other than copying, distribution and modification are not | ||
| 73 | +covered by this License; they are outside its scope. The act of | ||
| 74 | +running the Program is not restricted, and the output from the Program | ||
| 75 | +is covered only if its contents constitute a work based on the | ||
| 76 | +Program (independent of having been made by running the Program). | ||
| 77 | +Whether that is true depends on what the Program does. | ||
| 78 | + | ||
| 79 | + 1. You may copy and distribute verbatim copies of the Program's | ||
| 80 | +source code as you receive it, in any medium, provided that you | ||
| 81 | +conspicuously and appropriately publish on each copy an appropriate | ||
| 82 | +copyright notice and disclaimer of warranty; keep intact all the | ||
| 83 | +notices that refer to this License and to the absence of any warranty; | ||
| 84 | +and give any other recipients of the Program a copy of this License | ||
| 85 | +along with the Program. | ||
| 86 | + | ||
| 87 | +You may charge a fee for the physical act of transferring a copy, and | ||
| 88 | +you may at your option offer warranty protection in exchange for a fee. | ||
| 89 | + | ||
| 90 | + 2. You may modify your copy or copies of the Program or any portion | ||
| 91 | +of it, thus forming a work based on the Program, and copy and | ||
| 92 | +distribute such modifications or work under the terms of Section 1 | ||
| 93 | +above, provided that you also meet all of these conditions: | ||
| 94 | + | ||
| 95 | + a) You must cause the modified files to carry prominent notices | ||
| 96 | + stating that you changed the files and the date of any change. | ||
| 97 | + | ||
| 98 | + b) You must cause any work that you distribute or publish, that in | ||
| 99 | + whole or in part contains or is derived from the Program or any | ||
| 100 | + part thereof, to be licensed as a whole at no charge to all third | ||
| 101 | + parties under the terms of this License. | ||
| 102 | + | ||
| 103 | + c) If the modified program normally reads commands interactively | ||
| 104 | + when run, you must cause it, when started running for such | ||
| 105 | + interactive use in the most ordinary way, to print or display an | ||
| 106 | + announcement including an appropriate copyright notice and a | ||
| 107 | + notice that there is no warranty (or else, saying that you provide | ||
| 108 | + a warranty) and that users may redistribute the program under | ||
| 109 | + these conditions, and telling the user how to view a copy of this | ||
| 110 | + License. (Exception: if the Program itself is interactive but | ||
| 111 | + does not normally print such an announcement, your work based on | ||
| 112 | + the Program is not required to print an announcement.) | ||
| 113 | + | ||
| 114 | +These requirements apply to the modified work as a whole. If | ||
| 115 | +identifiable sections of that work are not derived from the Program, | ||
| 116 | +and can be reasonably considered independent and separate works in | ||
| 117 | +themselves, then this License, and its terms, do not apply to those | ||
| 118 | +sections when you distribute them as separate works. But when you | ||
| 119 | +distribute the same sections as part of a whole which is a work based | ||
| 120 | +on the Program, the distribution of the whole must be on the terms of | ||
| 121 | +this License, whose permissions for other licensees extend to the | ||
| 122 | +entire whole, and thus to each and every part regardless of who wrote it. | ||
| 123 | + | ||
| 124 | +Thus, it is not the intent of this section to claim rights or contest | ||
| 125 | +your rights to work written entirely by you; rather, the intent is to | ||
| 126 | +exercise the right to control the distribution of derivative or | ||
| 127 | +collective works based on the Program. | ||
| 128 | + | ||
| 129 | +In addition, mere aggregation of another work not based on the Program | ||
| 130 | +with the Program (or with a work based on the Program) on a volume of | ||
| 131 | +a storage or distribution medium does not bring the other work under | ||
| 132 | +the scope of this License. | ||
| 133 | + | ||
| 134 | + 3. You may copy and distribute the Program (or a work based on it, | ||
| 135 | +under Section 2) in object code or executable form under the terms of | ||
| 136 | +Sections 1 and 2 above provided that you also do one of the following: | ||
| 137 | + | ||
| 138 | + a) Accompany it with the complete corresponding machine-readable | ||
| 139 | + source code, which must be distributed under the terms of Sections | ||
| 140 | + 1 and 2 above on a medium customarily used for software interchange; or, | ||
| 141 | + | ||
| 142 | + b) Accompany it with a written offer, valid for at least three | ||
| 143 | + years, to give any third party, for a charge no more than your | ||
| 144 | + cost of physically performing source distribution, a complete | ||
| 145 | + machine-readable copy of the corresponding source code, to be | ||
| 146 | + distributed under the terms of Sections 1 and 2 above on a medium | ||
| 147 | + customarily used for software interchange; or, | ||
| 148 | + | ||
| 149 | + c) Accompany it with the information you received as to the offer | ||
| 150 | + to distribute corresponding source code. (This alternative is | ||
| 151 | + allowed only for noncommercial distribution and only if you | ||
| 152 | + received the program in object code or executable form with such | ||
| 153 | + an offer, in accord with Subsection b above.) | ||
| 154 | + | ||
| 155 | +The source code for a work means the preferred form of the work for | ||
| 156 | +making modifications to it. For an executable work, complete source | ||
| 157 | +code means all the source code for all modules it contains, plus any | ||
| 158 | +associated interface definition files, plus the scripts used to | ||
| 159 | +control compilation and installation of the executable. However, as a | ||
| 160 | +special exception, the source code distributed need not include | ||
| 161 | +anything that is normally distributed (in either source or binary | ||
| 162 | +form) with the major components (compiler, kernel, and so on) of the | ||
| 163 | +operating system on which the executable runs, unless that component | ||
| 164 | +itself accompanies the executable. | ||
| 165 | + | ||
| 166 | +If distribution of executable or object code is made by offering | ||
| 167 | +access to copy from a designated place, then offering equivalent | ||
| 168 | +access to copy the source code from the same place counts as | ||
| 169 | +distribution of the source code, even though third parties are not | ||
| 170 | +compelled to copy the source along with the object code. | ||
| 171 | + | ||
| 172 | + 4. You may not copy, modify, sublicense, or distribute the Program | ||
| 173 | +except as expressly provided under this License. Any attempt | ||
| 174 | +otherwise to copy, modify, sublicense or distribute the Program is | ||
| 175 | +void, and will automatically terminate your rights under this License. | ||
| 176 | +However, parties who have received copies, or rights, from you under | ||
| 177 | +this License will not have their licenses terminated so long as such | ||
| 178 | +parties remain in full compliance. | ||
| 179 | + | ||
| 180 | + 5. You are not required to accept this License, since you have not | ||
| 181 | +signed it. However, nothing else grants you permission to modify or | ||
| 182 | +distribute the Program or its derivative works. These actions are | ||
| 183 | +prohibited by law if you do not accept this License. Therefore, by | ||
| 184 | +modifying or distributing the Program (or any work based on the | ||
| 185 | +Program), you indicate your acceptance of this License to do so, and | ||
| 186 | +all its terms and conditions for copying, distributing or modifying | ||
| 187 | +the Program or works based on it. | ||
| 188 | + | ||
| 189 | + 6. Each time you redistribute the Program (or any work based on the | ||
| 190 | +Program), the recipient automatically receives a license from the | ||
| 191 | +original licensor to copy, distribute or modify the Program subject to | ||
| 192 | +these terms and conditions. You may not impose any further | ||
| 193 | +restrictions on the recipients' exercise of the rights granted herein. | ||
| 194 | +You are not responsible for enforcing compliance by third parties to | ||
| 195 | +this License. | ||
| 196 | + | ||
| 197 | + 7. If, as a consequence of a court judgment or allegation of patent | ||
| 198 | +infringement or for any other reason (not limited to patent issues), | ||
| 199 | +conditions are imposed on you (whether by court order, agreement or | ||
| 200 | +otherwise) that contradict the conditions of this License, they do not | ||
| 201 | +excuse you from the conditions of this License. If you cannot | ||
| 202 | +distribute so as to satisfy simultaneously your obligations under this | ||
| 203 | +License and any other pertinent obligations, then as a consequence you | ||
| 204 | +may not distribute the Program at all. For example, if a patent | ||
| 205 | +license would not permit royalty-free redistribution of the Program by | ||
| 206 | +all those who receive copies directly or indirectly through you, then | ||
| 207 | +the only way you could satisfy both it and this License would be to | ||
| 208 | +refrain entirely from distribution of the Program. | ||
| 209 | + | ||
| 210 | +If any portion of this section is held invalid or unenforceable under | ||
| 211 | +any particular circumstance, the balance of the section is intended to | ||
| 212 | +apply and the section as a whole is intended to apply in other | ||
| 213 | +circumstances. | ||
| 214 | + | ||
| 215 | +It is not the purpose of this section to induce you to infringe any | ||
| 216 | +patents or other property right claims or to contest validity of any | ||
| 217 | +such claims; this section has the sole purpose of protecting the | ||
| 218 | +integrity of the free software distribution system, which is | ||
| 219 | +implemented by public license practices. Many people have made | ||
| 220 | +generous contributions to the wide range of software distributed | ||
| 221 | +through that system in reliance on consistent application of that | ||
| 222 | +system; it is up to the author/donor to decide if he or she is willing | ||
| 223 | +to distribute software through any other system and a licensee cannot | ||
| 224 | +impose that choice. | ||
| 225 | + | ||
| 226 | +This section is intended to make thoroughly clear what is believed to | ||
| 227 | +be a consequence of the rest of this License. | ||
| 228 | + | ||
| 229 | + 8. If the distribution and/or use of the Program is restricted in | ||
| 230 | +certain countries either by patents or by copyrighted interfaces, the | ||
| 231 | +original copyright holder who places the Program under this License | ||
| 232 | +may add an explicit geographical distribution limitation excluding | ||
| 233 | +those countries, so that distribution is permitted only in or among | ||
| 234 | +countries not thus excluded. In such case, this License incorporates | ||
| 235 | +the limitation as if written in the body of this License. | ||
| 236 | + | ||
| 237 | + 9. The Free Software Foundation may publish revised and/or new versions | ||
| 238 | +of the General Public License from time to time. Such new versions will | ||
| 239 | +be similar in spirit to the present version, but may differ in detail to | ||
| 240 | +address new problems or concerns. | ||
| 241 | + | ||
| 242 | +Each version is given a distinguishing version number. If the Program | ||
| 243 | +specifies a version number of this License which applies to it and "any | ||
| 244 | +later version", you have the option of following the terms and conditions | ||
| 245 | +either of that version or of any later version published by the Free | ||
| 246 | +Software Foundation. If the Program does not specify a version number of | ||
| 247 | +this License, you may choose any version ever published by the Free Software | ||
| 248 | +Foundation. | ||
| 249 | + | ||
| 250 | + 10. If you wish to incorporate parts of the Program into other free | ||
| 251 | +programs whose distribution conditions are different, write to the author | ||
| 252 | +to ask for permission. For software which is copyrighted by the Free | ||
| 253 | +Software Foundation, write to the Free Software Foundation; we sometimes | ||
| 254 | +make exceptions for this. Our decision will be guided by the two goals | ||
| 255 | +of preserving the free status of all derivatives of our free software and | ||
| 256 | +of promoting the sharing and reuse of software generally. | ||
| 257 | + | ||
| 258 | + NO WARRANTY | ||
| 259 | + | ||
| 260 | + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||
| 261 | +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | ||
| 262 | +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||
| 263 | +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||
| 264 | +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
| 265 | +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | ||
| 266 | +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | ||
| 267 | +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||
| 268 | +REPAIR OR CORRECTION. | ||
| 269 | + | ||
| 270 | + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||
| 271 | +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||
| 272 | +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||
| 273 | +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||
| 274 | +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||
| 275 | +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||
| 276 | +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||
| 277 | +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||
| 278 | +POSSIBILITY OF SUCH DAMAGES. | ||
| 279 | + | ||
| 280 | + END OF TERMS AND CONDITIONS | ||
| 281 | + | ||
| 282 | + How to Apply These Terms to Your New Programs | ||
| 283 | + | ||
| 284 | + If you develop a new program, and you want it to be of the greatest | ||
| 285 | +possible use to the public, the best way to achieve this is to make it | ||
| 286 | +free software which everyone can redistribute and change under these terms. | ||
| 287 | + | ||
| 288 | + To do so, attach the following notices to the program. It is safest | ||
| 289 | +to attach them to the start of each source file to most effectively | ||
| 290 | +convey the exclusion of warranty; and each file should have at least | ||
| 291 | +the "copyright" line and a pointer to where the full notice is found. | ||
| 292 | + | ||
| 293 | + {description} | ||
| 294 | + Copyright (C) {year} {fullname} | ||
| 295 | + | ||
| 296 | + This program is free software; you can redistribute it and/or modify | ||
| 297 | + it under the terms of the GNU General Public License as published by | ||
| 298 | + the Free Software Foundation; either version 2 of the License, or | ||
| 299 | + (at your option) any later version. | ||
| 300 | + | ||
| 301 | + This program is distributed in the hope that it will be useful, | ||
| 302 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 303 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 304 | + GNU General Public License for more details. | ||
| 305 | + | ||
| 306 | + You should have received a copy of the GNU General Public License along | ||
| 307 | + with this program; if not, write to the Free Software Foundation, Inc., | ||
| 308 | + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
| 309 | + | ||
| 310 | +Also add information on how to contact you by electronic and paper mail. | ||
| 311 | + | ||
| 312 | +If the program is interactive, make it output a short notice like this | ||
| 313 | +when it starts in an interactive mode: | ||
| 314 | + | ||
| 315 | + Gnomovision version 69, Copyright (C) year name of author | ||
| 316 | + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | ||
| 317 | + This is free software, and you are welcome to redistribute it | ||
| 318 | + under certain conditions; type `show c' for details. | ||
| 319 | + | ||
| 320 | +The hypothetical commands `show w' and `show c' should show the appropriate | ||
| 321 | +parts of the General Public License. Of course, the commands you use may | ||
| 322 | +be called something other than `show w' and `show c'; they could even be | ||
| 323 | +mouse-clicks or menu items--whatever suits your program. | ||
| 324 | + | ||
| 325 | +You should also get your employer (if you work as a programmer) or your | ||
| 326 | +school, if any, to sign a "copyright disclaimer" for the program, if | ||
| 327 | +necessary. Here is a sample; alter the names: | ||
| 328 | + | ||
| 329 | + Yoyodyne, Inc., hereby disclaims all copyright interest in the program | ||
| 330 | + `Gnomovision' (which makes passes at compilers) written by James Hacker. | ||
| 331 | + | ||
| 332 | + {signature of Ty Coon}, 1 April 1989 | ||
| 333 | + Ty Coon, President of Vice | ||
| 334 | + | ||
| 335 | +This General Public License does not permit incorporating your program into | ||
| 336 | +proprietary programs. If your program is a subroutine library, you may | ||
| 337 | +consider it more useful to permit linking proprietary applications with the | ||
| 338 | +library. If this is what you want to do, use the GNU Lesser General | ||
| 339 | +Public License instead of this License. | ||
| 340 | + |
| @@ -0,0 +1,46 @@ | @@ -0,0 +1,46 @@ | ||
| 1 | +# picStylizer | ||
| 2 | + | ||
| 3 | +picStylizer is a PHP class that create sprite and css style file from images folder | ||
| 4 | + | ||
| 5 | +Notice: if you want to change the image onMouseOver (hover) you have add "_hover" at the end of filename before the extention | ||
| 6 | +Example: | ||
| 7 | +// initial image | ||
| 8 | +icon.png | ||
| 9 | +// hover image | ||
| 10 | +icon_hover.png //adding _hover | ||
| 11 | +// the result css code will be: | ||
| 12 | +.icon {...} | ||
| 13 | +.icon:hover {...} | ||
| 14 | + | ||
| 15 | +# Usage | ||
| 16 | + | ||
| 17 | +```php | ||
| 18 | +// Initialize Class | ||
| 19 | +$pS = new picStylizer(); | ||
| 20 | + | ||
| 21 | +// define folder configuration | ||
| 22 | +$config = array( | ||
| 23 | + // set the origin folder | ||
| 24 | + "origin" => array( | ||
| 25 | + "images" => "origin/images" // folder from where the script will take the images | ||
| 26 | + ), | ||
| 27 | + // set destiny folder | ||
| 28 | + "destiny" => array( | ||
| 29 | + "styles" => "destiny/css/sprites.css", // define css style of sprites | ||
| 30 | + "sprites" => "destiny/sprites/sprites.png", // define the sprite image result | ||
| 31 | + "example" => "destiny/example/sprites.html", // define the html example | ||
| 32 | + "ini_path" => "../../" // define the path | ||
| 33 | + ) | ||
| 34 | + ); | ||
| 35 | +$pS->setFoldersConfig($config); | ||
| 36 | + | ||
| 37 | +// define minization (default: true) | ||
| 38 | +$pS->setMinization(); | ||
| 39 | + | ||
| 40 | +// define css style by default | ||
| 41 | +$css = 'body {backgound-color:#000;font-family:courier;color:#fff,font-size:14px;}'; | ||
| 42 | +$pS->setCssInit($css); | ||
| 43 | + | ||
| 44 | +// gen sprites, styles and html example | ||
| 45 | +$pS->getSprite(); | ||
| 46 | +``` |
| @@ -0,0 +1,32 @@ | @@ -0,0 +1,32 @@ | ||
| 1 | +<?php | ||
| 2 | +exit; | ||
| 3 | +include('picStylizer.php'); | ||
| 4 | + | ||
| 5 | +// initialize | ||
| 6 | +$pS = new picStylizer(); | ||
| 7 | + | ||
| 8 | +// define folder configuration | ||
| 9 | +$config = array( | ||
| 10 | + // set the origin folder | ||
| 11 | + "origin" => array( | ||
| 12 | + "images" => "origin/images" // folder from where the script will take the images | ||
| 13 | + ), | ||
| 14 | + // set destiny folder | ||
| 15 | + "destiny" => array( | ||
| 16 | + "styles" => "destiny/css/sprites.css", // define css style of sprites | ||
| 17 | + "sprites" => "destiny/sprites/sprites.png", // define the sprite image result | ||
| 18 | + "example" => "destiny/example/sprites.html", // define the html example | ||
| 19 | + "ini_path" => "../../" // define the path | ||
| 20 | + ) | ||
| 21 | + ); | ||
| 22 | +$pS->setFoldersConfig($config); | ||
| 23 | + | ||
| 24 | +// define minization [true/false] (default: true) | ||
| 25 | +$pS->setMinization(); | ||
| 26 | + | ||
| 27 | +// define css style by default (it will add to the sprites.css file) | ||
| 28 | +$css = 'body {background-color:#000;font-family:courier;color:#fff;font-size:14px;}'; | ||
| 29 | +$pS->setCssInit($css); | ||
| 30 | + | ||
| 31 | +// gen sprites, styles and html example | ||
| 32 | +$pS->getSprite(); |
| @@ -0,0 +1,437 @@ | @@ -0,0 +1,437 @@ | ||
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * Create a Css style and sprite from images | ||
| 5 | + * | ||
| 6 | + * @version 1.1 | ||
| 7 | + * @link https://github.com/lutian/picStylizer | ||
| 8 | + * @author Lutian (Luciano Salvino) | ||
| 9 | + * @license http://opensource.org/licenses/gpl-license.php GNU Public License | ||
| 10 | + * @copyright Luciano Salvino | ||
| 11 | + * | ||
| 12 | + * Thanks Aldo Conte for improvements on script! | ||
| 13 | + * Reduces the size of CSS script and sprite in a big way | ||
| 14 | + */ | ||
| 15 | + | ||
| 16 | + class picStylizer { | ||
| 17 | + | ||
| 18 | + /** | ||
| 19 | + * @var string The image result source | ||
| 20 | + */ | ||
| 21 | + private $im; | ||
| 22 | + | ||
| 23 | + /** | ||
| 24 | + * @var int W image | ||
| 25 | + */ | ||
| 26 | + private $im_w = 0; | ||
| 27 | + | ||
| 28 | + /** | ||
| 29 | + * @var int H image | ||
| 30 | + */ | ||
| 31 | + private $im_h = 0; | ||
| 32 | + | ||
| 33 | + /** | ||
| 34 | + * @var int X image | ||
| 35 | + */ | ||
| 36 | + private $im_x = 0; | ||
| 37 | + | ||
| 38 | + /** | ||
| 39 | + * @var int Y image | ||
| 40 | + */ | ||
| 41 | + private $im_y = 0; | ||
| 42 | + | ||
| 43 | + /** | ||
| 44 | + * @var string The image tmp result source | ||
| 45 | + */ | ||
| 46 | + private $temp; | ||
| 47 | + | ||
| 48 | + /** | ||
| 49 | + * @var int W temp | ||
| 50 | + */ | ||
| 51 | + private $temp_w = 0; | ||
| 52 | + | ||
| 53 | + /** | ||
| 54 | + * @var int H temp | ||
| 55 | + */ | ||
| 56 | + private $temp_h = 0; | ||
| 57 | + | ||
| 58 | + /** | ||
| 59 | + * @var int temp separation in px | ||
| 60 | + */ | ||
| 61 | + private $temp_sep = 2; | ||
| 62 | + | ||
| 63 | + /** | ||
| 64 | + * @var string temp_css | ||
| 65 | + */ | ||
| 66 | + private $temp_css = ''; | ||
| 67 | + | ||
| 68 | + /** | ||
| 69 | + * @var string temp_css | ||
| 70 | + */ | ||
| 71 | + private $temp_min_sep = "\n"; | ||
| 72 | + | ||
| 73 | + /** | ||
| 74 | + * @var string temp_html | ||
| 75 | + */ | ||
| 76 | + private $temp_html = ''; | ||
| 77 | + | ||
| 78 | + /** | ||
| 79 | + * @var string version | ||
| 80 | + */ | ||
| 81 | + private $version = '1.1'; | ||
| 82 | + | ||
| 83 | + /** | ||
| 84 | + * @var array folders_config folder | ||
| 85 | + */ | ||
| 86 | + private $folders_config = array( | ||
| 87 | + "origin" => array( | ||
| 88 | + "images" => "origin/images" | ||
| 89 | + ), | ||
| 90 | + "destiny" => array( | ||
| 91 | + "styles" => "destiny/css/sprites.css", | ||
| 92 | + "sprites" => "destiny/sprites/sprites.png", | ||
| 93 | + "example" => "destiny/example/sprites.html", | ||
| 94 | + "ini_path" => "../../" | ||
| 95 | + ) | ||
| 96 | + ); | ||
| 97 | + /* | ||
| 98 | + * @var string define default css style | ||
| 99 | + */ | ||
| 100 | + private $css_init = ''; | ||
| 101 | + | ||
| 102 | + /** | ||
| 103 | + * @var array sprites | ||
| 104 | + */ | ||
| 105 | + private $sprites = array(); | ||
| 106 | + | ||
| 107 | + /* | ||
| 108 | + * crate a sprite from images | ||
| 109 | + * @return: string $imageResult image result path | ||
| 110 | + */ | ||
| 111 | + | ||
| 112 | + public function getSprite() | ||
| 113 | + { | ||
| 114 | + | ||
| 115 | + // first read the origin folder looking for png pictures | ||
| 116 | + $arrImages = $this->readFolder($this->folders_config["origin"]["images"]); | ||
| 117 | + | ||
| 118 | + // save images array | ||
| 119 | + $this->setSprite($arrImages); | ||
| 120 | + | ||
| 121 | + // create the sprite | ||
| 122 | + $this->createSprite(); | ||
| 123 | + | ||
| 124 | + } | ||
| 125 | + | ||
| 126 | + /* | ||
| 127 | + * read folder looking for images | ||
| 128 | + * @return: array $result | ||
| 129 | + */ | ||
| 130 | + private function readFolder($dir='',$acceptedformats=array('png')) { | ||
| 131 | + $result = array(); | ||
| 132 | + $cdir = scandir($dir); | ||
| 133 | + // read origin dir | ||
| 134 | + foreach ($cdir as $key => $value) | ||
| 135 | + { | ||
| 136 | + // exclude non files | ||
| 137 | + if (!in_array($value,array(".",".."))) | ||
| 138 | + { | ||
| 139 | + // if have sub folders loop on the same function | ||
| 140 | + if (is_dir($dir . DIRECTORY_SEPARATOR . $value)) | ||
| 141 | + { | ||
| 142 | + $result[$value] = $this->readFolder($dir . DIRECTORY_SEPARATOR . $value); | ||
| 143 | + } | ||
| 144 | + else | ||
| 145 | + { | ||
| 146 | + // exclude files with extentions not accepted | ||
| 147 | + $ext = strtolower(substr($value, strrpos($value, '.') + 1)); | ||
| 148 | + if(in_array($ext, $acceptedformats)) { | ||
| 149 | + $result[] = $value; | ||
| 150 | + } | ||
| 151 | + } | ||
| 152 | + } | ||
| 153 | + } | ||
| 154 | + return $result; | ||
| 155 | + } | ||
| 156 | + | ||
| 157 | + /* | ||
| 158 | + * get the images info from array | ||
| 159 | + */ | ||
| 160 | + private function getImageInfoFromDir($dir,$subdir='') { | ||
| 161 | + | ||
| 162 | + foreach($dir as $key => $value){ | ||
| 163 | + if(!is_int($key)) { | ||
| 164 | + $this->getImageInfoFromDir($value,$subdir . $key . DIRECTORY_SEPARATOR); | ||
| 165 | + } else { | ||
| 166 | + $this->calculateSpriteWidthHeight($this->folders_config["origin"]["images"] . DIRECTORY_SEPARATOR . $subdir . $value); | ||
| 167 | + } | ||
| 168 | + } | ||
| 169 | + } | ||
| 170 | + | ||
| 171 | + /* | ||
| 172 | + * get the images info from array | ||
| 173 | + */ | ||
| 174 | + private function getImagesFromDir($dir,$subdir='') { | ||
| 175 | + foreach($dir as $key => $value){ | ||
| 176 | + if(!is_int($key)) { | ||
| 177 | + $this->getImagesFromDir($value,$subdir . $key . DIRECTORY_SEPARATOR); | ||
| 178 | + } else { | ||
| 179 | + $this->proccessMedia($this->folders_config["origin"]["images"] . DIRECTORY_SEPARATOR . $subdir . $value); | ||
| 180 | + } | ||
| 181 | + } | ||
| 182 | + } | ||
| 183 | + | ||
| 184 | + /* | ||
| 185 | + * create the sprite | ||
| 186 | + */ | ||
| 187 | + private function createSprite() { | ||
| 188 | + | ||
| 189 | + $arrImages = $this->getSprites(); | ||
| 190 | + | ||
| 191 | + | ||
| 192 | + if(count($arrImages)>0) { | ||
| 193 | + | ||
| 194 | + // calculate sprite width and height | ||
| 195 | + $this->getImageInfoFromDir($arrImages); | ||
| 196 | + | ||
| 197 | + // create the empty sprite | ||
| 198 | + $this->im = imagecreatetruecolor($this->im_w, $this->im_h); | ||
| 199 | + imagealphablending($this->im, false); | ||
| 200 | + $transparency = imagecolorallocatealpha($this->im, 0, 0, 0, 127); | ||
| 201 | + imagefill($this->im, 0, 0, $transparency); | ||
| 202 | + imagesavealpha($this->im, true); | ||
| 203 | + | ||
| 204 | + $x = 0; | ||
| 205 | + $y = 0; | ||
| 206 | + | ||
| 207 | + $this->getImagesFromDir($arrImages); | ||
| 208 | + | ||
| 209 | + // save the sprite | ||
| 210 | + $this->saveSprite(); | ||
| 211 | + | ||
| 212 | + // save the css | ||
| 213 | + $this->saveCss(); | ||
| 214 | + | ||
| 215 | + // save the example html | ||
| 216 | + $this->saveHtml(); | ||
| 217 | + | ||
| 218 | + } | ||
| 219 | + | ||
| 220 | + | ||
| 221 | + | ||
| 222 | + header('location:'.$this->folders_config['destiny']['example']); | ||
| 223 | + exit(); | ||
| 224 | + | ||
| 225 | + } | ||
| 226 | + | ||
| 227 | + /* | ||
| 228 | + * calculate sprite w & h | ||
| 229 | + * @param: string $image | ||
| 230 | + * @return: object $this->temp | ||
| 231 | + */ | ||
| 232 | + private function calculateSpriteWidthHeight($image) { | ||
| 233 | + if(is_file($image)) { | ||
| 234 | + $arrImage = @getimagesize($image); | ||
| 235 | + // updated by Aldo Conte | ||
| 236 | + $tmps = $arrImage[0]+$this->temp_sep; | ||
| 237 | + if ($tmps > $this->im_w) $this->im_w = $arrImage[0]+$this->temp_sep; | ||
| 238 | + // end | ||
| 239 | + $this->im_h += $arrImage[1]+$this->temp_sep; | ||
| 240 | + } | ||
| 241 | + } | ||
| 242 | + | ||
| 243 | + /* | ||
| 244 | + * proccess media | ||
| 245 | + * @param: string $image | ||
| 246 | + * @return: object $this->temp | ||
| 247 | + */ | ||
| 248 | + private function proccessMedia($image) { | ||
| 249 | + if(is_file($image)) { | ||
| 250 | + $arrImage = @getimagesize($image); | ||
| 251 | + $this->temp_w = $arrImage[0]; | ||
| 252 | + $this->temp_h = $arrImage[1]; | ||
| 253 | + | ||
| 254 | + $tmp = ImageCreateTrueColor($this->im_w, $this->im_h); | ||
| 255 | + imagealphablending($tmp, false); | ||
| 256 | + $col=imagecolorallocatealpha($tmp,255,255,255,0); | ||
| 257 | + imagefilledrectangle($tmp,0,0,$this->im_w, $this->im_h,$col); | ||
| 258 | + imagealphablending($tmp,true); | ||
| 259 | + | ||
| 260 | + $gd_ext = substr($image, -3); | ||
| 261 | + | ||
| 262 | + if(strtolower($gd_ext) == "gif") { | ||
| 263 | + if (!$this->temp = imagecreatefromgif($image)) { | ||
| 264 | + exit; | ||
| 265 | + } | ||
| 266 | + } else if(strtolower($gd_ext) == "jpg") { | ||
| 267 | + if (!$this->temp = imagecreatefromjpeg($image)) { | ||
| 268 | + exit; | ||
| 269 | + } | ||
| 270 | + } else if(strtolower($gd_ext) == "png") { | ||
| 271 | + if (!$this->temp = imagecreatefrompng($image)) { | ||
| 272 | + exit; | ||
| 273 | + } | ||
| 274 | + } else { | ||
| 275 | + die; | ||
| 276 | + } | ||
| 277 | + | ||
| 278 | + imagecopyresampled($tmp, $this->im, 0, 0, 0, 0, $this->im_w, $this->im_h, $this->im_w, $this->im_h); | ||
| 279 | + imagealphablending($tmp,true); | ||
| 280 | + | ||
| 281 | + // add each image to sprite | ||
| 282 | + | ||
| 283 | + // updated by Aldo Conte | ||
| 284 | + imagecopyresampled($this->im, $this->temp, 0, $this->im_y, 0, 0, $this->temp_w, $this->temp_h, $this->temp_w, $this->temp_h); | ||
| 285 | + // end | ||
| 286 | + | ||
| 287 | + imagealphablending($this->im,true); | ||
| 288 | + | ||
| 289 | + $ext = substr($image, strrpos($image, '.')); | ||
| 290 | + | ||
| 291 | + $filename = basename($image,$ext); | ||
| 292 | + | ||
| 293 | + // add piece of script to css | ||
| 294 | + $this->genCssPieceCode($filename); | ||
| 295 | + | ||
| 296 | + // add piece of script to html example | ||
| 297 | + $this->genHtmlPieceCode($filename); | ||
| 298 | + | ||
| 299 | + $this->im_x += $this->temp_w+$this->temp_sep; | ||
| 300 | + $this->im_y += $this->temp_h+$this->temp_sep; | ||
| 301 | + | ||
| 302 | + } else { | ||
| 303 | + die; | ||
| 304 | + } | ||
| 305 | + } | ||
| 306 | + | ||
| 307 | + private function genCssPieceCode($name) { | ||
| 308 | + // if filename contain "_hover" add the part of code | ||
| 309 | + if(strpos($name,"_hover")!==false) $name = substr($name,0,-6).':hover'; | ||
| 310 | + | ||
| 311 | + // updated by Aldo Conte | ||
| 312 | + $temp_css_detail = "background:url('".$this->folders_config['destiny']['ini_path'].$this->folders_config['destiny']['sprites']."') 0 -".$this->im_y."px no-repeat;".$this->temp_min_sep; | ||
| 313 | + // end | ||
| 314 | + | ||
| 315 | + $temp_css_detail .= "width:".$this->temp_w."px; height:".$this->temp_h."px".$this->temp_min_sep; | ||
| 316 | + $temp_css = ".".$name." {".$temp_css_detail."}".$this->temp_min_sep; | ||
| 317 | + $this->temp_css .= $temp_css; | ||
| 318 | + } | ||
| 319 | + | ||
| 320 | + private function genHtmlPieceCode($name) { | ||
| 321 | + // if filename contain "_hover" add the part of code | ||
| 322 | + if(strpos($name,"_hover")===false) { | ||
| 323 | + $temp_html = '<h3>class: '.$name.'</h3>'; | ||
| 324 | + $temp_html .= '<div class="'.$name.'">'; | ||
| 325 | + $temp_html .= '</div>'; | ||
| 326 | + $this->temp_html .= $temp_html; | ||
| 327 | + } | ||
| 328 | + } | ||
| 329 | + | ||
| 330 | + private function saveSprite() { | ||
| 331 | + imagepng($this->im,$this->folders_config['destiny']['sprites'],3); | ||
| 332 | + return $this->im; | ||
| 333 | + imagedestroy($this->im); | ||
| 334 | + } | ||
| 335 | + | ||
| 336 | + private function saveCss() { | ||
| 337 | + $css_path = $this->folders_config['destiny']['styles']; | ||
| 338 | + file_put_contents($css_path,$this->css_init.$this->temp_css); | ||
| 339 | + } | ||
| 340 | + | ||
| 341 | + private function saveHtml() { | ||
| 342 | + $html_path = $this->folders_config['destiny']['example']; | ||
| 343 | + $html = '<link rel="stylesheet" href="'.$this->folders_config['destiny']['ini_path'].$this->folders_config['destiny']['styles'].'">'.$this->temp_html; | ||
| 344 | + file_put_contents($html_path,$html); | ||
| 345 | + } | ||
| 346 | + | ||
| 347 | + | ||
| 348 | + /** | ||
| 349 | + * Set the image temp result | ||
| 350 | + * @var object $temp | ||
| 351 | + * @return object | ||
| 352 | + */ | ||
| 353 | + private function setTemp($temp) | ||
| 354 | + { | ||
| 355 | + return $this->temp = $temp; | ||
| 356 | + } | ||
| 357 | + | ||
| 358 | + /** | ||
| 359 | + * Get the image temp result | ||
| 360 | + * | ||
| 361 | + * @return object | ||
| 362 | + */ | ||
| 363 | + private function getImageTemp() | ||
| 364 | + { | ||
| 365 | + return $this->temp; | ||
| 366 | + } | ||
| 367 | + | ||
| 368 | + /** | ||
| 369 | + * Set the image result | ||
| 370 | + * @var object $image | ||
| 371 | + * @return object | ||
| 372 | + */ | ||
| 373 | + private function setImage($image) | ||
| 374 | + { | ||
| 375 | + return $this->im = $image; | ||
| 376 | + } | ||
| 377 | + | ||
| 378 | + /** | ||
| 379 | + * Get the image result | ||
| 380 | + * | ||
| 381 | + * @return object | ||
| 382 | + */ | ||
| 383 | + private function getImage() | ||
| 384 | + { | ||
| 385 | + return $this->im; | ||
| 386 | + } | ||
| 387 | + | ||
| 388 | + /** | ||
| 389 | + * Set sprites array | ||
| 390 | + * | ||
| 391 | + * @return array | ||
| 392 | + */ | ||
| 393 | + private function setSprite($sprites) | ||
| 394 | + { | ||
| 395 | + return $this->sprites = $sprites; | ||
| 396 | + } | ||
| 397 | + | ||
| 398 | + /** | ||
| 399 | + * Get sprites array | ||
| 400 | + * | ||
| 401 | + * @return array | ||
| 402 | + */ | ||
| 403 | + private function getSprites() | ||
| 404 | + { | ||
| 405 | + return $this->sprites; | ||
| 406 | + } | ||
| 407 | + | ||
| 408 | + /** | ||
| 409 | + * Set css obfuscation | ||
| 410 | + * | ||
| 411 | + * @return string | ||
| 412 | + */ | ||
| 413 | + public function setMinization($obs = true) { | ||
| 414 | + if($obs) $this->temp_min_sep = ''; | ||
| 415 | + else $this->temp_min_sep = "\n"; | ||
| 416 | + } | ||
| 417 | + | ||
| 418 | + /** | ||
| 419 | + * Set css init | ||
| 420 | + * | ||
| 421 | + * @return string | ||
| 422 | + */ | ||
| 423 | + public function setCssInit($style) { | ||
| 424 | + $this->css_init = $style.$this->temp_min_sep; | ||
| 425 | + } | ||
| 426 | + | ||
| 427 | + /** | ||
| 428 | + * Set folder config array | ||
| 429 | + * | ||
| 430 | + * @return array | ||
| 431 | + */ | ||
| 432 | + public function setFoldersConfig($config) | ||
| 433 | + { | ||
| 434 | + return $this->folders_config = $config; | ||
| 435 | + } | ||
| 436 | + | ||
| 437 | + } |