Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • Saransaran/php-class-project
  • sibidharan/php-class-project
  • Madhan1024/php-class-project
  • GopiKrishnan/photogram
  • Mhd_khalid/php-class-project
  • At_muthu__/php-class-project
  • jaganbhaskar155/php-class-project
  • hariharanrd/php-class-project
  • jasper715/php-class-project
  • hanuRakesh/photogram-project-main
  • Yuvaraj21/photogram
  • ram_rogers/php-class-project
  • Hihelloboy/php-class-project
  • Nadarajan/php-class-project
  • srisanthosh156/php-class-project
  • Buvaneshwaran.k/php-class-project
  • umarfarooq07/php-class-project
  • Dhanaprakash/php-class-project
  • jashwanth142003/php-class-project
  • Esakkiraja/php-class-project
  • Boomi/php-class-project
  • Kishore2071/php-class-project
  • Ram123raj/php-class-project
  • aswinkumar27/php-class-project
  • dhilipdhilip9655/php-class-project
  • Manikandam143/php-class-project
  • VikramS/php-class-project
  • ArnoldSam/php-class-project
  • gowthamapandi0008/php-class-project
  • d.barath7639/php-class-project
  • shyalandran/php-class-project
  • kiruba_432/php-class-project
  • razakias001/php-class-project
  • kannan.b2745/php-class-project
  • sathish236tsk/php-class-project
  • rii/php-class-project
  • jonathajh4k/php-class-project
  • Neelagandan_G/php-class-project
  • Tholkappiar2003/php-class-project
  • kamaleshselvam75/php-class-project
  • devapriyan/php-class-project
  • sanojahamed/php-class-project
  • rizwankendo/php-class-project
  • senthamilselvan18000/php-class-project
  • rajeshd01/php-class-project
  • Florence/php-class-project
  • vishnu191299/php-class-project
  • Rakeshrakki/php-class-project
  • sanjay057/php-class-project
  • amarsanthoshsanthosh/photogram-project-cp
  • md_ashmar/php-class-project
  • k.nandhishwaran777k/php-class-project
