comments + images

This commit is contained in:
franzz committed 2015-12-27 13:08:01 +01:00
1 parent 8887e888b7
commit d8e3fe4127
9 files changed
+631 -50

No files matched your search

+104 -29
View File
@@ -12,6 +12,9 @@ class Spot extends Main
const MSG_TABLE = 'messages';
const FEED_TABLE = 'feeds';
const SPOT_TABLE = 'spots';
const POST_TABLE = 'posts';
const FORMAT_TIME = 'd/m/Y à H:i';
public function __construct($oClassManagement, $sProcessPage)
{
@@ -35,7 +38,8 @@ class Spot extends Main
(
self::MSG_TABLE => array('ref_msg_id', MySqlManager::getId(self::FEED_TABLE), 'type', 'latitude', 'longitude', 'timestamp', 'unix_timestamp', 'content', 'battery_state'),
self::FEED_TABLE => array('ref_feed_id', MySqlManager::getId(self::SPOT_TABLE), 'name', 'description', 'status'),
self::SPOT_TABLE => array('ref_spot_id', 'name', 'model')
self::SPOT_TABLE => array('ref_spot_id', 'name', 'model'),
self::POST_TABLE => array('name', 'content')
),
'types' => array
(
@@ -52,7 +56,7 @@ class Spot extends Main
'model' => "VARCHAR(20)",
'ref_feed_id' => "VARCHAR(40)",
'description' => "VARCHAR(100)",
'status' => "VARCHAR(10)"
'status' => "VARCHAR(10)",
),
'constraints' => array
(
@@ -80,8 +84,8 @@ class Spot extends Main
private function getFeed($sRefFeedId=self::FEED_ID)
{
$sUrl = self::FEED_HOOK.$sRefFeedId.self::FEED_TYPE_JSON;
$sContent = file_get_contents($sUrl);
//$sContent = '{"response":{"feedMessageResponse":{"count":1,"feed":{"id":"0Y5LrvigElWeAieBGnFol0KBEuOTkFJmm","name":"Te Araroa","description":"Te Araroa","status":"ACTIVE","usage":0,"daysRange":7,"detailedMessageShown":false},"totalCount":1,"activityCount":0,"messages":{"message":{"@clientUnixTime":"0","id":477259564,"messengerId":"0-2489517","messengerName":"Francois","unixTime":1449002345,"messageType":"OK","latitude":48.85129,"longitude":2.40491,"modelId":"SPOT3","showCustomMsg":"N","dateTime":"2015-12-01T20:39:05+0000","messageDetail":"","batteryState":"GOOD","hidden":0,"messageContent":"Jusque là , tout va bien ! Click sur le lien en dessous pour voir où je suis :)\r\n\r\n@Clara: <3"}}}}}';
//$sContent = file_get_contents($sUrl);
$sContent = '{"response":{"feedMessageResponse":{"count":1,"feed":{"id":"0Y5LrvigElWeAieBGnFol0KBEuOTkFJmm","name":"Te Araroa","description":"Te Araroa","status":"ACTIVE","usage":0,"daysRange":7,"detailedMessageShown":false},"totalCount":1,"activityCount":0,"messages":{"message":{"@clientUnixTime":"0","id":477259564,"messengerId":"0-2489517","messengerName":"Francois","unixTime":1449002345,"messageType":"OK","latitude":48.85129,"longitude":2.40491,"modelId":"SPOT3","showCustomMsg":"N","dateTime":"2015-12-01T20:39:05+0000","messageDetail":"","batteryState":"GOOD","hidden":0,"messageContent":"Jusque là , tout va bien ! Click sur le lien en dessous pour voir où je suis :)\r\n\r\n@Clara: <3"}}}}}';
return json_decode($sContent, true);
}
@@ -91,8 +95,6 @@ class Spot extends Main
$asMsgs = $asData['response']['feedMessageResponse']['messages'];
$asFeed = $asData['response']['feedMessageResponse']['feed'];
$this->oMySql->setTrace(true);
if(!empty($asMsgs))
{
//Update Spot Info
@@ -138,35 +140,83 @@ class Spot extends Main
$this->oMySql->insertUpdateRow(self::MSG_TABLE, $test, array('ref_msg_id'));
*/
$bSuccess = true;
$sDesc = '';
//Check last message & update feed if necessary (max once a day)
$sLastMsg = $this->oMySql->selectValue(self::FEED_TABLE, 'led', array('ref_feed_id'=>$sRefFeedId));
if(mb_substr($sLastMsg, 0, 10) != date('Y-m-d'))
{
$this->updateFeed($sRefFeedId);
}
$asMessages = $this->oMySql->selectRows(array('from'=>self::MSG_TABLE));
if(empty($asMessages))
{
$bSuccess = false;
$sDesc = self::NO_DATA;
}
else
{
foreach($asMessages as $iKey=>$asMessage)
{
$iUnixTimeStamp = strtotime($asMessage['timestamp']);
$asMessages[$iKey]['relative_time'] = Toolbox::getDateTimeDesc($iUnixTimeStamp);
$asMessages[$iKey]['formatted_time'] = date('d/m/Y à H:i', $iUnixTimeStamp);
}
}
if(mb_substr($sLastMsg, 0, 10) != date('Y-m-d')) $this->updateFeed($sRefFeedId);
//Extract messages
$asMessages = $this->getSpotMessages();
$bSuccess = !empty($asMessages);
$sDesc = $bSuccess?'':self::NO_DATA;
return self::getJsonResult($bSuccess, $sDesc, $asMessages);
}
private function getSpotMessages()
{
$asMessages = $this->oMySql->selectRows(array('from'=>self::MSG_TABLE));
foreach($asMessages as $iKey=>$asMessage)
{
$iUnixTimeStamp = strtotime($asMessage['timestamp']);
$asMessages[$iKey]['relative_time'] = Toolbox::getDateTimeDesc($iUnixTimeStamp);
$asMessages[$iKey]['formatted_time'] = date(self::FORMAT_TIME, $iUnixTimeStamp);
}
return $asMessages;
}
public function getNewsFeed()
{
$asFeed = array();
//Messages
$asMessages = $this->getSpotMessages();
foreach($asMessages as $asMessage)
{
$iId = $asMessage['unix_timestamp'] * -1;
$asFeed[$iId] = $asMessage;// array('type'=>'message', 'time'=>$asMessage['relative_time'], 'text'=>$asMessage['relative_time']);
$asFeed[$iId]['type'] = 'message';
$asFeed[$iId]['id'] = $asMessage[MySqlManager::getId(self::MSG_TABLE)];
}
//Pictures
$asPicPaths = glob('files/*.*');
foreach($asPicPaths as $iKey=>$sPicPath)
{
//Finding picture timestamp
$asPicInfo = self::getPicInfo($sPicPath);
$iPicTimeStamp = $asPicInfo['timestamp'];
//Preparing pictures sorting key and related info
$asFeed[$iPicTimeStamp*-1] = array( 'type' => 'picture',
'id' => $iKey,
'path' => $sPicPath,
'rotate' => $asPicInfo['rotate'],
'formatted_time'=> date(self::FORMAT_TIME, $iPicTimeStamp),
'relative_time' => Toolbox::getDateTimeDesc($iPicTimeStamp));
}
//Post
$asPosts = $this->oMySql->selectRows(array('from'=>self::POST_TABLE));
foreach($asPosts as $iKey=>$asPost)
{
$iUnixTimeStamp = strtotime($asPost['led']);
$iId = $iUnixTimeStamp * -1;
$asFeed[$iId] = array('name'=>Toolbox::mb_ucwords($asPost['name']), 'post'=>$asPost['content'], 'type'=>'post');;
$asFeed[$iId]['relative_time'] = Toolbox::getDateTimeDesc($iUnixTimeStamp);
$asFeed[$iId]['formatted_time'] = date(self::FORMAT_TIME, $iUnixTimeStamp);
}
ksort($asFeed);
return self::getJsonResult(true, '', $asFeed);
}
public function addPost($sName, $sPost)
{
$asData = array('name'=>mb_strtolower(trim($sName)), 'content'=>trim($sPost));
$iPostId = $this->oMySql->insertRow(self::POST_TABLE, $asData);
return self::getJsonResult(($iPostId > 0), '');
}
public function upload()
{
$this->oClassManagement->incClass('uploader', true);
@@ -174,6 +224,31 @@ class Spot extends Main
$oUploader->init();
return $oUploader->getBody();
}
public static function getPicInfo($sPicPath)
{
$iPicTimeStamp = 0;
$asExif = exif_read_data($sPicPath, 0, true);
//Timestamp
if(array_key_exists('DateTimeOriginal', $asExif['EXIF'])) $iPicTimeStamp = strtotime($asExif['EXIF']['DateTimeOriginal']);
else $iPicTimeStamp = $asExif['FILE']['FileDateTime'];
//Time Zone
//if($iPicTimeStamp >= self::HONEYMOON_DATE_BEG && $iPicTimeStamp <= self::HONEYMOON_DATE_END) $iPicTimeStamp -= 60*60*(12+1); //timezone + daylight saving
//Orientation
switch($asExif['IFD0']['Orientation'])
{
case 1: $sRotate = '0'; break; //None
case 3: $sRotate = '180'; break; //Flip over
case 6: $sRotate = '90'; break; //Clockwise
case 8: $sRotate = '-90'; break; //Trigo
default: $sRotate = $asExif['IFD0']['Orientation'];
}
return array('timestamp'=>$iPicTimeStamp, 'rotate'=>$sRotate);
}
}
?>
+8
View File
@@ -18,6 +18,8 @@ ToolBox::fixGlobalVars(isset($argv)?$argv:array());
//Available variables
$sAction = isset($_REQUEST['a'])?$_REQUEST['a']:'';
$sPage = isset($_GET['p'])?$_GET['p']:'index';
$sName = isset($_GET['name'])?$_GET['name']:'';
$sContent = isset($_GET['content'])?$_GET['content']:'';
//Initiate class
$oSpot = new Spot($oClassManagement, __FILE__);
@@ -30,9 +32,15 @@ if($sAction!='')
case 'messages':
$sResult = $oSpot->getMessages();
break;
case 'feed':
$sResult = $oSpot->getNewsFeed();
break;
case 'upload':
$sResult = $oSpot->upload();
break;
case 'add_post':
$sResult = $oSpot->addPost($sName, $sContent);
break;
default:
$sResult = Spot::getJsonResult(false, Spot::NOT_FOUND);
}
+72 -11
View File
@@ -2,12 +2,24 @@
<div id="map">
<div class="loader fa fa-map"></div>
</div>
<div id="feed">
<div id="poster">
<input id="post" name="post" type="text" />
<input id="name" name="name" type="text" />
<input id="submit" name="submit" type="button" value="+" />
</div>
<div id="posts"></div>
</div>
</div>
<script type="text/javascript">
oSpot.pageInit = function(asHash)
{
self.get('messages', function(oMessages){
//Build Feed
updateFeed();
//setInterval(updateFeed, 60 * 1000); //refresh every minute
//Building messages
aoMessages = [];
$.each(oMessages, function(iKey, oMsg)
@@ -50,17 +62,6 @@ oSpot.pageInit = function(asHash)
{
values:aoMessages,
options:{draggable:false},
/*events:{click:function(marker, event, context)
{
var asHash = self.getHash();
var sDestHash = asHash.items[0] || '';
var sSafeDest = self.tmp(['safedest', sDestHash]);
if(context.id!=sSafeDest)
{
self.setHash('honeymoon', [self.tmp(['hash', context.id])]);
}
else self.zoomIn(marker, event, context);
}}*/
events:
{
mouseover: function(marker, event, context)
@@ -83,5 +84,65 @@ oSpot.pageInit = function(asHash)
});
self.tmp('map', $Map.gmap3("get"));
});
//Post
$('#name').defaultVal('Nom...');
$('#post').defaultVal('Ton message...');
$('#submit').click(function(){
if($('#poster').checkForm())
{
self.get(
'add_post',
function()
{
$('#name').val('');
$('#post').val('');
updateFeed();
},
{name:$('#name').val(), content:$('#post').val()}
);
}
});
};
function updateFeed()
{
self.get('feed', function(asData){
var $Posts = $('#posts').empty();
$.each(asData, function(iKey, asPost){
var $Post = $('<div>', {'class':'post '+asPost.type});
var sRelTime = asPost.relative_time;
var sAbsTime = asPost.formatted_time;
var $Body = {};
switch(asPost.type)
{
case 'message':
$Body = $('<span>').addIcon('fa-compass', true).append(asPost.latitude+' | '+asPost.longitude);
sClass = 'compass';
break;
case 'picture':
var $Image = $('<img>', {'src':asPost.path/*, 'style':'transform:rotate('+asPost.rotate+'deg);'*/});
$Body = $('<a>', {href:asPost.path, 'data-lightbox':'image-'+asPost.id, 'data-title':asPost.formatted_time}).append($Image);
sClass = 'image';
break;
case 'post':
$Body = $('<div>')
.append($('<p>', {'class':'message'}).text(asPost.post))
.append($('<p>', {'class':'signature'}).text('-- '+asPost.name));
sClass = 'comment';
break;
}
$Post
.append($('<div>', {'class':'header'})
.append($('<span>', {'class':'index'}).addIcon('fa-'+sClass))
.append($('<span>', {'class':'time', 'title':sAbsTime}).text(sRelTime)))
.append($('<div>', {'class':'body'}).append($Body))
.appendTo($Posts);
if(asPost.id) $Post.find('.index').append(' '+asPost.id);
//if(asPost.type=='picture' && asPost.rotate!='0') $Body.height($Image.height());
});
});
}
</script>
+3
View File
@@ -9,3 +9,6 @@
/* FileUpload - v9.11.2 - https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.fileupload.js */
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","jquery.ui.widget"],e):"object"==typeof exports?e(require("jquery"),require("./vendor/jquery.ui.widget")):e(window.jQuery)}(function(e){"use strict";function t(t){var i="dragover"===t;return function(r){r.dataTransfer=r.originalEvent&&r.originalEvent.dataTransfer;var n=r.dataTransfer;n&&-1!==e.inArray("Files",n.types)&&this._trigger(t,e.Event(t,{delegatedEvent:r}))!==!1&&(r.preventDefault(),i&&(n.dropEffect="copy"))}}e.support.fileInput=!(new RegExp("(Android (1\\.[0156]|2\\.[01]))|(Windows Phone (OS 7|8\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)|(w(eb)?OSBrowser)|(webOS)|(Kindle/(1\\.0|2\\.[05]|3\\.0))").test(window.navigator.userAgent)||e('<input type="file">').prop("disabled")),e.support.xhrFileUpload=!(!window.ProgressEvent||!window.FileReader),e.support.xhrFormDataFileUpload=!!window.FormData,e.support.blobSlice=window.Blob&&(Blob.prototype.slice||Blob.prototype.webkitSlice||Blob.prototype.mozSlice),e.widget("blueimp.fileupload",{options:{dropZone:e(document),pasteZone:void 0,fileInput:void 0,replaceFileInput:!0,paramName:void 0,singleFileUploads:!0,limitMultiFileUploads:void 0,limitMultiFileUploadSize:void 0,limitMultiFileUploadSizeOverhead:512,sequentialUploads:!1,limitConcurrentUploads:void 0,forceIframeTransport:!1,redirect:void 0,redirectParamName:void 0,postMessage:void 0,multipart:!0,maxChunkSize:void 0,uploadedBytes:void 0,recalculateProgress:!0,progressInterval:100,bitrateInterval:500,autoUpload:!0,messages:{uploadedBytes:"Uploaded bytes exceed file size"},i18n:function(t,i){return t=this.messages[t]||t.toString(),i&&e.each(i,function(e,i){t=t.replace("{"+e+"}",i)}),t},formData:function(e){return e.serializeArray()},add:function(t,i){return t.isDefaultPrevented()?!1:void((i.autoUpload||i.autoUpload!==!1&&e(this).fileupload("option","autoUpload"))&&i.process().done(function(){i.submit()}))},processData:!1,contentType:!1,cache:!1,timeout:0},_specialOptions:["fileInput","dropZone","pasteZone","multipart","forceIframeTransport"],_blobSlice:e.support.blobSlice&&function(){var e=this.slice||this.webkitSlice||this.mozSlice;return e.apply(this,arguments)},_BitrateTimer:function(){this.timestamp=Date.now?Date.now():(new Date).getTime(),this.loaded=0,this.bitrate=0,this.getBitrate=function(e,t,i){var r=e-this.timestamp;return(!this.bitrate||!i||r>i)&&(this.bitrate=(t-this.loaded)*(1e3/r)*8,this.loaded=t,this.timestamp=e),this.bitrate}},_isXHRUpload:function(t){return!t.forceIframeTransport&&(!t.multipart&&e.support.xhrFileUpload||e.support.xhrFormDataFileUpload)},_getFormData:function(t){var i;return"function"===e.type(t.formData)?t.formData(t.form):e.isArray(t.formData)?t.formData:"object"===e.type(t.formData)?(i=[],e.each(t.formData,function(e,t){i.push({name:e,value:t})}),i):[]},_getTotal:function(t){var i=0;return e.each(t,function(e,t){i+=t.size||1}),i},_initProgressObject:function(t){var i={loaded:0,total:0,bitrate:0};t._progress?e.extend(t._progress,i):t._progress=i},_initResponseObject:function(e){var t;if(e._response)for(t in e._response)e._response.hasOwnProperty(t)&&delete e._response[t];else e._response={}},_onProgress:function(t,i){if(t.lengthComputable){var r,n=Date.now?Date.now():(new Date).getTime();if(i._time&&i.progressInterval&&n-i._time<i.progressInterval&&t.loaded!==t.total)return;i._time=n,r=Math.floor(t.loaded/t.total*(i.chunkSize||i._progress.total))+(i.uploadedBytes||0),this._progress.loaded+=r-i._progress.loaded,this._progress.bitrate=this._bitrateTimer.getBitrate(n,this._progress.loaded,i.bitrateInterval),i._progress.loaded=i.loaded=r,i._progress.bitrate=i.bitrate=i._bitrateTimer.getBitrate(n,r,i.bitrateInterval),this._trigger("progress",e.Event("progress",{delegatedEvent:t}),i),this._trigger("progressall",e.Event("progressall",{delegatedEvent:t}),this._progress)}},_initProgressListener:function(t){var i=this,r=t.xhr?t.xhr():e.ajaxSettings.xhr();r.upload&&(e(r.upload).bind("progress",function(e){var r=e.originalEvent;e.lengthComputable=r.lengthComputable,e.loaded=r.loaded,e.total=r.total,i._onProgress(e,t)}),t.xhr=function(){return r})},_isInstanceOf:function(e,t){return Object.prototype.toString.call(t)==="[object "+e+"]"},_initXHRData:function(t){var i,r=this,n=t.files[0],o=t.multipart||!e.support.xhrFileUpload,s="array"===e.type(t.paramName)?t.paramName[0]:t.paramName;t.headers=e.extend({},t.headers),t.contentRange&&(t.headers["Content-Range"]=t.contentRange),o&&!t.blob&&this._isInstanceOf("File",n)||(t.headers["Content-Disposition"]='attachment; filename="'+encodeURI(n.name)+'"'),o?e.support.xhrFormDataFileUpload&&(t.postMessage?(i=this._getFormData(t),t.blob?i.push({name:s,value:t.blob}):e.each(t.files,function(r,n){i.push({name:"array"===e.type(t.paramName)&&t.paramName[r]||s,value:n})})):(r._isInstanceOf("FormData",t.formData)?i=t.formData:(i=new FormData,e.each(this._getFormData(t),function(e,t){i.append(t.name,t.value)})),t.blob?i.append(s,t.blob,n.name):e.each(t.files,function(n,o){(r._isInstanLine truncated
/* Lightbox - v2.8.2 - http://lokeshdhakar.com/projects/lightbox2 - Released under the MIT license */
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a){function b(b){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}return b.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:500,fitImagesInViewport:!0,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1},b.prototype.option=function(b){a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=function(){this.enable(),this.build()},b.prototype.enable=function(){var b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!1})},b.prototype.build=function(){var b=this;a('<div id="lightboxOverlay" class="lightboxOverlay"></div><div id="lightbox" class="lightbox"><div class="lb-outerContainer"><div class="lb-container"><img class="lb-image" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /><div class="lb-nav"><a class="lb-prev" href="" ></a><a class="lb-next" href="" ></a></div><div class="lb-loader"><a class="lb-cancel"></a></div></div></div><div class="lb-dataContainer"><div class="lb-data"><div class="lb-details"><span class="lb-caption"></span><span class="lb-number"></span></div><div class="lb-closeContainer"><a class="lb-close"></a></div></div></div></div>').appendTo(a("body")),this.$lightbox=a("#lightbox"),this.$overlay=a("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.containerTopPadding=parseInt(this.$container.css("padding-top"),10),this.containerRightPadding=parseInt(this.$container.css("padding-right"),10),this.containerBottomPadding=parseInt(this.$container.css("padding-bottom"),10),this.containerLeftPadding=parseInt(this.$container.css("padding-left"),10),this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})},b.prototype.start=function(b){function c(a){d.album.push({link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;i<f.length;i=++i)c(a(f[i])),f[i]===b[0]&&(g=i)}else if("lightbox"===b.attr("rel"))c(b);else{f=a(b.prop("tagName")+'[rel="'+b.attr("rel")+'"]');for(var j=0;j<f.length;j=++j)c(a(f[j])),f[j]===b[0]&&(g=j)}var k=e.scrollTop()+this.options.positionFromTop,l=e.scrollLeft();this.$lightbox.css({top:k+"px",left:l+"px"}).fadeIn(this.options.fadeDuration),this.options.disableScrolling&&a("body").addClass("lb-disable-scrolling"),this.changeImage(g)},b.prototype.changeImage=function(b){var c=this;this.disableKeyboardNav();var d=this.$lightbox.find(".lb-image");this.$overlay.fadeIn(this.options.fadeDuration),a(".lb-loader").fadeIn("slow"),this.$lightbox.find(".lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption").hide(),this.$outerContainer.addClass("animating");var e=new Image;e.onload=function(){var f,g,h,i,j,k,l;d.attr("src",c.album[b].link),f=a(e),d.width(e.width),d.height(e.height),c.options.fitImagesInViewport&&(l=a(window).width(),k=a(window).height(),j=l-c.containerLeftPadding-c.containerRightPadding-20,i=k-c.containerTopPadding-c.containerBottomPadding-120,c.options.maxWidth&&c.options.maxWidth<j&&(j=c.options.maxWidth),c.options.maxHeight&&c.options.maxHeight<j&&(i=c.options.maxHeight),(e.width>j||e.height>i)&&(e.width/j>e.height/i?(h=j,g=parseInt(e.height/(e.width/h),10),d.width(h),d.height(g)):(g=i,h=parseInt(e.width/(e.height/g),10),d.width(h),d.height(g)))),c.sizeContainer(d.width(),d.height())},e.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.showImage()}varLine truncated
+40 -3
View File
@@ -226,7 +226,44 @@ function setElem(aoAnchor, asPath, oValue)
}
}
$.prototype.addIcon = function(sIcon)
$.prototype.addIcon = function(sIcon, bMargin)
{
return $(this).prepend($('<i>', {'class':'fa '+sIcon}));
};
bMargin = bMargin || false;
return $(this).prepend($('<i>', {'class':'fa '+sIcon+(bMargin?' push':'')}));
};
$.prototype.defaultVal = function(sDefaultValue)
{
$(this)
.data('default_value', sDefaultValue)
.val(sDefaultValue)
.addClass('defaultText')
.focus(function()
{
var $This = $(this);
if($This.val() == $This.data('default_value')) $This.val('').removeClass('defaultText');
})
.blur(function()
{
var $This = $(this);
if($This.val() == '') $This.val($This.data('default_value')).addClass('defaultText');
});
};
$.prototype.checkForm = function(sSelector)
{
sSelector = sSelector || 'input[type="text"], textarea';
var $This = $(this);
var bOk = true;
$This.find(sSelector).each(function()
{
$This = $(this);
bOk = bOk && $This.val()!='' && $This.val()!=$This.data('default_value');
});
return bOk;
};
$.prototype.cascadingDown = function(sDuration)
{
return $(this).slideDown(sDuration, function(){$(this).next().cascadingDown(sDuration);});
};
+206
View File
@@ -0,0 +1,206 @@
/* Preload images */
body:after {
content: url(../images/close.png) url(../images/loading.gif) url(../images/prev.png) url(../images/next.png);
display: none;
}
body.lb-disable-scrolling {
overflow: hidden;
}
.lightboxOverlay {
position: absolute;
top: 0;
left: 0;
z-index: 9999;
background-color: black;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
opacity: 0.8;
display: none;
}
.lightbox {
position: absolute;
left: 0;
width: 100%;
z-index: 10000;
text-align: center;
line-height: 0;
font-weight: normal;
}
.lightbox .lb-image {
display: block;
height: auto;
max-width: inherit;
border-radius: 3px;
}
.lightbox a img {
border: none;
}
.lb-outerContainer {
position: relative;
background-color: white;
*zoom: 1;
width: 250px;
height: 250px;
margin: 0 auto;
border-radius: 4px;
}
.lb-outerContainer:after {
content: "";
display: table;
clear: both;
}
.lb-container {
padding: 4px;
}
.lb-loader {
position: absolute;
top: 43%;
left: 0;
height: 25%;
width: 100%;
text-align: center;
line-height: 0;
}
.lb-cancel {
display: block;
width: 32px;
height: 32px;
margin: 0 auto;
background: url(../images/loading.gif) no-repeat;
}
.lb-nav {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 10;
}
.lb-container > .nav {
left: 0;
}
.lb-nav a {
outline: none;
background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
}
.lb-prev, .lb-next {
height: 100%;
cursor: pointer;
display: block;
}
.lb-nav a.lb-prev {
width: 34%;
left: 0;
float: left;
background: url(../images/prev.png) left 48% no-repeat;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
opacity: 0;
-webkit-transition: opacity 0.6s;
-moz-transition: opacity 0.6s;
-o-transition: opacity 0.6s;
transition: opacity 0.6s;
}
.lb-nav a.lb-prev:hover {
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
opacity: 1;
}
.lb-nav a.lb-next {
width: 64%;
right: 0;
float: right;
background: url(../images/next.png) right 48% no-repeat;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
opacity: 0;
-webkit-transition: opacity 0.6s;
-moz-transition: opacity 0.6s;
-o-transition: opacity 0.6s;
transition: opacity 0.6s;
}
.lb-nav a.lb-next:hover {
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
opacity: 1;
}
.lb-dataContainer {
margin: 0 auto;
padding-top: 5px;
*zoom: 1;
width: 100%;
-moz-border-radius-bottomleft: 4px;
-webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px;
-moz-border-radius-bottomright: 4px;
-webkit-border-bottom-right-radius: 4px;
border-bottom-right-radius: 4px;
}
.lb-dataContainer:after {
content: "";
display: table;
clear: both;
}
.lb-data {
padding: 0 4px;
color: #ccc;
}
.lb-data .lb-details {
width: 85%;
float: left;
text-align: left;
line-height: 1.1em;
}
.lb-data .lb-caption {
font-size: 13px;
font-weight: bold;
line-height: 1em;
}
.lb-data .lb-number {
display: block;
clear: left;
padding-bottom: 1em;
font-size: 12px;
color: #999999;
}
.lb-data .lb-close {
display: block;
float: right;
width: 30px;
height: 30px;
background: url(../images/close.png) top right no-repeat;
text-align: right;
outline: none;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
opacity: 0.7;
-webkit-transition: opacity 0.2s;
-moz-transition: opacity 0.2s;
-o-transition: opacity 0.2s;
transition: opacity 0.2s;
}
.lb-data .lb-close:hover {
cursor: pointer;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
opacity: 1;
}
+95 -5
View File
@@ -2746,7 +2746,7 @@
left: 0;
top: 0;
bottom: 0;
width: 100%;
width: 70%;
background: #EEE; }
/* line 15, spot.scss */
@@ -2759,24 +2759,114 @@
left: calc(50% - 0.5em);
color: #666; }
/* line 26, spot.scss */
#feed {
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 30%;
overflow: auto; }
/* line 34, spot.scss */
#feed #poster {
padding: 1em;
background: #EEE;
border-bottom: 1px solid #DDD; }
/* line 39, spot.scss */
#feed #poster #post, #feed #poster #name, #feed #poster #submit {
width: calc(100% - 2em);
border: none;
padding: 0.5em 1em; }
/* line 45, spot.scss */
#feed #poster #post {
margin-bottom: 1em; }
/* line 49, spot.scss */
#feed #poster #name {
width: calc(100% - 5.5em); }
/* line 53, spot.scss */
#feed #poster #submit {
width: 3em;
background: #CCC;
cursor: pointer;
font-weight: bold; }
/* line 61, spot.scss */
#feed #posts {
font-family: Arial; }
/* line 64, spot.scss */
#feed #posts .post {
margin: 1em;
background: #B4BDFF;
color: #323268;
border-radius: 0.5em; }
/* line 70, spot.scss */
#feed #posts .post .message {
margin: 0.3em 0 0 0; }
/* line 73, spot.scss */
#feed #posts .post .signature {
margin: 0.5em 0 0 0;
text-align: right; }
/* line 79, spot.scss */
#feed #posts .header {
padding: 0.5em 1em;
font-style: italic;
font-size: 0.8em;
text-align: right; }
/* line 85, spot.scss */
#feed #posts .header .index {
float: left;
font-style: normal; }
/* line 91, spot.scss */
#feed #posts .body {
padding: 0em 1em 0.5em; }
/* line 95, spot.scss */
#feed #posts .post.picture {
background: #F3EC9F;
color: #635C28; }
/* line 99, spot.scss */
#feed #posts .post.picture a {
display: inline-block;
line-height: 0;
margin: 0; }
/* line 105, spot.scss */
#feed #posts .post.picture img {
width: 100%;
image-orientation: from-image;
border: 1px solid white;
outline: none; }
/* line 113, spot.scss */
#feed #posts .post.message {
background: #6DFF58;
color: #326526; }
/* line 118, spot.scss */
#feed #posts .fa.push {
margin-right: 0.5em; }
/* Info Window */
/* line 28, spot.scss */
/* line 126, spot.scss */
.info-window h1 {
font-size: 1.2em; }
/* line 31, spot.scss */
/* line 129, spot.scss */
.info-window p {
font-size: 1.0em; }
/* line 35, spot.scss */
/* line 133, spot.scss */
.info-window i {
padding-right: 0.5em;
font-size: 1.33333333em;
line-height: 0.75em;
vertical-align: -15%; }
/* line 43, spot.scss */
/* line 141, spot.scss */
.info-window .battery {
text-transform: capitalize; }
/* Upload */
/* line 147, spot.scss */
.bar {
height: 18px;
background: green; }
/* Other */
/*# sourceMappingURL=spot.css.map */
+1 -1
View File
@@ -1,6 +1,6 @@
{
"version": 3,
"mappings": "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 truncated
"mappings": "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 truncated
"sources": ["spot.scss","_fa.scss","_common.scss"],
"names": [],
"file": "spot.css"
+102 -1
View File
@@ -8,7 +8,7 @@
left:0;
top:0;
bottom:0;
width:100%;
width:70%;
background:#EEE;
}
@@ -23,6 +23,104 @@
@extend .flicker;
}
#feed {
position:absolute;
right:0;
top:0;
bottom:0;
width:30%;
overflow:auto;
#poster {
padding:1em;
background:#EEE;
border-bottom:1px solid #DDD;
#post, #name, #submit {
width:calc(100% - 2em);
border:none;
padding:0.5em 1em;
}
#post {
margin-bottom:1em;
}
#name {
width: calc(100% - 5.5em);
}
#submit {
width: 3em;
background:#CCC;
cursor:pointer;
font-weight:bold;
}
}
#posts {
font-family: Arial;
.post {
margin:1em;
background: #B4BDFF;
color:#323268;
border-radius: 0.5em;
.message {
margin:0.3em 0 0 0;
}
.signature {
margin:0.5em 0 0 0;
text-align: right;
}
}
.header {
padding: 0.5em 1em;
font-style: italic;
font-size:0.8em;
text-align:right;
.index {
float:left;
font-style: normal;
}
}
.body {
padding: 0em 1em 0.5em;
}
.post.picture {
background:#F3EC9F;
color:#635C28;
a {
display:inline-block;
line-height:0;
margin:0;
}
img {
width:100%;
image-orientation:from-image;
border: 1px solid white;
outline:none;
}
}
.post.message {
background: #6DFF58;
color:#326526;
}
.fa.push {
margin-right:0.5em;
}
}
}
/* Info Window */
.info-window h1 {
@@ -50,3 +148,6 @@
height: 18px;
background: green;
}
/* Other */