Im using Valums awesome file uploader - https://github.com/valums/file-uploader
One thing I want to add to it is a restriction based on the balance of the user account.
The first image is always free, so you can upload one image, even if your balance is 0.
Additional images will require 0.50 or credit. If they do not have enough credits, he will show a warning and the file will not be uploaded.
balance can be obtained from php session variable $_SESSION['user']['credit']
Here is the code so far
function createUploader(){
var running = 0;
var uploader = new qq.FileUploader({
multiple: true,
element: $('#file-uploader')[0],
action: 'classes/upload.item.php',
allowedExtensions: ['jpg', 'png', 'gif'],
params: {item: '<?php echo $item_id ?>'},
onSubmit: function(id, fileName){
running++;
$('.button').replaceWith('<a class="button large grey full-width">Please wait...</a>');
},
onComplete: function(id, fileName, responseJSON){
running--;
$(".thumbnails").append('<li class="span2"> <a class="thumbnail"><img src="<?php echo $path; ?>'+fileName+'" /></a> </li>');
if(running==0){
$('.button').replaceWith('<a class="button large green full-width" href="confirm/<?php echo $item_id; ?>">Continue to next step</a>');
}
},
onCancel: function(id, fileName){
running--;
},
debug: true
});
}
Sorry, the question is, can you offer any recommendations on the implementation of what I described above?
Greetings
Edit:
, (, ).
return false , , , , , .
onSubmit (String id, String fileName) - , . , , . false .
<?php
$path = 'uploads/' . $_SESSION['user']['username'] . '/' . $item_id . '/thumbs/s_';
$files = glob($path . '*.*');
if (count($files) >= 1) {
$used_free = 'true';
} else {
$used_free = 'false';
}
?>
<script>
function createUploader(){
var credit = <?php echo $_SESSION['user']['credit'] ?>;
var used_free = <?php echo $used_free ?>;
var running = 0;
var uploader = new qq.FileUploader({
multiple: true,
element: $('#file-uploader')[0],
action: 'classes/upload.item.php',
allowedExtensions: ['jpg', 'png', 'gif'],
params: {item: '<?php echo $item_id ?>'},
onSubmit: function(id, fileName){
console.log(used_free);
if (!used_free) {
used_free = 'true';
running++;
$('.button').replaceWith('<a class="button large grey full-width">Please wait...</a>');
} else {
$.get('ajax/getCredit.php', function (data) {
if (data.credit >= 0.5) {
running++;
$('.button').replaceWith('<a class="button large grey full-width">Please wait...</a>');
} else {
alert('you do not have enough credits');
return false;
}
}, "json");
}
},
onComplete: function(id, fileName, responseJSON){
running--;
$(".thumbnails").append('<li class="span2"> <a class="thumbnail"><img src="<?php echo $path; ?>'+fileName+'" /></a> </li>');
if(running==0){
$('.button').replaceWith('<a class="button large green full-width" href="confirm/<?php echo $item_id; ?>">Continue to next step</a>');
}
},
onCancel: function(id, fileName){
running--;
},
debug: true
});
}
</script>
,
function createUploader(){
var credit = <?php echo $_SESSION['user']['credit'] ?>;
var used_free = <?php echo $used_free ?>;
var running = 0;
var uploader = new qq.FileUploader({
multiple: true,
element: $('#file-uploader')[0],
action: 'classes/upload.item.php',
allowedExtensions: ['jpg', 'png', 'gif'],
params: {item: '<?php echo $item_id ?>'},
onSubmit: function(id, fileName){
if (!used_free) {
used_free = 'true';
running++;
$('.button').replaceWith('<a class="button large grey full-width">Please wait...</a>');
} else {
if (credit >= 0.5) {
running++;
credit = credit - 0.5;
$('.button').replaceWith('<a class="button large grey full-width">Please wait...</a>');
} else {
alert('you do not have enough credits');
return false;
}
}
},
onComplete: function(id, fileName, responseJSON){
running--;
$(".thumbnails").append('<li class="span2"> <a class="thumbnail"><img src="<?php echo $path; ?>'+fileName+'" /></a> </li>');
if(running==0){
$('.button').replaceWith('<a class="button large green full-width" href="confirm/<?php echo $item_id; ?>">Continue to next step</a>');
}
},
onCancel: function(id, fileName){
running--;
},
debug: true
});
}
,