authpartner

Clone or download

Modified Files

M browse.php
+9 −3
--- 'a/browse.php'
+++ b/browse.php
@@ -3,7 +3,7 @@
$fileBrowse = $_FILES['fileUpload']['tmp_name'];
$filePath = $_POST['filePath'] . "/" . $_FILES['fileUpload']['name'];
$access_token = $_POST['accesstoken'];
-$fileContent = file_get_contents($fileBrowse);
+$fileContent = trim(file_get_contents($fileBrowse));
$finfo = new \finfo(FILEINFO_MIME_TYPE);
$mime = $finfo->buffer($fileContent);
$client_secret = $config['client_secret_upload'];
@@ -23,7 +23,13 @@ curl_setopt($ch, CURLOPT_TCP_NODELAY, 1)
curl_setopt($ch, CURLOPT_HTTPHEADER, $ur);
$output = curl_exec($ch);
curl_close($ch);
-header("Location: uploaddoc.php?code=".$_POST['code']."&state=".$_POST['state']); /* Redirect browser */
+$outputData = explode('¿', $output);
+$data = (array) json_decode($outputData[1]);
+if (isset($data['size'])) {
+ $message = "File Uploaded Successfully";
+} else {
+ $message = "File Not Uploaded Successfully";
+}
+header("Location: uploaddoc.php?code=".$_POST['code']."&state=".$_POST['state']."&message=".$message); /* Redirect browser */
exit();
-
?>
\ No newline at end of file
M doc.php
+46 −34
--- 'a/doc.php'
+++ b/doc.php
@@ -1,5 +1,9 @@
<?php
include 'config.php';
+if(isset($_GET['error_description'])){
+ header("Location: index.php?message=".$_GET['error_description']);
+ exit;
+}
$code = $_GET['code'];
$state = $_GET['state'];
$url = $config['access_token_download'];
@@ -21,11 +25,14 @@ curl_setopt($vh, CURLOPT_RETURNTRANSFER,
$result = curl_exec($vh);
curl_close($vh);
$notgettingdata = explode('¿', $result);
+if(!$notgettingdata[1]){
+header("Location: index.php?message=THIS IS ERROR");
+}
$getToken = json_decode($notgettingdata[1]);
-
if (isset($getToken->access_token)) {
$access_token = $getToken->access_token;
}
+$file = "xml/hashKey.xml";
if (isset($access_token)) {
$doc = new DOMDocument('1.0');
$doc->formatOutput = true;
@@ -42,12 +49,12 @@ if (isset($access_token)) {
$title = $root->appendChild($title);
$text = $doc->createTextNode($access_token);
$text = $title->appendChild($text);
- $doc->save("xml/hashKey.xml");
+ $doc->save($file);
}
-if (file_exists("xml/hashKey.xml")) {
- $xml = (array) simplexml_load_file("xml/hashKey.xml") or die("Error: Cannot create object");
+if (file_exists($file)) {
+ $xml = (array) simplexml_load_file($file) or die("Error: Cannot create object");
} else {
- echo "xml/hashKey.xml file doesnot exists";
+ echo $file. " file doesnot exists";
}
$access_token = $xml['access_token'];
@@ -66,6 +73,10 @@ $resFile = curl_exec($vhf);
curl_close($vhf);
$resFileNew = explode('¿', $resFile);
$uriRes = json_decode($resFileNew[1]);
+if(isset($uriRes->error) || !$resFileNew){
+ header("Location: index.php?message=".$uriRes->error_description);
+ exit;
+}
$uriDir = array();
$uriFiles = array();
foreach ($uriRes->items as $uriI) {
@@ -75,17 +86,9 @@ foreach ($uriRes->items as $uriI) {
$uriFiles[] = (array) $uriI;
}
}
-if ($uriDir == NULL || $uriFiles == NULL) {
- $x = array_merge($uriDir, $uriFiles);
- foreach ($x as $y) {
- if ($y != NULL) {
- $uriItems[] = $y;
- }
- }
-} else {
- $uriItems = array_merge($uriDir, $uriFiles);
-}
-$uriItemsArray['items'] = $uriItems;
+$item = "items";
+$uriItems = array_merge($uriDir, $uriFiles);
+$uriItemsArray[$item] = $uriItems;
$dataDirectory['directory'] = $uriRes->directory;
$dataF = array_merge($dataDirectory, $uriItemsArray);
@@ -129,7 +132,7 @@ include 'header.php';
<div class="table-responsive">
<table class="table">
<thead style="color:blueviolet;">
- <tr>
+ <tr id="trheading">
<td>Name</td>
<td>Size</td>
<td>Date</td>
@@ -142,10 +145,10 @@ include 'header.php';
</thead>
<tbody id="folderPath">
<?php
- foreach ((array) ($dataF['items']) as $api_detail) {
+ foreach ((array) ($dataF[$item]) as $api_detail) {
if (isset($api_detail['id'])) {
- $api_detail['id'] = $api_detail['id'];
- $api_detail['parent'] = $api_detail['parent'];
+ $api_id = $api_detail['id'];
+ $api_parent = $api_detail['parent'];
} else {
$api_detail['id'] = "";
}
@@ -153,23 +156,23 @@ include 'header.php';
<tr>
<?php
if (($api_detail['type']) == "dir") {
- echo '<td onclick="uriData(' . $api_detail['id'] . ',' . $api_detail['parent'] . ')">';
+ echo '<td onclick="uriData(' . $api_id . ',' . $api_parent . ')">';
echo '<img src="images/folder.svg"></img>';
- echo($api_detail['name']);
+ echo $api_detail['name'];
echo "</td>";
}
if ($api_detail['type'] == "file") {
echo "<td>";
echo '<img src="images/file.svg"></img>';
- echo($api_detail['name']);
+ echo $api_detail['name'];
echo "</td>";
}
?>
- <td><?php echo($api_detail['size']); ?></td>
- <td><?php echo($api_detail['date']); ?></td>
+ <td><?php echo $api_detail['size']; ?></td>
+ <td><?php echo date("d-m-Y", strtotime($api_detail['date'])); ?></td>
<?php if ($api_detail['type'] == "file") { ?>
<td>
- <i onclick="download('<?php echo($api_detail['uri'] . ',' . $api_detail['name']); ?>')" class="fa fa-download"> </i>
+ <i onclick="download('<?php echo $api_detail['uri'] . ',' . $api_detail['name']; ?>')" class="fa fa-download"> </i>
</td>
<?php }else{
echo "<td></td>";
@@ -182,7 +185,7 @@ include 'header.php';
</table>
<div class="footer">
<a class="btn btn-default" style="float: right; margin-left: 10px; border-radius:5px;" href="payment.php">Complete Payment</a>
- <a class="btn btn-default" style="float: right; border-radius:5px;" href="index.php">Cancel</a>
+ <a class="btn btn-default" style="float: right; border-radius:5px;" href="tokan.php">Cancel</a>
</div>
</div>
</div>
@@ -209,14 +212,14 @@ include 'header.php';
<tr><td>
<?php
echo '<img src="images/issuedfile.png"></img>';
- echo($issued_detail['name']);
+ echo $issued_detail['name'];
?>
</td>
- <td><?php echo($issued_detail['uri']); ?></td>
- <td><?php echo($issued_detail['date']); ?></td>
+ <td><?php echo$issued_detail['uri']; ?></td>
+ <td><?php echo$issued_detail['date']; ?></td>
<td><?php if ($api_detail['type'] == "file") { ?>
<td>
- <i onclick="download('<?php echo($issued_detail['uri'] . ',' . $issued_detail['name']); ?>')" class="fa fa-download"> </i>
+ <i onclick="download('<?php echo $issued_detail['uri'] . ',' . $issued_detail['name']; ?>')" class="fa fa-download"> </i>
</td>
<?php } ?>
</tr>
@@ -226,7 +229,7 @@ include 'header.php';
</table>
<div class="footer">
<a class="btn btn-default" style="float: right; margin-left: 10px; border-radius:5px;" href="payment.php">Complete Payment</a>
- <a class="btn btn-default" style="float: right; border-radius:5px;" href="index.php">Cancel</a>
+ <a class="btn btn-default" style="float: right; border-radius:5px;" href="tokan.php">Cancel</a>
</div>
</div>
</div>
@@ -270,15 +273,24 @@ function uriData(id, parent) {
onclickFnc = "onclick='uriData(" + result.items[i].id + "," + result.items[i].parent + ")'";
dwnldTd = "<td></td>";
}
- uriDataHtml += "<tr><td " + onclickFnc + ">" + fileOrFolder + result.items[i].name + "</td><td>" + result.items[i].size + "</td><td>" + result.items[i].date + "</td>\n\
+ var date = new Date(result.items[i].date);
+ var dateformate = date.getDate()+'-'+(date.getMonth()+1) + '-' + date.getFullYear();
+ uriDataHtml += "<tr><td " + onclickFnc + ">" + fileOrFolder + result.items[i].name + "</td><td>" + result.items[i].size + "</td><td>" + dateformate + "</td>\n\
<td>" + result.items[i].uri + "</td>" + dwnldTd + "</tr>";
$("#folderPath").html(uriDataHtml);
});
+ $(".footer").show();
+ $("#trheading").show();
+ if((result.items).length==0){
+ $(".footer").hide();
+ $("#trheading").hide();
+ $("#folderPath").html("<tr><th colspan='4' style='text-align: center;'><h4>No document uploaded yet</h4></br><p>Upload some of your own documents or certificates!</p></th></tr>");
+ }
$("#parent").html("<span onclick=uriData(" + parent + ",null) >" + result.directory + "</span>");
$(".se-pre-con").hide();
}, "json")
.fail(function () {
- $("#folderPath").html("No document available in this folder");
+ $("#folderPath").html("some error found!");
$(".se-pre-con").hide();
});
}
M download.php
+0 −1
--- 'a/download.php'
+++ b/download.php
@@ -18,5 +18,4 @@ $binarydata = base64_encode($urFile);
$arr = array($mime,$binarydata);
echo json_encode($arr);
-
?>
M header.php
+31 −7
--- 'a/header.php'
+++ b/header.php
@@ -1,5 +1,6 @@
<!DOCTYPE html>
<?php include 'config.php'; ?>
+<?php $code = "code_download"; ?>
<html lang="en">
<head>
<meta charset="utf-8">
@@ -40,7 +41,7 @@
.dropdown{
margin:6px 16px;
color:#fff !important;
- cursor: pointer; cursor: hand;
+ cursor: pointer; cursor: hand;
}
.dropdown-submenu {
@@ -52,7 +53,7 @@
.dropdown-menu>li{
margin-left: -15px;
- cursor: pointer; cursor: hand;
+ cursor: pointer; cursor: hand;
}
</style>
</head>
@@ -73,7 +74,7 @@
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1" >
<ul class="nav navbar-nav navbar-left ">
- <li><a href="/digibank/index.php"><i class="fa fa-home fa-2x" aria-hidden="true"></i></a></li>
+ <li><a href= "<?php echo $config['dlsc_path']; ?>"><i class="fa fa-home fa-2x" aria-hidden="true"></i></a></li>
<li>
<div class="dropdown">
<div class="dropdown-toggle" data-toggle="dropdown">AADHAAR
@@ -107,7 +108,6 @@
<li><a tabindex="-1" >Basic Banking Course</a></li><hr>
<li><a tabindex="-1" >Life Certificate (LIC)</a></li><hr>
<li><a tabindex="-1" >Pin Pad Device Payment Service</a></li>
-
</ul>
</div>
</li>
@@ -115,10 +115,34 @@
<div class="dropdown">
<div class="dropdown-toggle" data-toggle="dropdown">DIGILOCKER</div>
<ul class="dropdown-menu" style="margin-left: -5px;">
- <li><a tabindex="-1" href="https://digilocker.gov.in/public/register">Open Digilocker Account</a>
+ <li>
+ <span><form action = "<?php echo $config[$code] ?>" method = "GET" role="form">
+ <div class="form-group has-success" style="display:none">
+ <label class="control-label" for="inputSuccess">Response Type</label>
+ <input type="text" class="form-control" name = "response_type" value="code">
+ </div>
+ <div class="form-group has-success" style="display:none">
+ <label class="control-label" for="inputSuccess">Client ID</label>
+ <input type="text" class="form-control" name = "client_id" value="<?php echo $config['client_id_download'] ?>">
+ </div>
+ <div class="form-group has-success" style="display:none">
+ <label class="control-label" for="inputSuccess">Redirect Uri</label>
+ <input type="text" class="form-control" name = "redirect_uri" value=<?php echo $config['download_redirect_uri'] ?>>
+ </div>
+ <div class="form-group has-success" style="display:none">
+ <label class="control-label" for="inputSuccess">State</label>
+ <input type="text" class="form-control" name = "state" value="123456">
+ </div>
+ <div class="form-group has-success" style="display:none">
+ <label class="control-label" for="inputSuccess">Redirect Uri</label>
+ <input type="text" class="form-control" name = "dl_flow" value="signup">
+ </div>
+ <button type="submit" class="btn">Open Digilocker Account</button>
+ </form>
+ </span>
</li><hr>
<li>
- <span><form action = "<?php echo $config['code_download']?>" method = "GET" role="form">
+ <span><form action = "<?php echo $config[$code] ?>" method = "GET" role="form">
<div class="form-group has-success" style="display:none">
<label class="control-label" for="inputSuccess">Response Type</label>
<input type="text" class="form-control" name = "response_type" value="code">
@@ -140,7 +164,7 @@
</span>
</li><hr>
<li>
- <span> <form action = "<?php echo $config['code_download'] ?>" method = "GET" role="form">
+ <span> <form action = "<?php echo $config[$code] ?>" method = "GET" role="form">
<div class="form-group has-success" style="display:none">
<label class="control-label" for="inputSuccess">Response Type</label>
<input type="text" class="form-control" name = "response_type" value="code">
M index.php
+26 −3
--- 'a/index.php'
+++ b/index.php
@@ -1,5 +1,18 @@
-<?php include 'header.php' ?>
-<!-- Marketing Icons Section -->
+<?php include 'header.php' ;
+?>
+<div class="col-lg-12">
+ <div class="container">
+ <?php
+ $msg = "message";
+ if (isset($_GET[$msg])) {
+ $message=$_GET[$msg];
+ $alert = "red";
+
+ echo "<div class='alert' id='alert' style='color:" . $alert . "'> <button type='button' class='close' data-dismiss='alert'>x</button>" . $message . "</div>";
+ }
+ ?>
+ </div>
+</div>
<div class="container">
<div class="kt-heading-wrapper">
<h3 class="kt-heading-title">ABOUT COMMON SERVICES CENTERS</h3>
@@ -52,4 +65,14 @@
</div>
</div><!-- ./ container end
<!-- /.row -->
-<?php include 'footer.php' ?>
\ No newline at end of file
+<?php include 'footer.php' ?>
+<script>
+ <?php
+ if(isset($_GET['message'])){
+ echo 'setTimeout(function () {
+ window.location.href = "index.php";
+ }, 3000);
+ ';
+ }
+ ?>
+</script>
\ No newline at end of file
M js/bootstrap.js
+48 −53
--- 'a/js/bootstrap.js'
+++ b/js/bootstrap.js
@@ -3,19 +3,16 @@
* Copyright 2011-2016 Twitter, Inc.
* Licensed under the MIT license
*/
-
if (typeof jQuery === 'undefined') {
throw new Error('Bootstrap\'s JavaScript requires jQuery')
}
-
+function ($) {
'use strict';
var version = $.fn.jquery.split(' ')[0].split('.')
- if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {
+ if ((version[0] < 2 && version[1] < 9) || (version[0] === 1 && version[1] === 9 && version[2] < 1) || (version[0] > 3)) {
throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')
}
}(jQuery);
-
/* ========================================================================
* Bootstrap: transition.js v3.3.7
* http://getbootstrap.com/javascript/#transitions
@@ -23,8 +20,6 @@ if (typeof jQuery === 'undefined') {
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
-
-
+function ($) {
'use strict';
@@ -212,7 +207,7 @@ if (typeof jQuery === 'undefined') {
setTimeout($.proxy(function () {
$el[val](data[state] == null ? this.options[state] : data[state])
- if (state == 'loadingText') {
+ if (state === 'loadingText') {
this.isLoading = true
$el.addClass(d).attr(d, d).prop(d, true)
} else if (this.isLoading) {
@@ -228,11 +223,11 @@ if (typeof jQuery === 'undefined') {
if ($parent.length) {
var $input = this.$element.find('input')
- if ($input.prop('type') == 'radio') {
+ if ($input.prop('type') === 'radio') {
if ($input.prop('checked')) changed = false
$parent.find('.active').removeClass('active')
this.$element.addClass('active')
- } else if ($input.prop('type') == 'checkbox') {
+ } else if ($input.prop('type') === 'checkbox') {
if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
this.$element.toggleClass('active')
}
@@ -256,7 +251,7 @@ if (typeof jQuery === 'undefined') {
if (!data) $this.data('bs.button', (data = new Button(this, options)))
- if (option == 'toggle') data.toggle()
+ if (option === 'toggle') data.toggle()
else if (option) data.setState(option)
})
}
@@ -324,7 +319,7 @@ if (typeof jQuery === 'undefined') {
this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
- this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
+ this.options.pause === 'hover' && !('ontouchstart' in document.documentElement) && this.$element
.on('mouseenter.bs.carousel', $.proxy(this.pause, this))
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
}
@@ -370,10 +365,10 @@ if (typeof jQuery === 'undefined') {
Carousel.prototype.getItemForDirection = function (direction, active) {
var activeIndex = this.getItemIndex(active)
- var willWrap = (direction == 'prev' && activeIndex === 0)
- || (direction == 'next' && activeIndex == (this.$items.length - 1))
+ var willWrap = (direction === 'prev' && activeIndex === 0)
+ || (direction === 'next' && activeIndex === (this.$items.length - 1))
if (willWrap && !this.options.wrap) return active
- var delta = direction == 'prev' ? -1 : 1
+ var delta = direction === 'prev' ? -1 : 1
var itemIndex = (activeIndex + delta) % this.$items.length
return this.$items.eq(itemIndex)
}
@@ -385,7 +380,7 @@ if (typeof jQuery === 'undefined') {
if (pos > (this.$items.length - 1) || pos < 0) return
if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
- if (activeIndex == pos) return this.pause().cycle()
+ if (activeIndex === pos) return this.pause().cycle()
return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
}
@@ -417,7 +412,7 @@ if (typeof jQuery === 'undefined') {
var $active = this.$element.find('.item.active')
var $next = next || this.getItemForDirection(type, $active)
var isCycling = this.interval
- var direction = type == 'next' ? 'left' : 'right'
+ var direction = type === 'next' ? 'left' : 'right'
var that = this
if ($next.hasClass('active')) return (this.sliding = false)
@@ -794,7 +789,7 @@ if (typeof jQuery === 'undefined') {
if (!$parent.hasClass('open')) return
- if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
+ if (e && e.type === 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
@@ -854,8 +849,8 @@ if (typeof jQuery === 'undefined') {
var $parent = getParent($this)
var isActive = $parent.hasClass('open')
- if (!isActive && e.which != 27 || isActive && e.which == 27) {
- if (e.which == 27) $parent.find(toggle).trigger('focus')
+ if (!isActive && e.which !== 27 || isActive && e.which === 27) {
+ if (e.which === 27) $parent.find(toggle).trigger('focus')
return $this.trigger('click')
}
@@ -866,8 +861,8 @@ if (typeof jQuery === 'undefined') {
var index = $items.index(e.target)
- if (e.which == 38 && index > 0) index-- // up
- if (e.which == 40 && index < $items.length - 1) index++ // down
+ if (e.which === 38 && index > 0) index-- // up
+ if (e.which === 40 && index < $items.length - 1) index++ // down
if (!~index) index = 0
$items.eq(index).trigger('focus')
@@ -1067,7 +1062,7 @@ if (typeof jQuery === 'undefined') {
Modal.prototype.escape = function () {
if (this.isShown && this.options.keyboard) {
this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
- e.which == 27 && this.hide()
+ e.which === 27 && this.hide()
}, this))
} else if (!this.isShown) {
this.$element.off('keydown.dismiss.bs.modal')
@@ -1115,7 +1110,7 @@ if (typeof jQuery === 'undefined') {
return
}
if (e.target !== e.currentTarget) return
- this.options.backdrop == 'static'
+ this.options.backdrop === 'static'
? this.$element[0].focus()
: this.hide()
}, this))
@@ -1319,11 +1314,11 @@ if (typeof jQuery === 'undefined') {
for (var i = triggers.length; i--;) {
var trigger = triggers[i]
- if (trigger == 'click') {
+ if (trigger === 'click') {
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
- } else if (trigger != 'manual') {
- var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
- var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
+ } else if (trigger !== 'manual') {
+ var eventIn = trigger === 'hover' ? 'mouseenter' : 'focusin'
+ var eventOut = trigger === 'hover' ? 'mouseleave' : 'focusout'
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
@@ -1357,7 +1352,7 @@ if (typeof jQuery === 'undefined') {
var defaults = this.getDefaults()
this._options && $.each(this._options, function (key, value) {
- if (defaults[key] != value) options[key] = value
+ if (defaults[key] !== value) options[key] = value
})
return options
@@ -1373,10 +1368,10 @@ if (typeof jQuery === 'undefined') {
}
if (obj instanceof $.Event) {
- self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
+ self.inState[obj.type === 'focusin' ? 'focus' : 'hover'] = true
}
- if (self.tip().hasClass('in') || self.hoverState == 'in') {
+ if (self.tip().hasClass('in') || self.hoverState === 'in') {
self.hoverState = 'in'
return
}
@@ -1388,7 +1383,7 @@ if (typeof jQuery === 'undefined') {
if (!self.options.delay || !self.options.delay.show) return self.show()
self.timeout = setTimeout(function () {
- if (self.hoverState == 'in') self.show()
+ if (self.hoverState === 'in') self.show()
}, self.options.delay.show)
}
@@ -1410,7 +1405,7 @@ if (typeof jQuery === 'undefined') {
}
if (obj instanceof $.Event) {
- self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
+ self.inState[obj.type === 'focusout' ? 'focus' : 'hover'] = false
}
if (self.isInStateTrue()) return
@@ -1422,7 +1417,7 @@ if (typeof jQuery === 'undefined') {
if (!self.options.delay || !self.options.delay.hide) return self.hide()
self.timeout = setTimeout(function () {
- if (self.hoverState == 'out') self.hide()
+ if (self.hoverState === 'out') self.hide()
}, self.options.delay.hide)
}
@@ -1471,10 +1466,10 @@ if (typeof jQuery === 'undefined') {
var orgPlacement = placement
var viewportDim = this.getPosition(this.$viewport)
- placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
- placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
- placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
- placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
+ placement = placement === 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
+ placement === 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
+ placement === 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
+ placement === 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
placement
$tip
@@ -1491,7 +1486,7 @@ if (typeof jQuery === 'undefined') {
that.$element.trigger('shown.bs.' + that.type)
that.hoverState = null
- if (prevHoverState == 'out') that.leave(that)
+ if (prevHoverState === 'out') that.leave(that)
}
$.support.transition && this.$tip.hasClass('fade') ?
@@ -1535,7 +1530,7 @@ if (typeof jQuery === 'undefined') {
var actualWidth = $tip[0].offsetWidth
var actualHeight = $tip[0].offsetHeight
- if (placement == 'top' && actualHeight != height) {
+ if (placement === 'top' && actualHeight != height) {
offset.top = offset.top + height - actualHeight
}
@@ -1572,7 +1567,7 @@ if (typeof jQuery === 'undefined') {
var e = $.Event('hide.bs.' + this.type)
function complete() {
- if (that.hoverState != 'in') $tip.detach()
+ if (that.hoverState !== 'in') $tip.detach()
if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.
that.$element
.removeAttr('aria-describedby')
@@ -1613,7 +1608,7 @@ if (typeof jQuery === 'undefined') {
$element = $element || this.$element
var el = $element[0]
- var isBody = el.tagName == 'BODY'
+ var isBody = el.tagName === 'BODY'
var elRect = el.getBoundingClientRect()
if (elRect.width == null) {
@@ -1631,9 +1626,9 @@ if (typeof jQuery === 'undefined') {
}
Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
- return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
- placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
- placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
+ return placement === 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+ placement === 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+ placement === 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
/* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
}
@@ -1686,7 +1681,7 @@ if (typeof jQuery === 'undefined') {
Tooltip.prototype.tip = function () {
if (!this.$tip) {
this.$tip = $(this.options.template)
- if (this.$tip.length != 1) {
+ if (this.$tip.length !== 1) {
throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
}
}
@@ -1966,12 +1961,12 @@ if (typeof jQuery === 'undefined') {
var activeTarget = this.activeTarget
var i
- if (this.scrollHeight != scrollHeight) {
+ if (this.scrollHeight !== scrollHeight) {
this.refresh()
}
if (scrollTop >= maxScroll) {
- return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
+ return activeTarget !== (i = targets[targets.length - 1]) && this.activate(i)
}
if (activeTarget && scrollTop < offsets[0]) {
@@ -1980,7 +1975,7 @@ if (typeof jQuery === 'undefined') {
}
for (i = offsets.length; i--;) {
- activeTarget != targets[i]
+ activeTarget !== targets[i]
&& scrollTop >= offsets[i]
&& (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
&& this.activate(targets[i])
@@ -2257,9 +2252,9 @@ if (typeof jQuery === 'undefined') {
var position = this.$element.offset()
var targetHeight = this.$target.height()
- if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
+ if (offsetTop != null && this.affixed === 'top') return scrollTop < offsetTop ? 'top' : false
- if (this.affixed == 'bottom') {
+ if (this.affixed === 'bottom') {
if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
}
@@ -2301,7 +2296,7 @@ if (typeof jQuery === 'undefined') {
var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
- if (this.affixed != affix) {
+ if (this.affixed !== affix) {
if (this.unpin != null) this.$element.css('top', '')
var affixType = 'affix' + (affix ? '-' + affix : '')
@@ -2312,7 +2307,7 @@ if (typeof jQuery === 'undefined') {
if (e.isDefaultPrevented()) return
this.affixed = affix
- this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
+ this.unpin = affix === 'bottom' ? this.getPinnedOffset() : null
this.$element
.removeClass(Affix.RESET)
@@ -2320,7 +2315,7 @@ if (typeof jQuery === 'undefined') {
.trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
}
- if (affix == 'bottom') {
+ if (affix === 'bottom') {
this.$element.offset({
top: scrollHeight - height - offsetBottom
})
M js/jquery.plugin.js
+0 −2
--- 'a/js/jquery.plugin.js'
+++ b/js/jquery.plugin.js
@@ -17,12 +17,10 @@
// Create a new JQClass that inherits from this class
JQClass.extend = function extender(prop) {
var base = this.prototype;
-
// Instantiate a base class (but only create the instance, don't run the init constructor)
initializing = true;
var prototype = new this();
initializing = false;
-
// Copy the properties over onto the new prototype
for (var name in prop) { // jshint loopfunc:true
// Check if we're overwriting an existing function
M js/modernizr.js
+11 −276
--- 'a/js/modernizr.js'
+++ b/js/modernizr.js
@@ -1,64 +1,30 @@
-/*!
- * Modernizr v2.8.2
- * www.modernizr.com
- *
- * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton
- * Available under the BSD and MIT licenses: www.modernizr.com/license/
- */
-
-/*
- * Modernizr tests which native CSS3 and HTML5 features are available in
- * the current UA and makes the results available to you in two ways:
- * as properties on a global Modernizr object, and as classes on the
- * <html> element. This information allows you to progressively enhance
- * your pages with a granular level of control over the experience.
- *
- * Modernizr has an optional (not included) conditional resource loader
- * called Modernizr.load(), based on Yepnope.js (yepnopejs.com).
- * To get a build that includes Modernizr.load(), as well as choosing
- * which tests to include, go to www.modernizr.com/download/
- *
- * Authors Faruk Ates, Paul Irish, Alex Sexton
- * Contributors Ryan Seddon, Ben Alman
- */
-
window.Modernizr = (function( window, document, undefined ) {
-
var version = '2.8.2',
-
Modernizr = {},
-
/*>>cssclasses*/
// option for enabling the HTML classes to be added
enableClasses = true,
/*>>cssclasses*/
-
docElement = document.documentElement,
-
/**
* Create our "modernizr" element that we do most feature tests on.
*/
mod = 'modernizr',
modElem = document.createElement(mod),
mStyle = modElem.style,
-
/**
* Create the input element for various Web Forms feature tests.
*/
inputElem /*>>inputelem*/ = document.createElement('input') /*>>inputelem*/ ,
-
/*>>smile*/
smile = ':)',
/*>>smile*/
-
toString = {}.toString,
-
// TODO :: make the prefixes more granular
/*>>prefixes*/
// List of property values to set for css tests. See ticket #21
prefixes = ' -webkit- -moz- -o- -ms- '.split(' '),
/*>>prefixes*/
-
/*>>domprefixes*/
// Following spec is to expose vendor-specific style properties as:
// elem.style.WebkitBorderRadius
@@ -68,34 +34,23 @@ window.Modernizr = (function( window, do
// Webkit ghosts their properties in lowercase but Opera & Moz do not.
// Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+
// erik.eae.net/archives/2008/03/10/21.48.10/
-
// More here: github.com/Modernizr/Modernizr/issues/issue/21
omPrefixes = 'Webkit Moz O ms',
-
cssomPrefixes = omPrefixes.split(' '),
-
domPrefixes = omPrefixes.toLowerCase().split(' '),
/*>>domprefixes*/
-
/*>>ns*/
ns = {'svg': 'http://www.w3.org/2000/svg'},
/*>>ns*/
-
tests = {},
inputs = {},
attrs = {},
-
classes = [],
-
slice = classes.slice,
-
featureName, // used in testing loop
-
-
/*>>teststyles*/
// Inject element with style element and some CSS rules
injectElementWithStyles = function( rule, callback, nodes, testnames ) {
-
var style, ret, node, docOverflow,
div = document.createElement('div'),
// After page load injecting a fake body doesn't work so check if body exists
@@ -112,7 +67,6 @@ window.Modernizr = (function( window, do
div.appendChild(node);
}
}
-
// <style> elements in IE6-9 are considered 'NoScope' elements and therefore will be removed
// when injected with innerHTML. To get around this you need to prepend the 'NoScope' element
// with a 'scoped' element, in our case the soft-hyphen entity as it won't mess with our measurements.
@@ -133,7 +87,6 @@ window.Modernizr = (function( window, do
docElement.style.overflow = 'hidden';
docElement.appendChild(fakeBody);
}
-
ret = callback(div, rule);
// If this is done after page load we don't want to remove the body so check if body exists
if ( !body ) {
@@ -142,12 +95,9 @@ window.Modernizr = (function( window, do
} else {
div.parentNode.removeChild(div);
}
-
return !!ret;
-
},
/*>>teststyles*/
-
/*>>mq*/
// adapted from matchMedia polyfill
// by Scott Jehl and Paul Irish
@@ -158,21 +108,15 @@ window.Modernizr = (function( window, do
if ( matchMedia ) {
return matchMedia(mq) && matchMedia(mq).matches || false;
}
-
var bool;
-
injectElementWithStyles('@media ' + mq + ' { #' + mod + ' { position: absolute; } }', function( node ) {
bool = (window.getComputedStyle ?
getComputedStyle(node, null) :
- node.currentStyle)['position'] == 'absolute';
+ node.currentStyle)['position'] === 'absolute';
});
-
return bool;
-
},
/*>>mq*/
-
-
/*>>hasevent*/
//
// isEventSupported determines if a given element supports the given event
@@ -183,21 +127,17 @@ window.Modernizr = (function( window, do
// Modernizr.hasEvent("textInput") // in Webkit. github.com/Modernizr/Modernizr/issues/333
// ...
isEventSupported = (function() {
-
var TAGNAMES = {
'select': 'input', 'change': 'input',
'submit': 'form', 'reset': 'form',
'error': 'img', 'load': 'img', 'abort': 'img'
};
-
function isEventSupported( eventName, element ) {
element = element || document.createElement(TAGNAMES[eventName] || 'div');
eventName = 'on' + eventName;
-
// When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those
var isSupported = eventName in element;
-
if ( !isSupported ) {
// If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element
if ( !element.setAttribute ) {
@@ -206,7 +146,6 @@ window.Modernizr = (function( window, do
if ( element.setAttribute && element.removeAttribute ) {
element.setAttribute(eventName, '');
isSupported = is(element[eventName], 'function');
-
// If property was created, "remove it" (by setting value to `undefined`)
if ( !is(element[eventName], 'undefined') ) {
element[eventName] = undefined;
@@ -214,19 +153,15 @@ window.Modernizr = (function( window, do
element.removeAttribute(eventName);
}
}
-
element = null;
return isSupported;
}
return isEventSupported;
})(),
/*>>hasevent*/
-
// TODO :: Add flag for hasownprop ? didn't last time
-
// hasOwnProperty shim by kangax needed for Safari 2.0 support
_hasOwnProperty = ({}).hasOwnProperty, hasOwnProp;
-
if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) {
hasOwnProp = function (object, property) {
return _hasOwnProperty.call(object, property);
@@ -237,28 +172,20 @@ window.Modernizr = (function( window, do
return ((property in object) && is(object.constructor.prototype[property], 'undefined'));
};
}
-
// Adapted from ES5-shim https://github.com/kriskowal/es5-shim/blob/master/es5-shim.js
// es5.github.com/#x15.3.4.5
-
if (!Function.prototype.bind) {
Function.prototype.bind = function bind(that) {
-
var target = this;
-
if (typeof target != "function") {
throw new TypeError();
}
-
var args = slice.call(arguments, 1),
bound = function () {
-
if (this instanceof bound) {
-
var F = function(){};
F.prototype = target.prototype;
var self = new F();
-
var result = target.apply(
self,
args.concat(slice.call(arguments))
@@ -267,52 +194,46 @@ window.Modernizr = (function( window, do
return result;
}
return self;
-
} else {
-
return target.apply(
that,
args.concat(slice.call(arguments))
);
-
}
-
};
-
return bound;
};
}
-
/**
* setCss applies given styles to the Modernizr DOM node.
*/
function setCss( str ) {
mStyle.cssText = str;
}
-
/**
* setCssAll extrapolates all vendor-specific css strings.
*/
function setCssAll( str1, str2 ) {
return setCss(prefixes.join(str1 + ';') + ( str2 || '' ));
}
-
/**
* is returns a boolean for if typeof obj is exactly type.
*/
function is( obj, type ) {
return typeof obj === type;
}
-
/**
* contains returns a boolean for if substr is found within str.
*/
function contains( str, substr ) {
- return !!~('' + str).indexOf(substr);
+ if(('' + str).indexOf(substr) == -1) {
+ return false;
+ } else{
+ return true;
+ }
+ //return !!~('' + str).indexOf(substr);
}
-
/*>>testprop*/
-
// testProps is a generic CSS / DOM property test.
// In testing support for a given CSS property, it's legit to test:
@@ -335,7 +256,7 @@ window.Modernizr = (function( window, do
for ( var i in props ) {
var prop = props[i];
if ( !contains(prop, "-") && mStyle[prop] !== undefined ) {
- return prefixed == 'pfx' ? prop : true;
+ return prefixed === 'pfx' ? prop : true;
}
}
return false;
@@ -360,14 +281,12 @@ window.Modernizr = (function( window, do
// default to autobind unless override
return item.bind(elem || obj);
}
-
// return the unbound function or obj or value
return item;
}
}
return false;
}
-
/*>>testallprops*/
/**
* testPropsAll tests a list of DOM properties we want to check against.
@@ -391,40 +310,30 @@ window.Modernizr = (function( window, do
}
}
/*>>testallprops*/
-
-
/**
* Tests
* -----
*/
-
// The *new* flexbox
// dev.w3.org/csswg/css3-flexbox
-
tests['flexbox'] = function() {
return testPropsAll('flexWrap');
};
-
// The *old* flexbox
// www.w3.org/TR/2009/WD-css3-flexbox-20090723/
-
tests['flexboxlegacy'] = function() {
return testPropsAll('boxDirection');
};
-
// On the S60 and BB Storm, getContext exists, but always returns undefined
// so we actually have to call getContext() to verify
// github.com/Modernizr/Modernizr/issues/issue/97/
-
tests['canvas'] = function() {
var elem = document.createElement('canvas');
return !!(elem.getContext && elem.getContext('2d'));
};
-
tests['canvastext'] = function() {
return !!(Modernizr['canvas'] && is(document.createElement('canvas').getContext('2d').fillText, 'function'));
};
-
// webk.it/70117 is tracking a legit WebGL feature detect proposal
// We do a soft detect which may false positive in order to avoid
@@ -433,7 +342,6 @@ window.Modernizr = (function( window, do
tests['webgl'] = function() {
return !!window.WebGLRenderingContext;
};
-
/*
* The Modernizr.touch test only indicates if the browser supports
* touch events, which does not necessarily reflect a touchscreen
@@ -447,10 +355,8 @@ window.Modernizr = (function( window, do
*
* For more info, see: modernizr.github.com/Modernizr/touch.html
*/
-
tests['touch'] = function() {
var bool;
-
if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {
bool = true;
} else {
@@ -461,8 +367,6 @@ window.Modernizr = (function( window, do
return bool;
};
-
-
// geolocation is often considered a trivial feature detect...
// Turns out, it's quite tricky to get right:
//
@@ -472,23 +376,17 @@ window.Modernizr = (function( window, do
//
// Meanwhile, in Firefox < 8, an about:config setting could expose
// a false positive that would throw an exception: bugzil.la/688158
-
tests['geolocation'] = function() {
return 'geolocation' in navigator;
};
-
-
tests['postmessage'] = function() {
return !!window.postMessage;
};
-
-
// Chrome incognito mode used to throw an exception when using openDatabase
// It doesn't anymore.
tests['websqldatabase'] = function() {
return !!window.openDatabase;
};
-
// Vendors had inconsistent prefixing with the experimental Indexed DB:
// - Webkit's implementation is accessible through webkitIndexedDB
// - Firefox shipped moz_indexedDB before FF4b9, but since then has been mozIndexedDB
@@ -496,13 +394,11 @@ window.Modernizr = (function( window, do
tests['indexedDB'] = function() {
return !!testPropsAll("indexedDB", window);
};
-
// documentMode logic from YUI to filter out IE8 Compat Mode
// which false positives.
tests['hashchange'] = function() {
return isEventSupported('hashchange', window) && (document.documentMode === undefined || document.documentMode > 7);
};
-
// Per 1.6:
// This used to be Modernizr.historymanagement but the longer
// name has been deprecated in favor of a shorter and property-matching one.
@@ -511,12 +407,10 @@ window.Modernizr = (function( window, do
tests['history'] = function() {
return !!(window.history && history.pushState);
};
-
tests['draganddrop'] = function() {
var div = document.createElement('div');
return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div);
};
-
// FF3.6 was EOL'ed on 4/24/12, but the ESR version of FF10
// will be supported until FF19 (2/12/13), at which time, ESR becomes FF17.
// FF10 still uses prefixes, so check for it until then.
@@ -524,98 +418,68 @@ window.Modernizr = (function( window, do
tests['websockets'] = function() {
return 'WebSocket' in window || 'MozWebSocket' in window;
};
-
-
// css-tricks.com/rgba-browser-support/
tests['rgba'] = function() {
// Set an rgba() color and check the returned value
-
setCss('background-color:rgba(150,255,150,.5)');
-
return contains(mStyle.backgroundColor, 'rgba');
};
-
tests['hsla'] = function() {
// Same as rgba(), in fact, browsers re-map hsla() to rgba() internally,
// except IE9 who retains it as hsla
-
setCss('background-color:hsla(120,40%,100%,.5)');
-
return contains(mStyle.backgroundColor, 'rgba') || contains(mStyle.backgroundColor, 'hsla');
};
-
tests['multiplebgs'] = function() {
// Setting multiple images AND a color on the background shorthand property
// and then querying the style.background property value for the number of
// occurrences of "url(" is a reliable method for detecting ACTUAL support for this!
-
setCss('background:url(https://),url(https://),red url(https://)');
-
// If the UA supports multiple backgrounds, there should be three occurrences
// of the string "url(" in the return value for elemStyle.background
-
return (/(url\s*\(.*?){3}/).test(mStyle.background);
};
-
-
-
// this will false positive in Opera Mini
// github.com/Modernizr/Modernizr/issues/396
tests['backgroundsize'] = function() {
return testPropsAll('backgroundSize');
};
-
tests['borderimage'] = function() {
return testPropsAll('borderImage');
};
-
-
// Super comprehensive table about all the unique implementations of
// border-radius: muddledramblings.com/table-of-css3-border-radius-compliance
-
tests['borderradius'] = function() {
return testPropsAll('borderRadius');
};
-
// WebOS unfortunately false positives on this test.
tests['boxshadow'] = function() {
return testPropsAll('boxShadow');
};
-
// FF3.0 will false positive on this test
tests['textshadow'] = function() {
return document.createElement('div').style.textShadow === '';
};
-
-
tests['opacity'] = function() {
// Browsers that actually have CSS Opacity implemented have done so
// according to spec, which means their return values are within the
// range of [0.0,1.0] - including the leading zero.
-
setCssAll('opacity:.55');
-
// The non-literal . in this regex is intentional:
// German Chrome returns this value as 0,55
// github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632
return (/^0.55$/).test(mStyle.opacity);
};
-
-
// Note, Android < 4 will pass this test, but can only animate
// a single property at a time
// goo.gl/v3V4Gp
tests['cssanimations'] = function() {
return testPropsAll('animationName');
};
-
-
tests['csscolumns'] = function() {
return testPropsAll('columnCount');
};
-
-
tests['cssgradients'] = function() {
/**
* For CSS Gradients syntax, please see:
@@ -624,7 +488,6 @@ window.Modernizr = (function( window, do
* developer.mozilla.org/en/CSS/-moz-radial-gradient
* dev.w3.org/csswg/css3-images/#gradients-
*/
-
var str1 = 'background-image:',
str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));',
str3 = 'linear-gradient(left top,#9f9, white);';
@@ -635,21 +498,14 @@ window.Modernizr = (function( window, do
// standard syntax // trailing 'background-image:'
prefixes.join(str3 + str1)).slice(0, -str1.length)
);
-
return contains(mStyle.backgroundImage, 'gradient');
};
-
-
tests['cssreflections'] = function() {
return testPropsAll('boxReflect');
};
-
-
tests['csstransforms'] = function() {
return !!testPropsAll('transform');
};
-
-
tests['csstransforms3d'] = function() {
var ret = !!testPropsAll('perspective');
@@ -668,13 +524,9 @@ window.Modernizr = (function( window, do
}
return ret;
};
-
-
tests['csstransitions'] = function() {
return testPropsAll('transition');
};
-
-
/*>>fontface*/
// @font-face detection routine by Diego Perini
// javascript.nwbox.com/CSSSupport/
@@ -684,32 +536,23 @@ window.Modernizr = (function( window, do
// WP7 github.com/Modernizr/Modernizr/issues/538
tests['fontface'] = function() {
var bool;
-
injectElementWithStyles('@font-face {font-family:"font";src:url("https://")}', function( node, rule ) {
var style = document.getElementById('smodernizr'),
sheet = style.sheet || style.styleSheet,
cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : '';
-
bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0;
});
-
return bool;
};
/*>>fontface*/
-
// CSS generated content detection
tests['generatedcontent'] = function() {
var bool;
-
injectElementWithStyles(['#',mod,'{font:0/0 a}#',mod,':after{content:"',smile,'";visibility:hidden;font:3px/1 a}'].join(''), function( node ) {
bool = node.offsetHeight >= 3;
});
-
return bool;
};
-
-
-
// These tests evaluate support of the video/audio elements, as well as
// testing what types of content they support.
//
@@ -723,11 +566,9 @@ window.Modernizr = (function( window, do
// Note: in some older browsers, "no" was a return value instead of empty string.
// It was live in FF3.5.0 and 3.5.1, but fixed in 3.5.2
// It was also live in Safari 4.0.0 - 4.0.4, but fixed in 4.0.5
-
tests['video'] = function() {
var elem = document.createElement('video'),
bool = false;
-
// IE9 Running on Windows Server SKU can cause an exception to be thrown, bug #224
try {
if ( bool = !!elem.canPlayType ) {
@@ -739,22 +580,17 @@ window.Modernizr = (function( window, do
bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,'');
}
-
} catch(e) { }
-
return bool;
};
-
tests['audio'] = function() {
var elem = document.createElement('audio'),
bool = false;
-
try {
if ( bool = !!elem.canPlayType ) {
bool = new Boolean(bool);
bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,'');
bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/,'');
-
// Mimetypes accepted:
// developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements
// bit.ly/iphoneoscodecs
@@ -763,11 +599,8 @@ window.Modernizr = (function( window, do
elem.canPlayType('audio/aac;')) .replace(/^no$/,'');
}
} catch(e) { }
-
return bool;
};
-
-
// In FF4, if disabled, window.localStorage should === null.
// Normally, we could not test that directly and need to do a
@@ -784,7 +617,6 @@ window.Modernizr = (function( window, do
// Just FWIW: IE8 Compat mode supports these features completely:
// www.quirksmode.org/dom/html5.html
// But IE8 doesn't support either with local files
-
tests['localstorage'] = function() {
try {
localStorage.setItem(mod, mod);
@@ -794,7 +626,6 @@ window.Modernizr = (function( window, do
return false;
}
};
-
tests['sessionstorage'] = function() {
try {
sessionStorage.setItem(mod, mod);
@@ -804,36 +635,26 @@ window.Modernizr = (function( window, do
return false;
}
};
-
-
tests['webworkers'] = function() {
return !!window.Worker;
};
-
-
tests['applicationcache'] = function() {
return !!window.applicationCache;
};
-
-
- // Thanks to Erik Dahlstrom
tests['svg'] = function() {
return !!document.createElementNS && !!document.createElementNS(ns.svg, 'svg').createSVGRect;
};
-
// specifically for SVG inline in HTML, not within XHTML
// test page: paulirish.com/demo/inline-svg
tests['inlinesvg'] = function() {
var div = document.createElement('div');
div.innerHTML = '<svg/>';
- return (div.firstChild && div.firstChild.namespaceURI) == ns.svg;
+ return (div.firstChild && div.firstChild.namespaceURI) === ns.svg;
};
-
// SVG SMIL animation
tests['smil'] = function() {
return !!document.createElementNS && /SVGAnimate/.test(toString.call(document.createElementNS(ns.svg, 'animate')));
};
-
// This test is only for clip paths in SVG proper, not clip paths on HTML content
// demo: srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg
@@ -842,7 +663,6 @@ window.Modernizr = (function( window, do
tests['svgclippaths'] = function() {
return !!document.createElementNS && /SVGClipPath/.test(toString.call(document.createElementNS(ns.svg, 'clipPath')));
};
-
/*>>webforms*/
// input features and input types go directly onto the ret object, bypassing the tests loop.
// Hold this guy to execute in a moment.
@@ -920,7 +740,7 @@ window.Modernizr = (function( window, do
} else {
// If the upgraded input compontent rejects the :) text, we got a winner
- bool = inputElem.value != smile;
+ bool = inputElem.value !== smile;
}
}
@@ -930,16 +750,6 @@ window.Modernizr = (function( window, do
})('search tel url email datetime date month week time datetime-local number range color'.split(' '));
/*>>inputtypes*/
}
- /*>>webforms*/
-
-
- // End of test definitions
- // -----------------------
-
-
-
- // Run through all tests and detect their support in the current UA.
- // todo: hypothetically we could be doing an array of tests and use a basic loop here.
for ( var feature in tests ) {
if ( hasOwnProp(tests, feature) ) {
// run the test, throw the return value into the Modernizr,
@@ -947,17 +757,11 @@ window.Modernizr = (function( window, do
// and push it into an array of classes we'll join later.
featureName = feature.toLowerCase();
Modernizr[featureName] = tests[feature]();
-
classes.push((Modernizr[featureName] ? '' : 'no-') + featureName);
}
}
-
- /*>>webforms*/
- // input tests need to run.
Modernizr.input || webforms();
/*>>webforms*/
-
-
/**
* addTest allows the user to define their own feature tests
* the result will be added onto the Modernizr object,
@@ -974,35 +778,26 @@ window.Modernizr = (function( window, do
}
}
} else {
-
feature = feature.toLowerCase();
if ( Modernizr[feature] !== undefined ) {
// we're going to quit if you're trying to overwrite an existing test
// if we were to allow it, we'd do this:
- // var re = new RegExp("\\b(no-)?" + feature + "\\b");
- // docElement.className = docElement.className.replace( re, '' );
// but, no rly, stuff 'em.
return Modernizr;
}
-
test = typeof test == 'function' ? test() : test;
if (typeof enableClasses !== "undefined" && enableClasses) {
docElement.className += ' ' + (test ? '' : 'no-') + feature;
}
Modernizr[feature] = test;
-
}
-
return Modernizr; // allow chaining.
};
-
-
// Reset modElem.cssText to nothing to reduce memory footprint.
setCss('');
modElem = inputElem = null;
-
/*>>shiv*/
/**
* @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
@@ -1011,39 +806,28 @@ window.Modernizr = (function( window, do
/*jshint evil:true */
/** version */
var version = '3.7.0';
-
/** Preset options */
var options = window.html5 || {};
-
/** Used to skip problem elements */
var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
-
/** Not all elements can be cloned in IE **/
var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
-
/** Detect whether the browser supports default html5 styles */
var supportsHtml5Styles;
-
/** Name of the expando, to work with multiple documents or to re-shiv one document */
var expando = '_html5shiv';
-
/** The id for the the documents expando */
var expanID = 0;
-
/** Cached data for each document */
var expandoData = {};
-
- /** Detect whether the browser supports unknown elements */
var supportsUnknownElements;
-
(function() {
try {
var a = document.createElement('a');
a.innerHTML = '<xyz></xyz>';
//if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
supportsHtml5Styles = ('hidden' in a);
-
- supportsUnknownElements = a.childNodes.length == 1 || (function() {
+ supportsUnknownElements = a.childNodes.length === 1 || (function() {
// assign a false positive if unable to shiv
(document.createElement)('a');
var frag = document.createDocumentFragment();
@@ -1058,11 +842,8 @@ window.Modernizr = (function( window, do
supportsHtml5Styles = true;
supportsUnknownElements = true;
}
-
}());
-
/*--------------------------------------------------------------------------*/
-
/**
* Creates a style sheet with the given CSS text and adds it to the document.
* @private
@@ -1073,11 +854,9 @@ window.Modernizr = (function( window, do
function addStyleSheet(ownerDocument, cssText) {
var p = ownerDocument.createElement('p'),
parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
-
p.innerHTML = 'x<style>' + cssText + '</style>';
return parent.insertBefore(p.lastChild, parent.firstChild);
}
-
/**
* Returns the value of `html5.elements` as an array.
* @private
@@ -1087,7 +866,6 @@ window.Modernizr = (function( window, do
var elements = html5.elements;
return typeof elements == 'string' ? elements.split(' ') : elements;
}
-
/**
* Returns the data associated to the given document
* @private
@@ -1104,7 +882,6 @@ window.Modernizr = (function( window, do
}
return data;
}
-
/**
* returns a shived element for the given nodeName and document
* @memberOf html5
@@ -1131,7 +908,6 @@ window.Modernizr = (function( window, do
} else {
node = data.createElem(nodeName);
}
-
// Avoid adding some elements to fragments in IE < 9 because
// * Attributes like `name` or `type` cannot be set/changed once an element
// is inserted into a document/fragment
@@ -1141,7 +917,6 @@ window.Modernizr = (function( window, do
// or `text` property is set
return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
}
-
/**
* returns a shived DocumentFragment for the given document
* @memberOf html5
@@ -1165,7 +940,6 @@ window.Modernizr = (function( window, do
}
return clone;
}
-
/**
* Shivs the `createElement` and `createDocumentFragment` methods of the document.
* @private
@@ -1179,8 +953,6 @@ window.Modernizr = (function( window, do
data.createFrag = ownerDocument.createDocumentFragment;
data.frag = data.createFrag();
}
-
-
ownerDocument.createElement = function(nodeName) {
//abort shiv
if (!html5.shivMethods) {
@@ -1188,7 +960,6 @@ window.Modernizr = (function( window, do
}
return createElement(nodeName, ownerDocument, data);
};
-
ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
'var n=f.cloneNode(),c=n.createElement;' +
'h.shivMethods&&(' +
@@ -1201,9 +972,7 @@ window.Modernizr = (function( window, do
');return n}'
)(html5, data.frag);
}
-
/*--------------------------------------------------------------------------*/
-
/**
* Shivs the given document.
* @memberOf html5
@@ -1231,7 +1000,6 @@ window.Modernizr = (function( window, do
}
return ownerDocument;
}
-
/*--------------------------------------------------------------------------*/
/**
@@ -1244,33 +1012,28 @@ window.Modernizr = (function( window, do
* html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
*/
var html5 = {
-
/**
* An array or space separated string of node names of the elements to shiv.
* @memberOf html5
* @type Array|String
*/
'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video',
-
/**
* current version of html5shiv
*/
'version': version,
-
/**
* A flag to indicate that the HTML5 style sheet should be inserted.
* @memberOf html5
* @type Boolean
*/
'shivCSS': (options.shivCSS !== false),
-
/**
* Is equal to true if a browser supports creating unknown/HTML5 elements
* @memberOf html5
* @type boolean
*/
'supportsUnknownElements': supportsUnknownElements,
-
/**
* A flag to indicate that the document's `createElement` and `createDocumentFragment`
* methods should be overwritten.
@@ -1278,38 +1041,28 @@ window.Modernizr = (function( window, do
* @type Boolean
*/
'shivMethods': (options.shivMethods !== false),
-
/**
* A string to describe the type of `html5` object ("default" or "default print").
* @memberOf html5
* @type String
*/
'type': 'default',
-
// shivs the document according to the specified `html5` object options
'shivDocument': shivDocument,
-
//creates a shived element
createElement: createElement,
-
//creates a shived documentFragment
createDocumentFragment: createDocumentFragment
};
-
/*--------------------------------------------------------------------------*/
-
// expose html5
window.html5 = html5;
-
// shiv the document
shivDocument(document);
-
}(this, document));
/*>>shiv*/
-
// Assign private properties to the return object with prefix
Modernizr._version = version;
-
// expose these for the plugin API. Look in the source for how to join() them against your input
/*>>prefixes*/
Modernizr._prefixes = prefixes;
@@ -1318,7 +1071,6 @@ window.Modernizr = (function( window, do
Modernizr._domPrefixes = domPrefixes;
Modernizr._cssomPrefixes = cssomPrefixes;
/*>>domprefixes*/
-
/*>>mq*/
// Modernizr.mq tests a given media query, live against the current state of the window
// A few important notes:
@@ -1330,13 +1082,11 @@ window.Modernizr = (function( window, do
// Modernizr.mq('only screen and (max-width:768)')
Modernizr.mq = testMediaQuery;
/*>>mq*/
-
/*>>hasevent*/
// Modernizr.hasEvent() detects support for a given event, with an optional element to test on
// Modernizr.hasEvent('gesturestart', elem)
Modernizr.hasEvent = isEventSupported;
/*>>hasevent*/
-
/*>>testprop*/
// Modernizr.testProp() investigates whether a given style property is recognized
// Note that the property names must be provided in the camelCase variant.
@@ -1345,7 +1095,6 @@ window.Modernizr = (function( window, do
return testProps([prop]);
};
/*>>testprop*/
-
/*>>testallprops*/
// Modernizr.testAllProps() investigates whether a given style property,
// or any of its vendor-prefixed variants, is recognized
@@ -1353,35 +1102,25 @@ window.Modernizr = (function( window, do
// Modernizr.testAllProps('boxSizing')
Modernizr.testAllProps = testPropsAll;
/*>>testallprops*/
-
-
/*>>teststyles*/
// Modernizr.testStyles() allows you to add custom styles to the document and test an element afterwards
// Modernizr.testStyles('#modernizr { position:absolute }', function(elem, rule){ ... })
Modernizr.testStyles = injectElementWithStyles;
/*>>teststyles*/
-
-
/*>>prefixed*/
// Modernizr.prefixed() returns the prefixed or nonprefixed property name variant of your input
// Modernizr.prefixed('boxSizing') // 'MozBoxSizing'
// Properties must be passed as dom-style camelcase, rather than `box-sizing` hypentated style.
// Return values will also be the camelCase variant, if you need to translate that to hypenated style use:
- //
- // str.replace(/([A-Z])/g, function(str,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-');
-
// If you're trying to ascertain which transition end event to bind to, you might do something like...
//
- // var transEndEventNames = {
// 'WebkitTransition' : 'webkitTransitionEnd',
// 'MozTransition' : 'transitionend',
// 'OTransition' : 'oTransitionEnd',
// 'msTransition' : 'MSTransitionEnd',
// 'transition' : 'transitionend'
// },
- // transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ];
-
Modernizr.prefixed = function(prop, obj, elem){
if(!obj) {
return testPropsAll(prop, 'pfx');
@@ -1391,8 +1130,6 @@ window.Modernizr = (function( window, do
}
};
/*>>prefixed*/
-
-
/*>>cssclasses*/
// Remove "no-js" class from <html> element, if it exists:
docElement.className = docElement.className.replace(/(^|\s)no-js(\s|$)/, '$1$2') +
@@ -1400,7 +1137,5 @@ window.Modernizr = (function( window, do
// Add the new classes to the <html> element.
(enableClasses ? ' js ' + classes.join(' ') : '');
/*>>cssclasses*/
-
return Modernizr;
-
})(this, this.document);
M payment.php
+1 −2
--- 'a/payment.php'
+++ b/payment.php
@@ -49,10 +49,9 @@
</div>
<div class='form-row'>
<div class='col-md-12 form-group' style="text-align: center;">
- <a class=" col-md-12 btn btn-default"style="margin-top: 10px;" href="index.php">Pay</a>
+ <a class=" col-md-12 btn btn-default"style="margin-top: 10px;" href="tokan.php">Pay</a>
</div>
</div>
-
<div class='form-row'>
<div class='col-md-12 error form-group hide'>
<div class='alert-danger alert'>
A tokan.php
+25 −0
--- /dev/null
+++ b/tokan.php
@@ -0,0 +1,25 @@
+<?php
+ $file = "xml/hashKey.xml";
+ $doc = new DOMDocument('1.0');
+ $doc->formatOutput = true;
+ $root = $doc->createElement('maincontent');
+ $root = $doc->appendChild($root);
+ $title = $doc->createElement('code');
+ $title = $root->appendChild($title);
+ $enclosure = $doc->createAttribute('num');
+ $enclosure->value = "";
+ $title->appendChild($enclosure);
+ $title = $doc->createElement('access_token');
+ $title = $root->appendChild($title);
+ $text = $doc->createTextNode("");
+ $text = $title->appendChild($text);
+ $doc->save($file);
+ $doc->save("xml/hashhKey.xml");
+if (file_exists($file)) {
+ $xml = (array) simplexml_load_file($file) || die("Error: Cannot create object");
+} else {
+ echo $file. " file doesnot exists";
+}
+header("Location: index.php");
+?>
+
M uploaddoc.php
+93 −65
--- 'a/uploaddoc.php'
+++ b/uploaddoc.php
@@ -1,5 +1,9 @@
<?php
include 'config.php';
+if(isset($_GET['error_description'])){
+ header("Location: index.php?message=".$_GET['error_description']);
+ exit;
+}
$code = $_GET['code'];
$state = $_GET['state'];
$url = $config['access_token_download'];
@@ -21,11 +25,14 @@ curl_setopt($vh, CURLOPT_RETURNTRANSFER,
$result = curl_exec($vh);
curl_close($vh);
$notgettingdata = explode('¿', $result);
+if(!$notgettingdata[1]){
+header("Location: index.php?message=THIS IS ERROR");
+}
$getToken = json_decode($notgettingdata[1]);
-
if (isset($getToken->access_token)) {
$access_token = $getToken->access_token;
}
+$file = "xml/hashKey.xml";
if (isset($access_token)) {
$doc = new DOMDocument('1.0');
$doc->formatOutput = true;
@@ -42,12 +49,12 @@ if (isset($access_token)) {
$title = $root->appendChild($title);
$text = $doc->createTextNode($access_token);
$text = $title->appendChild($text);
- $doc->save("xml/hashhkey.xml");
+ $doc->save($file);
}
-if (file_exists("xml/hashhkey.xml")) {
- $xml = (array) simplexml_load_file("xml/hashhkey.xml") or die("Error: Cannot create object");
+if (file_exists($file)) {
+ $xml = (array) simplexml_load_file($file) or die("Error: Cannot create object");
} else {
- echo "xml/hashhkey.xml file doesnot exists";
+ echo $file. " file doesnot exists";
}
$access_token = $xml['access_token'];
@@ -66,6 +73,10 @@ $resFile = curl_exec($vhf);
curl_close($vhf);
$resFileNew = explode('¿', $resFile);
$uriRes = json_decode($resFileNew[1]);
+if(isset($uriRes->error) || !$resFileNew){
+ header("Location: index.php?message=".$uriRes->error_description);
+ exit;
+}
$uriDir = array();
$uriFiles = array();
foreach ($uriRes->items as $uriI) {
@@ -75,16 +86,7 @@ foreach ($uriRes->items as $uriI) {
$uriFiles[] = (array) $uriI;
}
}
-if ($uriDir == NULL || $uriFiles == NULL) {
- $x = array_merge($uriDir, $uriFiles);
- foreach ($x as $y) {
- if ($y != NULL) {
- $uriItems[] = $y;
- }
- }
-} else {
- $uriItems = array_merge($uriDir, $uriFiles);
-}
+$uriItems = array_merge($uriDir, $uriFiles);
$uriItemsArray['items'] = $uriItems;
$dataDirectory['directory'] = $uriRes->directory;
$dataF = array_merge($dataDirectory, $uriItemsArray);
@@ -114,6 +116,20 @@ include 'header.php';
<div class="row">
<div class="col-lg-12">
<div class="container">
+ <?php
+ $msg = "message";
+ if (isset($_GET[$msg])) {
+ $alert = "red";
+ if ($_GET[$msg] == "File Uploaded Successfully") {
+ $alert = "green";
+ }
+ echo "<div class='alert' id='alert' style='color:" . $alert . "'> <button type='button' class='close' data-dismiss='alert'>x</button>" . $_GET[$msg] . "</div>";
+ }
+ ?>
+ </div>
+ </div>
+ <div class="col-lg-12">
+ <div class="container">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#uploadeddocument"><img src="images/uploaded_files.png">Uploaded Document</a></li>
</ul>
@@ -143,55 +159,55 @@ include 'header.php';
</div>
</div>
<div class="table-responsive">
- <table class="table">
- <thead style="color:blueviolet;">
- <tr>
- <td>Name</td>
- <td>Size</td>
- <td>Date</td>
- <td id="tdUri" style="display:none;">URI</td>
- </tr>
- </thead>
- <tbody id="folderPath">
- <?php
- foreach ((array) ($dataF['items']) as $api_detail) {
- if (isset($api_detail['id'])) {
- $api_detail['id'] = $api_detail['id'];
- $api_detail['parent'] = $api_detail['parent'];
- } else {
- $api_detail['id'] = "";
- }
- ?>
- <tr>
- <?php
- if (($api_detail['type']) == "dir") {
- echo '<td onclick="uriData(' . $api_detail['id'] . ',' . $api_detail['parent'] . ')">';
- echo '<img src="images/folder.svg"></img>';
- echo($api_detail['name']);
- }
- if ($api_detail['type'] == "file") {
- echo "<td>";
- echo '<img src="images/file.svg"></img>';
- echo($api_detail['name']);
+ <table class="table">
+ <thead style="color:blueviolet;">
+ <tr id="trheading">
+ <td>Name</td>
+ <td>Size</td>
+ <td>Date</td>
+ <td id="tdUri" style="display:none;">URI</td>
+ </tr>
+ </thead>
+ <tbody id="folderPath">
+ <?php
+ foreach ((array) ($dataF['items']) as $api_detail) {
+ if (isset($api_detail['id'])) {
+ $api_id = $api_detail['id'];
+ $api_parent = $api_detail['parent'];
+ } else {
+ $api_detail['id'] = "";
}
- echo "</td>";
?>
- <td><?php echo($api_detail['size']); ?></td>
- <td><?php echo($api_detail['date']); ?></td>
- <?php if ($api_detail['type'] == "file") { ?>
- <?php }
- ?>
- </tr>
- <?php }
- ?>
- </tbody>
- </table>
- <div class="footer">
- <a class="btn btn-default" style="float: right; margin-left: 10px; border-radius:5px;" href="payment.php">Complete Payment</a>
- <a class="btn btn-default" style="float: right; border-radius:5px;" href="index.php">Cancel</a>
+ <tr>
+ <?php
+ if (($api_detail['type']) == "dir") {
+ echo '<td onclick="uriData(' . $api_id . ',' . $api_parent . ')">';
+ echo '<img src="images/folder.svg" style="margin-right:10px;"></img>';
+ echo $api_detail['name'];
+ }
+ if ($api_detail['type'] == "file") {
+ echo "<td>";
+ echo '<img src="images/file.svg" style="margin-right:10px;"></img>';
+ echo $api_detail['name'];
+ }
+ echo "</td>";
+ ?>
+ <td><?php echo $api_detail['size']; ?></td>
+ <td><?php echo date("d-m-Y", strtotime($api_detail['date'])); ?></td>
+ <?php if ($api_detail['type'] == "file") { ?>
+ <?php }
+ ?>
+ </tr>
+ <?php }
+ ?>
+ </tbody>
+ </table>
+ <div class="footer">
+ <a class="btn btn-default" style="float: right; margin-left: 10px; border-radius:5px;" href="payment.php">Complete Payment</a>
+ <a class="btn btn-default" style="float: right; border-radius:5px;" href="tokan.php">Cancel</a>
+ </div>
</div>
</div>
- </div>
</div>
</div>
</section>
@@ -211,7 +227,7 @@ $(document).on('change', "#fileUpload",
});
$("#filePath").val("");
function uriData(id, parent) {
-
+
$("#folderPath").empty();
$("#fileUpload").val("");
$("#filePath").val("");
@@ -230,27 +246,39 @@ function uriData(id, parent) {
$.each(result.items, function (i, l) {
if (result.items[i].type == "file") {
console.log(result.items);
- fileOrFolder = '<img src="images/file.svg"></img>';
+ fileOrFolder = '<img src="images/file.svg" style="margin-right:10px;"></img>';
onclickFnc = "onclick='thisIsNotAFolder()'";
dwnldTd = "<td onclick = 'download(\"" + result.items[i].uri + "\",\"" + result.items[i].name + "\");';></td>";
} else {
- fileOrFolder = '<img src="images/folder.svg"></img>';
+ fileOrFolder = '<img src="images/folder.svg" style="margin-right:10px;"></img>';
onclickFnc = "onclick='uriData(" + result.items[i].id + "," + result.items[i].parent + ")'";
dwnldTd = "<td></td>";
}
- uriDataHtml += "<tr><td " + onclickFnc + ">" + fileOrFolder + result.items[i].name + "</td><td>" + result.items[i].size + "</td><td>" + result.items[i].date + "</td>\n\
+ var date = new Date(result.items[i].date);
+ var dateformate = date.getDate()+'-'+(date.getMonth()+1) + '-' + date.getFullYear();
+ uriDataHtml += "<tr><td " + onclickFnc + ">" + fileOrFolder + result.items[i].name + "</td><td>" + result.items[i].size + "</td><td>" + dateformate + "</td>\n\
<td>" + result.items[i].uri + "</td>" + dwnldTd + "</tr>";
$("#folderPath").html(uriDataHtml);
});
+ $(".footer").show();
+ $("#trheading").show();
+ if((result.items).length==0){
+ $(".footer").hide();
+ $("#trheading").hide();
+ $("#folderPath").html("<tr><th colspan='4'style='text-align: center;'><h4>No document uploaded yet</h4></br><p>Upload some of your own documents or certificates!</p></th></tr>");
+ }
$("#filePath").val(result.directory);
$("#parent").html("<span onclick=uriData(" + parent + ",null)>" + result.directory + "</span>");
$(".se-pre-con").hide();
}, "json")
.fail(function () {
- $("#folderPath").html("No document available in this folder");
+ $("#folderPath").html("some error found!");
$(".se-pre-con").hide();
});
}
$(".se-pre-con").fadeOut("slow");
</script>
+<script>
+ $("#alert").fadeTo(2000, 500).slideUp(500, function(){ $("#alert").slideUp(5000); });
+</script>
</html>
\ No newline at end of file
M uri.php
+2 −10
--- 'a/uri.php'
+++ b/uri.php
@@ -1,4 +1,5 @@
<?php
+
include 'config.php';
$id = $_POST['id'];
$headers = array(
@@ -27,16 +28,7 @@ foreach ($uriRes->items as $uriI) {
$uriFiles[] = (array) $uriI;
}
}
-if ($uriDir == NULL || $uriFiles == NULL) {
- $x = array_merge($uriDir, $uriFiles);
- foreach ($x as $y) {
- if ($y != NULL) {
- $uriItems[] = $y;
- }
- }
-} else {
- $uriItems = array_merge($uriDir, $uriFiles);
-}
+$uriItems = array_merge($uriDir, $uriFiles);
$uriItemsArray['items'] = $uriItems;
$dataDirectory['directory'] = $uriRes->directory;
$dataF = json_encode(array_merge($dataDirectory, $uriItemsArray));