52 results
Show changes
Commits on Source (1)
Showing
with 193 additions and 78 deletions
......@@ -13,6 +13,16 @@
"label": "Grunt",
"type": "shell",
"command": "cd /home/sibidharan/htdocs/photogram/project/grunt && grunt --force"
},
{
"label": "Grunt Build",
"type": "shell",
"command": "cd /home/sibidharan/htdocs/photogram/project/grunt && grunt build",
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
\ No newline at end of file
<?php
if (isset($_POST['post_text']) and isset($_FILES['post_image'])) {
$image_tmp = $_FILES['post_image']['tmp_name'];
$text = $_POST['post_text'];
Post::registerPost($text, $image_tmp);
}
// if (isset($_POST['post_text']) and isset($_FILES['post_image'])) {
// $image_tmp = $_FILES['post_image']['tmp_name'];
// $text = $_POST['post_text'];
// Post::registerPost($text, $image_tmp);
// }
?>
<section class="py-5 text-center container">
<div class="row py-lg-5">
<form method="post" action="/" enctype="multipart/form-data">
<div class="col-lg-6 col-md-8 mx-auto">
<h1 id="greeting" class="fw-light">What are you upto,
<?=Session::getUser()->getUsername()?>?
</h1>
<p class="lead text-muted">Share a photo that talks about it.</p>
<textarea id="post_text" name="post_text" class="form-control" placeholder="What are you upto?"
rows="3"></textarea>
<div class="input-group mb-3">
<input type="file" accept="image/*" class="form-control" name="post_image" id="inputGroupFile02">
<!-- <label class="input-group-text" for="inputGroupFile02">Upload</label> -->
</div>
<p>
<button class="btn btn-success my-2" type="submit">Share memory</button>
<a href="/somesecret.php" class="btn btn-secondary my-2">Secret Page</a>
</p>
<div class="col-lg-6 col-md-8 mx-auto">
<h1 id="greeting" class="fw-light">What are you upto,
<?=Session::getUser()->getUsername()?>?
</h1>
<p class="lead text-muted">Share a photo that talks about it.</p>
<textarea id="post_text" name="post_text" class="form-control" placeholder="What are you upto?"
rows="3"></textarea>
<div class="input-group mb-3">
<input type="file" accept="image/*" class="form-control" name="post_image" id="post_image">
<!-- <label class="input-group-text" for="inputGroupFile02">Upload</label> -->
</div>
</form>
<p>
<button class="btn btn-success my-2" id="share-memory">Share memory</button>
<a href="/somesecret.php" class="btn btn-secondary my-2">Secret Page</a>
</p>
</div>
</div>
</section>
\ No newline at end of file
<div class="col-lg-3 mb-4" id="post-<?=$p->getID()?>">
<div class="card">
<img class="bd-placeholder-img card-img-top"
src="<?=$p->getImageUri()?>">
<div class="card-body">
<p class="card-text"><?=$p->getPostText()?>
</p>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group" data-id="<?=$p->getID()?>">
<button type="button" class="btn btn-sm btn-outline-primary btn-like">Like</button>
<!-- <button type="button" class="btn btn-sm btn-outline-success">Share</button> -->
<?php
if (Session::isOwnerOf($p->getOwner())) {
?>
<button type="button" class="btn btn-sm btn-outline-danger btn-delete">Delete</button>
<?}?>
</div>
<small class="text-muted"><?=$uploaded_time_str?>
by
<?=$owner->getUsername()?></small>
</div>
</div>
</div>
</div>
\ No newline at end of file
......@@ -12,35 +12,12 @@
$uploaded_time = Carbon::parse($p->getUploadedTime());
$uploaded_time_str = $uploaded_time->diffForHumans();
$owner = new User($post['owner']);
?>
<div class="col-lg-3 mb-4"
id="post-<?=$post['id']?>">
<div class="card">
<img class="bd-placeholder-img card-img-top"
src="<?=$p->getImageUri()?>">
<div class="card-body">
<p class="card-text"><?=$p->getPostText()?>
</p>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group"
data-id="<?=$post['id']?>">
<button type="button" class="btn btn-sm btn-outline-primary btn-like">Like</button>
<!-- <button type="button" class="btn btn-sm btn-outline-success">Share</button> -->
<?php
if (Session::isOwnerOf($p->getOwner())) {
?>
<button type="button" class="btn btn-sm btn-outline-danger btn-delete">Delete</button>
<?}?>
</div>
<small
class="text-muted"><?=$uploaded_time_str?>
by
<?=$owner->getUsername()?></small>
</div>
</div>
</div>
</div>
<?php
Session::loadTemplate('index/photocard', [
'p' => $p,
'uploaded_time_str' => $uploaded_time_str,
'owner' => $owner
]);
}
?>
</div>
......
<?php
Session::loadTemplate('signup/index');
Session::loadTemplate('signup/index', [
'testtitle' => 'Signup Here'
]);
......@@ -13,7 +13,7 @@ if (isset($_POST['username']) and isset($_POST['password']) and !empty($_POST['p
<?php
if ($signup) {
if (!$error) {
if ($error) {
?>
<main class="container">
<div class="bg-light p-5 rounded mt-3">
......@@ -42,7 +42,7 @@ if ($signup) {
<form method="post" action="signup.php">
<img class="mb-4" src="https://git.selfmade.ninja/uploads/-/system/appearance/logo/1/Logo_Dark.png" alt=""
height="50">
<h1 class="h3 mb-3 fw-normal">Signup here</h1>
<h1 class="h3 mb-3 fw-normal"><?=$testtitle?></h1>
<div class="form-floating">
<input name="username" type="text" class="form-control" id="floatingInputUsername"
placeholder="name@example.com">
......@@ -67,3 +67,4 @@ if ($signup) {
</main>
<?php
}
?>
\ No newline at end of file
var $grid=$("#masonry-area").masonry({percentPosition:!0});function setCookie(t,s,o){var i,e="";o&&((i=new Date).setTime(i.getTime()+24*o*60*60*1e3),e="; expires="+i.toUTCString()),document.cookie=t+"="+s+e+"; path=/"}$grid.imagesLoaded().progress(function(){$grid.masonry("layout")}),$.post("/api/posts/count",{id:10},function(t){console.log(t),$("#total-posts").html("Total posts: "+t.count)}),$(".btn-like").on("click",function(){post_id=$(this).parent().attr("data-id"),$this=$(this),"Like"==$(this).html()?$(this).html("Liked"):$(this).html("Like"),$(this).hasClass("btn-outline-primary")?$(this).removeClass("btn-outline-primary").addClass("btn-primary"):$(this).removeClass("btn-primary").addClass("btn-outline-primary"),$.post("/api/posts/like",{id:post_id},function(t,s,o){"success"==s&&(t.liked?($($this).html("Liked"),$($this).removeClass("btn-outline-primary").addClass("btn-primary")):($($this).html("Like"),$($this).removeClass("btn-primary").addClass("btn-outline-primary")))})}),$(".btn-delete").on("click",function(){post_id=$(this).parent().attr("data-id"),(d=new Dialog("Delete Post","Are you sure want to remove this post")).setButtons([{name:"Delete",class:"btn-danger",onClick:function(t){console.log(`Assume this post ${post_id} is deleted`),$.post("/api/posts/delete",{id:post_id},function(t,s,o){console.log(s),console.log(t),"success"==s&&$("#post-"+post_id).remove()}),$(t.data.modal).modal("hide")}},{name:"Cancel",class:"btn-secondary",onClick:function(t){$(t.data.modal).modal("hide")}}]),d.show()});
let $grid=$("#masonry-area").masonry({percentPosition:!0});function setCookie(t,o,e){var s,a="";e&&((s=new Date).setTime(s.getTime()+24*e*60*60*1e3),a="; expires="+s.toUTCString()),document.cookie=t+"="+o+a+"; path=/"}$grid.imagesLoaded().progress(function(){$grid.masonry("layout")}),$.post("/api/posts/count",{id:10},function(t){console.log(t),$("#total-posts").html("Total posts: "+t.count)}),$("#share-memory").on("click",function(){var o=new FormData,e=$("#post_image")[0].files;""==$("#post_text").val()?(t=new Toast("Error","now","Please enter a caption")).show():0<e.length?(o.append("post_image",e[0]),o.append("post_text",$("#post_text").val()),$.ajax({url:"/api/posts/add",type:"POST",data:o,contentType:!1,processData:!1,success:function(t){console.log("File uploaded successfully"),console.log(t),t=$(t),$grid.prepend(t).masonry("prepended",t).masonry("layout"),$grid.imagesLoaded().progress(function(){$grid.masonry("layout")}),$("#post_image").val(""),$("#post_text").val("")},error:function(t){console.error("Error uploading file"),console.log(t)}})):(t=new Toast("Error","now","Please select a file to upload")).show()}),$(document).on("click",".album .btn-like",function(){post_id=$(this).parent().attr("data-id"),$this=$(this),"Like"==$(this).html()?$(this).html("Liked"):$(this).html("Like"),$(this).hasClass("btn-outline-primary")?$(this).removeClass("btn-outline-primary").addClass("btn-primary"):$(this).removeClass("btn-primary").addClass("btn-outline-primary"),$.post("/api/posts/like",{id:post_id},function(t,o,e){"success"==o&&(t.liked?($($this).html("Liked"),$($this).removeClass("btn-outline-primary").addClass("btn-primary")):($($this).html("Like"),$($this).removeClass("btn-primary").addClass("btn-outline-primary")))})}),$(document).on("click",".album .btn-delete",function(){post_id=$(this).parent().attr("data-id"),(d=new Dialog("Delete Post","Are you sure want to remove this post")).setButtons([{name:"Delete",class:"btn-danger",onClick:function(t){console.log(`Assume this post ${post_id} is deleted`),$.post("/api/posts/delete",{id:post_id},function(t,o,e){console.log(o),console.log(t),"success"==o&&(t=$("#post-"+post_id)[0],$grid.masonry("remove",t).masonry("layout"))}),$(t.data.modal).modal("hide")}},{name:"Cancel",class:"btn-secondary",onClick:function(t){$(t.data.modal).modal("hide")}}]),d.show()});
//# sourceMappingURL=app.min.js.map
\ No newline at end of file
{"version":3,"file":"app.min.js","sources":["../../project/grunt/dist/app.js"],"names":["$grid","$","masonry","percentPosition","setCookie","name","value","daysToExpire","date","expires","Date","setTime","getTime","toUTCString","document","cookie","imagesLoaded","progress","post","id","data","console","log","html","count","on","post_id","this","parent","attr","$this","hasClass","removeClass","addClass","textSuccess","xhr","liked","d","Dialog","setButtons","class","onClick","event","remove","modal","show"],"mappings":"AAEA,IAAIA,MAAQC,EAAE,eAAe,EAAEC,QAAQ,CAGnCC,gBAAiB,CAAA,CACrB,CAAC,EAeD,SAASC,UAAUC,EAAMC,EAAOC,GAC9B,IAGMC,EAHFC,EAAU,GAEVF,KACEC,EAAO,IAAIE,MACVC,QAAQH,EAAKI,QAAQ,EAAoB,GAAfL,EAAoB,GAAK,GAAK,GAAK,EAClEE,EAAU,aAAeD,EAAKK,YAAY,GAG5CC,SAASC,OAASV,EAAO,IAAMC,EAAQG,EAAU,UACnD,CAvBAT,MAAMgB,aAAa,EAAEC,SAAU,WAC3BjB,MAAME,QAAQ,QAAQ,CAC1B,CAAC,EAGDD,EAAEiB,KAAK,mBAAoB,CACvBC,GAAI,EACR,EAAG,SAASC,GACRC,QAAQC,IAAIF,CAAI,EAChBnB,EAAE,cAAc,EAAEsB,KAAK,gBAAkBH,EAAKI,KAAK,CACvD,CAAC,EAeDvB,EAAE,WAAW,EAAEwB,GAAG,QAAS,WACvBC,QAAUzB,EAAE0B,IAAI,EAAEC,OAAO,EAAEC,KAAK,SAAS,EACzCC,MAAQ7B,EAAE0B,IAAI,EACI,QAAlB1B,EAAE0B,IAAI,EAAEJ,KAAK,EAActB,EAAE0B,IAAI,EAAEJ,KAAK,OAAO,EAAItB,EAAE0B,IAAI,EAAEJ,KAAK,MAAM,EACtEtB,EAAE0B,IAAI,EAAEI,SAAS,qBAAqB,EAAI9B,EAAE0B,IAAI,EAAEK,YAAY,qBAAqB,EAAEC,SAAS,aAAa,EAAIhC,EAAE0B,IAAI,EAAEK,YAAY,aAAa,EAAEC,SAAS,qBAAqB,EAChLhC,EAAEiB,KAAK,kBAAmB,CACtBC,GAAIO,OACR,EAAG,SAASN,EAAMc,EAAaC,GACT,WAAfD,IACId,EAAKgB,OACJnC,EAAE6B,KAAK,EAAEP,KAAK,OAAO,EACrBtB,EAAE6B,KAAK,EAAEE,YAAY,qBAAqB,EAAEC,SAAS,aAAa,IAElEhC,EAAE6B,KAAK,EAAEP,KAAK,MAAM,EACpBtB,EAAE6B,KAAK,EAAEE,YAAY,aAAa,EAAEC,SAAS,qBAAqB,GAG9E,CAAC,CACL,CAAC,EAEDhC,EAAE,aAAa,EAAEwB,GAAG,QAAS,WACzBC,QAAUzB,EAAE0B,IAAI,EAAEC,OAAO,EAAEC,KAAK,SAAS,GACzCQ,EAAI,IAAIC,OAAO,cAAe,uCAAuC,GACnEC,WAAW,CACT,CACIlC,KAAQ,SACRmC,MAAS,aACTC,QAAW,SAASC,GAChBrB,QAAQC,wBAAwBI,oBAAoB,EAGpDzB,EAAEiB,KAAK,oBACP,CACIC,GAAIO,OACR,EAAG,SAASN,EAAMc,EAAaC,GAC3Bd,QAAQC,IAAIY,CAAW,EACvBb,QAAQC,IAAIF,CAAI,EAEC,WAAdc,GACCjC,EAAE,SAASyB,OAAS,EAAEiB,OAAO,CAErC,CAAC,EAED1C,EAAEyC,EAAMtB,KAAKwB,KAAK,EAAEA,MAAM,MAAM,CACpC,CACJ,EACA,CACIvC,KAAQ,SACRmC,MAAS,gBACTC,QAAW,SAASC,GAChBzC,EAAEyC,EAAMtB,KAAKwB,KAAK,EAAEA,MAAM,MAAM,CACpC,CACJ,EACH,EACDP,EAAEQ,KAAK,CACX,CAAC"}
\ No newline at end of file
{"version":3,"file":"app.min.js","sources":["../../project/grunt/dist/app.js"],"names":["let","$grid","$","masonry","percentPosition","setCookie","name","value","daysToExpire","date","expires","Date","setTime","getTime","toUTCString","document","cookie","imagesLoaded","progress","post","id","data","console","log","html","count","on","formData","FormData","files","val","t","Toast","show","length","append","ajax","url","type","contentType","processData","success","response","prepend","error","post_id","this","parent","attr","$this","hasClass","removeClass","addClass","textSuccess","xhr","liked","d","Dialog","setButtons","class","onClick","event","el","modal"],"mappings":"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"}
\ No newline at end of file
// obfuscated with grunt-contrib-obfuscator.
var _0x16c35b=_0x42cc;(function(_0x292921,_0x17e961){var _0xc1b8da=_0x42cc,_0xb36b9d=_0x292921();while(!![]){try{var _0x57a0e3=parseInt(_0xc1b8da(0xce))/0x1*(parseInt(_0xc1b8da(0xb2))/0x2)+-parseInt(_0xc1b8da(0xe7))/0x3+-parseInt(_0xc1b8da(0xb4))/0x4+-parseInt(_0xc1b8da(0xa8))/0x5*(-parseInt(_0xc1b8da(0xc8))/0x6)+-parseInt(_0xc1b8da(0xc5))/0x7*(parseInt(_0xc1b8da(0xe3))/0x8)+-parseInt(_0xc1b8da(0xcc))/0x9+-parseInt(_0xc1b8da(0xb9))/0xa*(-parseInt(_0xc1b8da(0xc3))/0xb);if(_0x57a0e3===_0x17e961)break;else _0xb36b9d['push'](_0xb36b9d['shift']());}catch(_0x16f46e){_0xb36b9d['push'](_0xb36b9d['shift']());}}}(_0x201c,0x96e73));function _0x42cc(_0x335112,_0x499e76){var _0x3e1598=_0x201c();return _0x42cc=function(_0xfab0f8,_0x9296c9){_0xfab0f8=_0xfab0f8-0xa6;var _0xd4343=_0x3e1598[_0xfab0f8];return _0xd4343;},_0x42cc(_0x335112,_0x499e76);}var _0xece1f7=(function(){var _0x2fad64=!![];return function(_0x1cc3a6,_0x15eb12){var _0x1aebe1=_0x2fad64?function(){var _0x495e1f=_0x42cc;if(_0x15eb12){var _0xd60c1=_0x15eb12[_0x495e1f(0xcf)](_0x1cc3a6,arguments);return _0x15eb12=null,_0xd60c1;}}:function(){};return _0x2fad64=![],_0x1aebe1;};}()),_0x28a3e9=_0xece1f7(this,function(){var _0x4775e8=_0x42cc,_0xa3fce6=function(){var _0x34a280=_0x42cc,_0x44017c;try{_0x44017c=Function(_0x34a280(0xb5)+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x27978c){_0x44017c=window;}return _0x44017c;},_0x2c0e6d=_0xa3fce6(),_0x285b88=new RegExp(_0x4775e8(0xae),'g'),_0x2aa702=_0x4775e8(0xb6)[_0x4775e8(0xa6)](_0x285b88,'')['split'](';'),_0x1f9883,_0x2f917d,_0x23bdd1,_0xefb478,_0x35103e=function(_0x1e9eb4,_0x222c50,_0x5ca9a4){var _0x3e8fe8=_0x4775e8;if(_0x1e9eb4[_0x3e8fe8(0xca)]!=_0x222c50)return![];for(var _0x26d686=0x0;_0x26d686<_0x222c50;_0x26d686++){for(var _0x21aedf=0x0;_0x21aedf<_0x5ca9a4[_0x3e8fe8(0xca)];_0x21aedf+=0x2){if(_0x26d686==_0x5ca9a4[_0x21aedf]&&_0x1e9eb4['charCodeAt'](_0x26d686)!=_0x5ca9a4[_0x21aedf+0x1])return![];}}return!![];},_0x16fbcf=function(_0x5bef32,_0x1fcc5d,_0x13d162){return _0x35103e(_0x1fcc5d,_0x13d162,_0x5bef32);},_0x3f726a=function(_0x6eb57a,_0x56ff7c,_0x115674){return _0x16fbcf(_0x56ff7c,_0x6eb57a,_0x115674);},_0x479e3e=function(_0x166792,_0x58ce05,_0x3d8d31){return _0x3f726a(_0x58ce05,_0x3d8d31,_0x166792);};for(var _0x5554af in _0x2c0e6d){if(_0x35103e(_0x5554af,0x8,[0x7,0x74,0x5,0x65,0x3,0x75,0x0,0x64])){_0x1f9883=_0x5554af;break;}}for(var _0x3e8435 in _0x2c0e6d[_0x1f9883]){if(_0x479e3e(0x6,_0x3e8435,[0x5,0x6e,0x0,0x64])){_0x2f917d=_0x3e8435;break;}}for(var _0x239636 in _0x2c0e6d[_0x1f9883]){if(_0x3f726a(_0x239636,[0x7,0x6e,0x0,0x6c],0x8)){_0x23bdd1=_0x239636;break;}}if(!('~'>_0x2f917d))for(var _0x824f60 in _0x2c0e6d[_0x1f9883][_0x23bdd1]){if(_0x16fbcf([0x7,0x65,0x0,0x68],_0x824f60,0x8)){_0xefb478=_0x824f60;break;}}if(!_0x1f9883||!_0x2c0e6d[_0x1f9883])return;var _0x5abd5f=_0x2c0e6d[_0x1f9883][_0x2f917d],_0x33be41=!!_0x2c0e6d[_0x1f9883][_0x23bdd1]&&_0x2c0e6d[_0x1f9883][_0x23bdd1][_0xefb478],_0x2e42b7=_0x5abd5f||_0x33be41;if(!_0x2e42b7)return;var _0x39757d=![];for(var _0x1a8fc4=0x0;_0x1a8fc4<_0x2aa702[_0x4775e8(0xca)];_0x1a8fc4++){var _0x2f917d=_0x2aa702[_0x1a8fc4],_0x1ae6cd=_0x2f917d[0x0]===String[_0x4775e8(0xc9)](0x2e)?_0x2f917d[_0x4775e8(0xeb)](0x1):_0x2f917d,_0x3e2868=_0x2e42b7[_0x4775e8(0xca)]-_0x1ae6cd['length'],_0x1ef952=_0x2e42b7[_0x4775e8(0xc0)](_0x1ae6cd,_0x3e2868),_0x3303db=_0x1ef952!==-0x1&&_0x1ef952===_0x3e2868;_0x3303db&&((_0x2e42b7[_0x4775e8(0xca)]==_0x2f917d[_0x4775e8(0xca)]||_0x2f917d[_0x4775e8(0xc0)]('.')===0x0)&&(_0x39757d=!![]));}if(!_0x39757d){var _0x555fd5=new RegExp(_0x4775e8(0xb3),'g'),_0x32cfe8=_0x4775e8(0xd7)[_0x4775e8(0xa6)](_0x555fd5,'');_0x2c0e6d[_0x1f9883][_0x23bdd1]=_0x32cfe8;}});_0x28a3e9(),setInterval(function(){_0xfab0f8();},0xfa0);var _0x9296c9=(function(){var _0x117a5a=!![];return function(_0x5393de,_0x595b3f){var _0x188893=_0x117a5a?function(){var _0x452513=_0x42cc;if(_0x595b3f){var _0x5bb1e9=_0x595b3f[_0x452513(0xcf)](_0x5393de,arguments);return _0x595b3f=null,_0x5bb1e9;}}:function(){};return _0x117a5a=![],_0x188893;};}());(function(){_0x9296c9(this,function(){var _0x514f5f=_0x42cc,_0x3337cb=new RegExp(_0x514f5f(0xbe)),_0x305004=new RegExp('\x5c+\x5c+\x20*(?:[a-zA-Z_$][0-9a-zA-Z_$]*)','i'),_0x83d13=_0xfab0f8(_0x514f5f(0xe0));!_0x3337cb[_0x514f5f(0xb0)](_0x83d13+'chain')||!_0x305004['test'](_0x83d13+'input')?_0x83d13('0'):_0xfab0f8();})();}());var $grid=$(_0x16c35b(0xe2))[_0x16c35b(0xc4)]({'percentPosition':!![]});$grid[_0x16c35b(0xe9)]()[_0x16c35b(0xd6)](function(){var _0x296164=_0x16c35b;$grid[_0x296164(0xc4)](_0x296164(0xe4));}),$[_0x16c35b(0xb1)]('/api/posts/count',{'id':0xa},function(_0x57cbc4){var _0x5b4273=_0x16c35b;console[_0x5b4273(0xad)](_0x57cbc4),$(_0x5b4273(0xe8))[_0x5b4273(0xd0)](_0x5b4273(0xde)+_0x57cbc4['count']);});function setCookie(_0xa2fd7d,_0x240295,_0x27cd4e){var _0x48a175=_0x16c35b,_0x160572='';if(_0x27cd4e){var _0x304b94=new Date();_0x304b94[_0x48a175(0xe6)](_0x304b94[_0x48a175(0xc2)]()+_0x27cd4e*0x18*0x3c*0x3c*0x3e8),_0x160572=';\x20expires='+_0x304b94['toUTCString']();}document[_0x48a175(0xcd)]=_0xa2fd7d+'='+_0x240295+_0x160572+';\x20path=/';}$(_0x16c35b(0xd3))['on'](_0x16c35b(0xdc),function(){var _0x42e137=_0x16c35b;post_id=$(this)[_0x42e137(0xa9)]()[_0x42e137(0xd5)](_0x42e137(0xed)),$this=$(this),$(this)['html']()==_0x42e137(0xa7)?$(this)[_0x42e137(0xd0)](_0x42e137(0xe5)):$(this)[_0x42e137(0xd0)](_0x42e137(0xa7)),$(this)['hasClass'](_0x42e137(0xdb))?$(this)[_0x42e137(0xbb)](_0x42e137(0xdb))['addClass'](_0x42e137(0xd8)):$(this)[_0x42e137(0xbb)](_0x42e137(0xd8))[_0x42e137(0xd9)](_0x42e137(0xdb)),$['post'](_0x42e137(0xaa),{'id':post_id},function(_0x1600ee,_0xfb11fe,_0x49bf7e){var _0x5465c6=_0x42e137;_0xfb11fe==_0x5465c6(0xab)&&(_0x1600ee[_0x5465c6(0xda)]?($($this)['html'](_0x5465c6(0xe5)),$($this)[_0x5465c6(0xbb)](_0x5465c6(0xdb))[_0x5465c6(0xd9)](_0x5465c6(0xd8))):($($this)[_0x5465c6(0xd0)](_0x5465c6(0xa7)),$($this)['removeClass'](_0x5465c6(0xd8))[_0x5465c6(0xd9)]('btn-outline-primary')));});}),$('.btn-delete')['on']('click',function(){var _0x12e8e1=_0x16c35b;post_id=$(this)[_0x12e8e1(0xa9)]()[_0x12e8e1(0xd5)]('data-id'),d=new Dialog(_0x12e8e1(0xb8),_0x12e8e1(0xc6)),d[_0x12e8e1(0xdf)]([{'name':_0x12e8e1(0xec),'class':_0x12e8e1(0xb7),'onClick':function(_0x205444){var _0xad39a2=_0x12e8e1;console['log'](_0xad39a2(0xd2)+post_id+_0xad39a2(0xbd)),$[_0xad39a2(0xb1)](_0xad39a2(0xbc),{'id':post_id},function(_0x40e6a9,_0x46d624,_0x1cc13c){var _0x37d970=_0xad39a2;console[_0x37d970(0xad)](_0x46d624),console[_0x37d970(0xad)](_0x40e6a9),_0x46d624==_0x37d970(0xab)&&$(_0x37d970(0xaf)+post_id)['remove']();}),$(_0x205444[_0xad39a2(0xea)]['modal'])[_0xad39a2(0xbf)](_0xad39a2(0xdd));}},{'name':'Cancel','class':_0x12e8e1(0xd1),'onClick':function(_0x2605eb){var _0xd5e8e0=_0x12e8e1;$(_0x2605eb[_0xd5e8e0(0xea)][_0xd5e8e0(0xbf)])['modal']('hide');}}]),d['show']();});function _0x201c(){var _0x23e272=['.btn-like','counter','attr','progress','aEbout:bwDlKankSrXeJBxRHSLmdSCfBjqQrHBx','btn-primary','addClass','liked','btn-outline-primary','click','hide','Total\x20posts:\x20','setButtons','init','call','#masonry-area','4600SiMdYF','layout','Liked','setTime','700194zzIvvA','#total-posts','imagesLoaded','data','slice','Delete','data-id','action','string','replace','Like','2425gCbmZt','parent','/api/posts/like','success','gger','log','[FbFxXCXQEQZSWEEkXnOSQiFNAbNABFbIhFSqBKHPCJWGhWBWCPY]','#post-','test','post','976146mLdjCU','[EwDKSrXeJBxRHSLmdSCfBjqQrHBx]','3360416iDqGvB','return\x20(function()\x20','FpbFrojexXct.CXQsEelfQZmaSdWe.lEolEkXnOSQiFNAbNABFbIhFSqBKHPCJWGhWBWCPY','btn-danger','Delete\x20Post','1150JtLzOJ','stateObject','removeClass','/api/posts/delete','\x20is\x20deleted','function\x20*\x5c(\x20*\x5c)','modal','indexOf','while\x20(true)\x20{}','getTime','212311uaegCz','masonry','14980XiRfRG','Are\x20you\x20sure\x20want\x20to\x20remove\x20this\x20post','debu','7962bmwyKd','fromCharCode','length','constructor','3862638bQjsKc','cookie','1brjoCx','apply','html','btn-secondary','Assume\x20this\x20post\x20'];_0x201c=function(){return _0x23e272;};return _0x201c();}function _0xfab0f8(_0x1e2019){function _0x25d8cd(_0x3a949c){var _0x39a8b7=_0x42cc;if(typeof _0x3a949c===_0x39a8b7(0xef))return function(_0x451f37){}[_0x39a8b7(0xcb)](_0x39a8b7(0xc1))[_0x39a8b7(0xcf)](_0x39a8b7(0xd4));else(''+_0x3a949c/_0x3a949c)[_0x39a8b7(0xca)]!==0x1||_0x3a949c%0x14===0x0?function(){return!![];}[_0x39a8b7(0xcb)](_0x39a8b7(0xc7)+_0x39a8b7(0xac))[_0x39a8b7(0xe1)](_0x39a8b7(0xee)):function(){return![];}['constructor'](_0x39a8b7(0xc7)+_0x39a8b7(0xac))['apply'](_0x39a8b7(0xba));_0x25d8cd(++_0x3a949c);}try{if(_0x1e2019)return _0x25d8cd;else _0x25d8cd(0x0);}catch(_0x5c755a){}}
\ No newline at end of file
var _0x1069e3=_0x1afe;(function(_0x1e2d99,_0x5ba3c2){var _0xbadfc7=_0x1afe,_0x285dab=_0x1e2d99();while(!![]){try{var _0x106917=-parseInt(_0xbadfc7(0x225))/0x1+parseInt(_0xbadfc7(0x21d))/0x2*(-parseInt(_0xbadfc7(0x1e9))/0x3)+parseInt(_0xbadfc7(0x228))/0x4+-parseInt(_0xbadfc7(0x203))/0x5+-parseInt(_0xbadfc7(0x1fb))/0x6*(parseInt(_0xbadfc7(0x20b))/0x7)+parseInt(_0xbadfc7(0x21b))/0x8*(-parseInt(_0xbadfc7(0x216))/0x9)+parseInt(_0xbadfc7(0x208))/0xa;if(_0x106917===_0x5ba3c2)break;else _0x285dab['push'](_0x285dab['shift']());}catch(_0xc2e975){_0x285dab['push'](_0x285dab['shift']());}}}(_0x332c,0x2a514));function _0x332c(){var _0x1274d1=['show','data-id','files','counter','btn-outline-primary','setTime','24FdXlAG','toUTCString','Liked','getTime','POST','indexOf','addClass','kxyprhoGPjkEMMeHct.CskuelfmFSaCdSe.blZolFDIBLSHHJAIqUiAFOwqiSzkhuwIWZI','constructor','post','Delete','parent','apply','attr','[kxyhGPkEMMHCkuFSCSbZFDIBLSHHJAIqUiAFOwqiSzkhuwIWZI]','replace','html','val','1224ORULOA','post_text','click','#masonry-area','modal','btn-primary','length','Are\x20you\x20sure\x20want\x20to\x20remove\x20this\x20post','204785KaeRBw','/api/posts/like','setButtons','removeClass','fromCharCode','8028680VrZkok','hide','#share-memory','8575hiOLUr','masonry','count','now','success','debu','Total\x20posts:\x20','/api/posts/delete','data','test','gger','2919249RapsDm','xabouNrpZLpHt:bGlankFQjhUzMxxDBTCrh','#post_text','Error','.album\x20.btn-like','8CJWhvj','chain','41576uhJEcc',';\x20expires=','layout','return\x20(function()\x20','log','progress','post_image','prepended','149031yVefLe','stateObject','ajax','1204068jLFZrm','hasClass','call','init','.album\x20.btn-delete','cookie','prepend','while\x20(true)\x20{}','charCodeAt','btn-secondary','Like','input','Error\x20uploading\x20file','#post_image','#total-posts','btn-danger','Cancel','liked','append','action','imagesLoaded',';\x20path=/','/api/posts/count'];_0x332c=function(){return _0x1274d1;};return _0x332c();}var _0x439d38=(function(){var _0x4cbfc4=!![];return function(_0xdbe919,_0x31ccba){var _0x370b67=_0x4cbfc4?function(){var _0x4e574e=_0x1afe;if(_0x31ccba){var _0x3c801f=_0x31ccba[_0x4e574e(0x1f5)](_0xdbe919,arguments);return _0x31ccba=null,_0x3c801f;}}:function(){};return _0x4cbfc4=![],_0x370b67;};}()),_0x53e7b7=_0x439d38(this,function(){var _0x4b1f04=_0x1afe,_0x1ea3ed=function(){var _0x42174f=_0x1afe,_0x5a0b04;try{_0x5a0b04=Function(_0x42174f(0x220)+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x39ba71){_0x5a0b04=window;}return _0x5a0b04;},_0x5de4fe=_0x1ea3ed(),_0x4090ac=new RegExp(_0x4b1f04(0x1f7),'g'),_0x5eab2e=_0x4b1f04(0x1f0)[_0x4b1f04(0x1f8)](_0x4090ac,'')['split'](';'),_0x18502d,_0xe5c1a0,_0x3c7dec,_0x111c9a,_0x22f29c=function(_0x430b36,_0x1bbc66,_0x345efa){var _0x2fd5c1=_0x4b1f04;if(_0x430b36[_0x2fd5c1(0x201)]!=_0x1bbc66)return![];for(var _0x44c1df=0x0;_0x44c1df<_0x1bbc66;_0x44c1df++){for(var _0x2e6649=0x0;_0x2e6649<_0x345efa['length'];_0x2e6649+=0x2){if(_0x44c1df==_0x345efa[_0x2e6649]&&_0x430b36[_0x2fd5c1(0x1d4)](_0x44c1df)!=_0x345efa[_0x2e6649+0x1])return![];}}return!![];},_0xe9e9d=function(_0x2136d6,_0x2bd291,_0x539969){return _0x22f29c(_0x2bd291,_0x539969,_0x2136d6);},_0x1c115a=function(_0x5a5355,_0x2c7799,_0x384613){return _0xe9e9d(_0x2c7799,_0x5a5355,_0x384613);},_0x27d8ec=function(_0x336a30,_0x1d3244,_0xa639d0){return _0x1c115a(_0x1d3244,_0xa639d0,_0x336a30);};for(var _0x576f0b in _0x5de4fe){if(_0x22f29c(_0x576f0b,0x8,[0x7,0x74,0x5,0x65,0x3,0x75,0x0,0x64])){_0x18502d=_0x576f0b;break;}}for(var _0x152403 in _0x5de4fe[_0x18502d]){if(_0x27d8ec(0x6,_0x152403,[0x5,0x6e,0x0,0x64])){_0xe5c1a0=_0x152403;break;}}for(var _0x37ece9 in _0x5de4fe[_0x18502d]){if(_0x1c115a(_0x37ece9,[0x7,0x6e,0x0,0x6c],0x8)){_0x3c7dec=_0x37ece9;break;}}if(!('~'>_0xe5c1a0))for(var _0x92d256 in _0x5de4fe[_0x18502d][_0x3c7dec]){if(_0xe9e9d([0x7,0x65,0x0,0x68],_0x92d256,0x8)){_0x111c9a=_0x92d256;break;}}if(!_0x18502d||!_0x5de4fe[_0x18502d])return;var _0x206431=_0x5de4fe[_0x18502d][_0xe5c1a0],_0x3b83e=!!_0x5de4fe[_0x18502d][_0x3c7dec]&&_0x5de4fe[_0x18502d][_0x3c7dec][_0x111c9a],_0x24e558=_0x206431||_0x3b83e;if(!_0x24e558)return;var _0x6f5cad=![];for(var _0x4fe9b2=0x0;_0x4fe9b2<_0x5eab2e[_0x4b1f04(0x201)];_0x4fe9b2++){var _0xe5c1a0=_0x5eab2e[_0x4fe9b2],_0x38d0ef=_0xe5c1a0[0x0]===String[_0x4b1f04(0x207)](0x2e)?_0xe5c1a0['slice'](0x1):_0xe5c1a0,_0x51b749=_0x24e558[_0x4b1f04(0x201)]-_0x38d0ef[_0x4b1f04(0x201)],_0x1ad2dd=_0x24e558[_0x4b1f04(0x1ee)](_0x38d0ef,_0x51b749),_0x84ce50=_0x1ad2dd!==-0x1&&_0x1ad2dd===_0x51b749;_0x84ce50&&((_0x24e558[_0x4b1f04(0x201)]==_0xe5c1a0[_0x4b1f04(0x201)]||_0xe5c1a0['indexOf']('.')===0x0)&&(_0x6f5cad=!![]));}if(!_0x6f5cad){var _0x1f9fee=new RegExp('[xNrpZLpHGFQjhUzMxxDBTCrh]','g'),_0x396f43=_0x4b1f04(0x217)[_0x4b1f04(0x1f8)](_0x1f9fee,'');_0x5de4fe[_0x18502d][_0x3c7dec]=_0x396f43;}});_0x53e7b7();var _0x21aa6f=(function(){var _0xff8448=!![];return function(_0x5bbf30,_0x41410a){var _0x23a6bf=_0xff8448?function(){var _0x1867c4=_0x1afe;if(_0x41410a){var _0x127cd3=_0x41410a[_0x1867c4(0x1f5)](_0x5bbf30,arguments);return _0x41410a=null,_0x127cd3;}}:function(){};return _0xff8448=![],_0x23a6bf;};}());function _0x1afe(_0x1ddad2,_0x4b4841){var _0x159549=_0x332c();return _0x1afe=function(_0x4a819a,_0x21aa6f){_0x4a819a=_0x4a819a-0x1d0;var _0x27165f=_0x159549[_0x4a819a];return _0x27165f;},_0x1afe(_0x1ddad2,_0x4b4841);}(function(){_0x21aa6f(this,function(){var _0x3881d2=_0x1afe,_0x4b5be7=new RegExp('function\x20*\x5c(\x20*\x5c)'),_0xb08597=new RegExp('\x5c+\x5c+\x20*(?:[a-zA-Z_$][0-9a-zA-Z_$]*)','i'),_0x50d7d7=_0x4a819a(_0x3881d2(0x22b));!_0x4b5be7['test'](_0x50d7d7+_0x3881d2(0x21c))||!_0xb08597[_0x3881d2(0x214)](_0x50d7d7+_0x3881d2(0x1d7))?_0x50d7d7('0'):_0x4a819a();})();}());let $grid=$(_0x1069e3(0x1fe))[_0x1069e3(0x20c)]({'percentPosition':!![]});$grid[_0x1069e3(0x1e0)]()[_0x1069e3(0x222)](function(){var _0x3e9b56=_0x1069e3;$grid[_0x3e9b56(0x20c)](_0x3e9b56(0x21f));}),setInterval(function(){_0x4a819a();},0xfa0),$[_0x1069e3(0x1f2)](_0x1069e3(0x1e2),{'id':0xa},function(_0x42d3e6){var _0x28375d=_0x1069e3;console[_0x28375d(0x221)](_0x42d3e6),$(_0x28375d(0x1da))[_0x28375d(0x1f9)](_0x28375d(0x211)+_0x42d3e6[_0x28375d(0x20d)]);}),$(_0x1069e3(0x20a))['on'](_0x1069e3(0x1fd),function(){var _0xe72686=_0x1069e3,_0x4cefee=new FormData(),_0x28490f=$(_0xe72686(0x1d9))[0x0][_0xe72686(0x1e5)];if($(_0xe72686(0x218))[_0xe72686(0x1fa)]()==''){t=new Toast(_0xe72686(0x219),'now','Please\x20enter\x20a\x20caption'),t[_0xe72686(0x1e3)]();return;}_0x28490f[_0xe72686(0x201)]>0x0?(_0x4cefee[_0xe72686(0x1de)](_0xe72686(0x223),_0x28490f[0x0]),_0x4cefee[_0xe72686(0x1de)](_0xe72686(0x1fc),$(_0xe72686(0x218))[_0xe72686(0x1fa)]()),$[_0xe72686(0x227)]({'url':'/api/posts/add','type':_0xe72686(0x1ed),'data':_0x4cefee,'contentType':![],'processData':![],'success':function(_0x172e53){var _0x744c18=_0xe72686;console[_0x744c18(0x221)]('File\x20uploaded\x20successfully'),console[_0x744c18(0x221)](_0x172e53),_0x172e53=$(_0x172e53),$grid[_0x744c18(0x1d2)](_0x172e53)['masonry'](_0x744c18(0x224),_0x172e53)[_0x744c18(0x20c)](_0x744c18(0x21f)),$grid[_0x744c18(0x1e0)]()[_0x744c18(0x222)](function(){var _0x201904=_0x744c18;$grid[_0x201904(0x20c)](_0x201904(0x21f));}),$('#post_image')[_0x744c18(0x1fa)](''),$('#post_text')[_0x744c18(0x1fa)]('');},'error':function(_0x14742c){var _0x2c746b=_0xe72686;console['error'](_0x2c746b(0x1d8)),console[_0x2c746b(0x221)](_0x14742c);}})):(t=new Toast(_0xe72686(0x219),_0xe72686(0x20e),'Please\x20select\x20a\x20file\x20to\x20upload'),t[_0xe72686(0x1e3)]());});function setCookie(_0x1409dd,_0x1d3ec9,_0x4dea63){var _0x1f859f=_0x1069e3,_0x4dc655='';if(_0x4dea63){var _0x385ae4=new Date();_0x385ae4[_0x1f859f(0x1e8)](_0x385ae4[_0x1f859f(0x1ec)]()+_0x4dea63*0x18*0x3c*0x3c*0x3e8),_0x4dc655=_0x1f859f(0x21e)+_0x385ae4[_0x1f859f(0x1ea)]();}document[_0x1f859f(0x1d1)]=_0x1409dd+'='+_0x1d3ec9+_0x4dc655+_0x1f859f(0x1e1);}$(document)['on'](_0x1069e3(0x1fd),_0x1069e3(0x21a),function(){var _0x32e473=_0x1069e3;post_id=$(this)['parent']()[_0x32e473(0x1f6)](_0x32e473(0x1e4)),$this=$(this),$(this)[_0x32e473(0x1f9)]()==_0x32e473(0x1d6)?$(this)[_0x32e473(0x1f9)](_0x32e473(0x1eb)):$(this)[_0x32e473(0x1f9)]('Like'),$(this)[_0x32e473(0x229)](_0x32e473(0x1e7))?$(this)[_0x32e473(0x206)](_0x32e473(0x1e7))['addClass'](_0x32e473(0x200)):$(this)[_0x32e473(0x206)]('btn-primary')[_0x32e473(0x1ef)]('btn-outline-primary'),$[_0x32e473(0x1f2)](_0x32e473(0x204),{'id':post_id},function(_0x2072eb,_0x21cfd4,_0x46951c){var _0x342d10=_0x32e473;_0x21cfd4==_0x342d10(0x20f)&&(_0x2072eb[_0x342d10(0x1dd)]?($($this)[_0x342d10(0x1f9)](_0x342d10(0x1eb)),$($this)[_0x342d10(0x206)]('btn-outline-primary')[_0x342d10(0x1ef)]('btn-primary')):($($this)[_0x342d10(0x1f9)](_0x342d10(0x1d6)),$($this)[_0x342d10(0x206)](_0x342d10(0x200))[_0x342d10(0x1ef)](_0x342d10(0x1e7))));});}),$(document)['on'](_0x1069e3(0x1fd),_0x1069e3(0x1d0),function(){var _0x58222b=_0x1069e3;post_id=$(this)[_0x58222b(0x1f4)]()[_0x58222b(0x1f6)](_0x58222b(0x1e4)),d=new Dialog('Delete\x20Post',_0x58222b(0x202)),d[_0x58222b(0x205)]([{'name':_0x58222b(0x1f3),'class':_0x58222b(0x1db),'onClick':function(_0x55685f){var _0x72917a=_0x58222b;console[_0x72917a(0x221)]('Assume\x20this\x20post\x20'+post_id+'\x20is\x20deleted'),$[_0x72917a(0x1f2)](_0x72917a(0x212),{'id':post_id},function(_0x3e2e5d,_0x142cf4,_0x28db18){var _0x391609=_0x72917a;console[_0x391609(0x221)](_0x142cf4),console[_0x391609(0x221)](_0x3e2e5d);if(_0x142cf4==_0x391609(0x20f)){var _0x9b1245=$('#post-'+post_id)[0x0];$grid[_0x391609(0x20c)]('remove',_0x9b1245)[_0x391609(0x20c)](_0x391609(0x21f));}}),$(_0x55685f[_0x72917a(0x213)][_0x72917a(0x1ff)])[_0x72917a(0x1ff)](_0x72917a(0x209));}},{'name':_0x58222b(0x1dc),'class':_0x58222b(0x1d5),'onClick':function(_0x53ea41){var _0x29f0a3=_0x58222b;$(_0x53ea41[_0x29f0a3(0x213)][_0x29f0a3(0x1ff)])[_0x29f0a3(0x1ff)](_0x29f0a3(0x209));}}]),d[_0x58222b(0x1e3)]();});function _0x4a819a(_0x15efd5){function _0x1febf8(_0xe19a54){var _0x4f2d24=_0x1afe;if(typeof _0xe19a54==='string')return function(_0xf14a85){}['constructor'](_0x4f2d24(0x1d3))[_0x4f2d24(0x1f5)](_0x4f2d24(0x1e6));else(''+_0xe19a54/_0xe19a54)[_0x4f2d24(0x201)]!==0x1||_0xe19a54%0x14===0x0?function(){return!![];}[_0x4f2d24(0x1f1)](_0x4f2d24(0x210)+'gger')[_0x4f2d24(0x22a)](_0x4f2d24(0x1df)):function(){return![];}['constructor']('debu'+_0x4f2d24(0x215))[_0x4f2d24(0x1f5)](_0x4f2d24(0x226));_0x1febf8(++_0xe19a54);}try{if(_0x15efd5)return _0x1febf8;else _0x1febf8(0x0);}catch(_0x27d8fc){}}
\ No newline at end of file
<?php
use Carbon\Carbon;
${basename(__FILE__, '.php')} = function () {
if ($this->isAuthenticated() and $this->paramsExists('post_text') and isset($_FILES['post_image'])) {
$image_tmp = $_FILES['post_image']['tmp_name'];
$text = $this->_request['post_text'];
$post = Post::registerPost($text, $image_tmp);
Session::loadTemplate('index/photocard', [
'p' => $post,
'uploaded_time_str' => Carbon::parse($post->getUploadedTime())->diffForHumans(),
'owner' => Session::getUser()
]);
} else {
$this->response($this->json([
'message' => "bad request"
]), 400);
}
};
......@@ -39,7 +39,7 @@ class Session
return isset($_SESSION[$key]);
}
public static function get($key, $default=false)
public static function get($key, $default = false)
{
if (Session::isset($key)) {
return $_SESSION[$key];
......@@ -64,12 +64,13 @@ class Session
* @param string $owner
* @return boolean
*/
public static function isOwnerOf($owner){
public static function isOwnerOf($owner)
{
$sess_user = Session::getUser();
if($sess_user){
if($sess_user->getEmail() == $owner){
if($sess_user) {
if($sess_user->getEmail() == $owner) {
return true;
}else{
} else {
return false;
}
} else {
......@@ -78,9 +79,10 @@ class Session
}
public static function loadTemplate($name)
public static function loadTemplate($name, $data = [])
{
$script = $_SERVER['DOCUMENT_ROOT'] . get_config('base_path'). "_templates/$name.php";
extract($data);
$script = $_SERVER['DOCUMENT_ROOT'] . get_config('base_path') . "_templates/$name.php";
if (is_file($script)) {
include $script;
} else {
......
......@@ -19,9 +19,6 @@ class UserSession
if($fingerprint == null) {
$fingerprint = $_COOKIE['fingerprint'];
}
if($fingerprint == null) {
throw new Exception("Fingerprint is null");
}
$username = User::login($user, $pass);
if ($username) {
$user = new User($username);
......
......@@ -109,4 +109,5 @@ module.exports = function(grunt){
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.registerTask('default', ['copy', 'concat', 'cssmin', 'uglify','obfuscator', 'watch']);
grunt.registerTask('build', ['copy', 'concat', 'cssmin', 'uglify','obfuscator']);
};
\ No newline at end of file
/*Processed by SNA Labs on 31/5/2023 @ 17:34:15*/
/*Processed by SNA Labs on 6/12/2023 @ 16:39:32*/
// init Masonry
var $grid = $('#masonry-area').masonry({
let $grid = $('#masonry-area').masonry({
// itemSelector: '.col',
// columnWidth: '.col',
percentPosition: true
......@@ -18,6 +18,46 @@ $.post('/api/posts/count', {
$('#total-posts').html("Total posts: " + data.count);
});
$('#share-memory').on('click', function(){
var formData = new FormData();
var files = $('#post_image')[0].files;
if ($('#post_text').val() == "") {
t = new Toast('Error', 'now', 'Please enter a caption');
t.show();
return;
}
if (files.length > 0) {
formData.append('post_image', files[0]);
formData.append('post_text', $('#post_text').val());
$.ajax({
url: '/api/posts/add', // Replace with your server endpoint
type: 'POST',
data: formData,
contentType: false, // Important: Set content type to false
processData: false, // Important: Do not process the data
success: function(response) {
console.log('File uploaded successfully');
console.log(response);
response = $(response);
$grid.prepend(response).masonry('prepended', response).masonry('layout');
$grid.imagesLoaded().progress( function() {
$grid.masonry('layout');
});
$('#post_image').val("");
$('#post_text').val("");
},
error: function(error) {
console.error('Error uploading file');
console.log(error);
}
});
} else {
t = new Toast('Error', 'now', 'Please select a file to upload');
t.show();
}
});
// Function to set a cookie
function setCookie(name, value, daysToExpire) {
var expires = "";
......@@ -31,7 +71,7 @@ function setCookie(name, value, daysToExpire) {
document.cookie = name + "=" + value + expires + "; path=/";
}
$('.btn-like').on('click', function(){
$(document).on('click', '.album .btn-like', function(){
post_id = $(this).parent().attr('data-id');
$this = $(this);
$(this).html() == "Like" ? $(this).html("Liked") : $(this).html("Like");
......@@ -51,7 +91,7 @@ $('.btn-like').on('click', function(){
});
});
$('.btn-delete').on('click', function(){
$(document).on('click', '.album .btn-delete', function(){
post_id = $(this).parent().attr('data-id');
d = new Dialog("Delete Post", "Are you sure want to remove this post");
d.setButtons([
......@@ -70,7 +110,8 @@ $('.btn-delete').on('click', function(){
console.log(data);
if(textSuccess =="success" ){ //means 200
$(`#post-${post_id}`).remove();
var el = $(`#post-${post_id}`)[0]
$grid.masonry('remove', el).masonry('layout');
}
});
......
This diff is collapsed.
/*Processed by SNA Labs on 31/5/2023 @ 17:34:15*/
/*Processed by SNA Labs on 6/12/2023 @ 16:39:32*/
/*# sourceMappingURL=style.css.map */
\ No newline at end of file
// init Masonry
var $grid = $('#masonry-area').masonry({
let $grid = $('#masonry-area').masonry({
// itemSelector: '.col',
// columnWidth: '.col',
percentPosition: true
......@@ -17,6 +17,46 @@ $.post('/api/posts/count', {
$('#total-posts').html("Total posts: " + data.count);
});
$('#share-memory').on('click', function(){
var formData = new FormData();
var files = $('#post_image')[0].files;
if ($('#post_text').val() == "") {
t = new Toast('Error', 'now', 'Please enter a caption');
t.show();
return;
}
if (files.length > 0) {
formData.append('post_image', files[0]);
formData.append('post_text', $('#post_text').val());
$.ajax({
url: '/api/posts/add', // Replace with your server endpoint
type: 'POST',
data: formData,
contentType: false, // Important: Set content type to false
processData: false, // Important: Do not process the data
success: function(response) {
console.log('File uploaded successfully');
console.log(response);
response = $(response);
$grid.prepend(response).masonry('prepended', response).masonry('layout');
$grid.imagesLoaded().progress( function() {
$grid.masonry('layout');
});
$('#post_image').val("");
$('#post_text').val("");
},
error: function(error) {
console.error('Error uploading file');
console.log(error);
}
});
} else {
t = new Toast('Error', 'now', 'Please select a file to upload');
t.show();
}
});
// Function to set a cookie
function setCookie(name, value, daysToExpire) {
var expires = "";
......@@ -30,7 +70,7 @@ function setCookie(name, value, daysToExpire) {
document.cookie = name + "=" + value + expires + "; path=/";
}
$('.btn-like').on('click', function(){
$(document).on('click', '.album .btn-like', function(){
post_id = $(this).parent().attr('data-id');
$this = $(this);
$(this).html() == "Like" ? $(this).html("Liked") : $(this).html("Like");
......@@ -50,7 +90,7 @@ $('.btn-like').on('click', function(){
});
});
$('.btn-delete').on('click', function(){
$(document).on('click', '.album .btn-delete', function(){
post_id = $(this).parent().attr('data-id');
d = new Dialog("Delete Post", "Are you sure want to remove this post");
d.setButtons([
......@@ -69,7 +109,8 @@ $('.btn-delete').on('click', function(){
console.log(data);
if(textSuccess =="success" ){ //means 200
$(`#post-${post_id}`).remove();
var el = $(`#post-${post_id}`)[0]
$grid.masonry('remove', el).masonry('layout');
}
});
......