public static function chatpanel() { $t = time(); ?> <style> .chatpanel{ position: fixed; bottom: 0px; left: 0px; z-index: 100; width: 100%; } .chatpanelbox{ float: right; text-align: center; // width: 100px; background-color: #efefef; line-height: 30px; height: 30px; border-top: 1px solid #dedede; width: 50px; border-left: 1px solid #dedede; border-right: 1px solid #dedede; border-bottom: 1px solid #dedede; padding-left: 10px; padding-right: 10px; } .chatpanelbaloon{ float: right; width: 300px; //height: 300px; //overflow-y: auto; background-color: #dedede; display:none; } .mygroup-item{ padding: 5px; background-color: #efefef; border-bottom: 1px dotted #dedede; } .mygroup-item-header{ background-color: #005f8d; color:white; padding-left: 10px; padding-right:5px; height: 30px; line-height: 30px; } #mygroup_chatlist{ height: 300px; overflow-y: auto; width: 100%; } #chatinputtext{ border-top: 1px solid #dedede; background-color: #efefef; border-left: 1px solid #dedede; border-right: 1px solid #dedede; height:50px; margin-right: 50px; display: none; } .badge1 { position:relative; } .badge1[data-badge]:after { content:attr(data-badge); position:absolute; top:-9px; right:-7px; font-size:.7em; background:red; color:white; width:15px;height:15px; text-align:center; line-height:15px; border-radius:50%; box-shadow:0 0 1px #333; } .groupchat_viewmore{ width: 100%; padding: 10px; text-align: center; background-color: #cccccc; font-style:italic; cursor:pointer; } #chatpanelbaloon{ margin-bottom:30px; } .myusercheckbox,.usercheckbox{ background-color: #efefef; border-radius: 5px; margin-bottom: 10px; } .chatmember{ float:left; padding: 10px; margin: 5px; background-color: #dedede; border-radius: 5px; } </style> <div style="padding:5px; margin-top: 10px;clear: both;"> </div> <div id="chatpanel" class="chatpanel"> <div class="container"> <div class="chatpanelbox"> <i style="cursor:pointer;" onclick="showmygroup();" class="glyphicon glyphicon-comment badge1"></i> <span id="envelopebaloon" class="badge1" data-badge="" style="display:none;"> </span> <!--| <i onclick="showaddgroupchat();" class="glyphicon glyphicon-plus"></i>--> </div> <div id="chatinputtext" > <div style="padding-top:8px;" class="col-md-12"> <div style="padding-left: 10px; padding-right: 10px;"> <div class="input-group"> <input id="sendChatText" type="text" class="form-control"> <span class="input-group-btn"> <button id="sendChatButton" class="btn btn-default" type="button"><?php echo Lang::t('Send'); ?> </button> </span> </div><!-- /input-group --> <script> $('#sendChatButton').click(function(){ process_chatmsg(); }); $("#sendChatText").keyup(function (event) { if (event.keyCode == 13) { //on enter process_chatmsg(); } }); // sendReplyMsg </script> </div> </div> </div> </div> </div> <div id="chatpanelbaloon" class="chatpanel"> <div class="container"> <div id="chatpanelbaloon2" class="chatpanelbaloon"> <div id="mygroupchat" style="display:none;"> <div class="mygroup-item-header"> <div style="float:right; width: 40px;"> <?php BootstrapUX::createModal('Create Chat Group', _SPPATH . "ChatMsgGroupWeb/selectMember?t=" . $t); ?> <i style="cursor:pointer;" class="glyphicon glyphicon-remove" onclick="showmygroup();"></i> </div> <?php echo Lang::t('My Group Chat'); ?> </div> <div id="mygroup_chatlist"> </div> </div> <div style="display:none; " class="chatboxrooms" id="groupchatmainbox"> </div> <div id="selectChatmember" style="display:none;"> <div class="mygroup-item-header"><?php echo Lang::t('Select Member'); ?> </div> <div class="mygroup-item">member1</div> <div class="mygroup-item">member2</div> <div class="mygroup-item">member3</div> </div> </div> </div> </div> <script> var active_chat_baloon = ''; var chatMemberArr = []; var chatMemberArrName = []; var alreadyLoad = 0; var active_gid = 0; var latest_entry = -1; var loaded_gid = []; function showmygroup(){ if(active_chat_baloon != 'mygroupchat'){ showGroupProcess(); active_chat_baloon = "mygroupchat"; } else{ hideBaloon(); } } function hideBaloon(){ $('#selectChatmember').hide(); $('#mygroupchat').hide(); $('#chatpanelbaloon2').hide(); active_chat_baloon = ""; } function showGroupProcess(){ $('#selectChatmember').hide(); $('#mygroupchat').show(); $('#chatpanelbaloon2').show(); $("#groupchatmainbox").hide() //load my group chat loadGroupChatProcess(); } function loadGroupChatProcess(){ if(!alreadyLoad){ $.ajax({ //timeout: 35000, url: "<?php echo _SPPATH; ?> ChatMsgGroupWeb/getMyGroup?t=<?php echo $t; ?> ", success: function(data){ $("#mygroup_chatlist").empty().html(data); //scroll2Bottom(); }, global: false // this makes sure ajaxStart is not triggered //dataType: 'json', //complete: longpoll }); } //$("#mygroup_chatlist").load("<?php echo _SPPATH; ?> ChatMsgWeb/getMyGroup?t=<?php echo $t; ?> "); alreadyLoad = 1; } function showaddgroupchat(){ // $('#chatpanelbaloon2').toggle(); //$('#selectChatmember').toggle(); if(active_chat_baloon != 'selectChatmember'){ $('#selectChatmember').show(); $('#mygroupchat').hide(); $('#chatpanelbaloon2').show(); active_chat_baloon = "selectChatmember"; } else{ $('#selectChatmember').hide(); $('#mygroupchat').hide(); $('#chatpanelbaloon2').hide(); active_chat_baloon = ""; } } function carikanMember(t){ //alert('in'+t); var slc = $("#searchmemberBox"+t).val(); $("#memberes"+t).load("<?php echo _SPPATH; ?> ChatMsgGroupWeb/searchMember?qi="+slc+"&t="+t); } function carikanMemberBaru(t,gid){ //alert('in'+t); var slc = $("#searchmemberBox"+t).val(); $("#memberes"+t).load("<?php echo _SPPATH; ?> ChatMsgGroupWeb/searchMemberBaru?qi="+slc+"&gid="+gid+"&t="+t); } function addToMemberArr(id,name,t){ var pos = jQuery.inArray( id, chatMemberArr ); var gobj = {id:id,name:name}; if(pos<0){ chatMemberArr.push(id); chatMemberArrName.push(gobj); } else{ chatMemberArr.splice(pos,1); chatMemberArrName.splice(pos,1); } updateViewArrMember(t); console.log(chatMemberArr); console.log(chatMemberArrName); } function emptyChatMemberArr(){ chatMemberArr = []; chatMemberArrName = []; } function updateViewArrMember(t){ $('#membergroup'+t).empty(); for(var x in chatMemberArrName){ var obj = chatMemberArrName[x]; $('#membergroup'+t).append("<div class='chatmember'>"+obj.name+"</div>"); } $('#arrMember'+t).val(chatMemberArr.join()); } function activateChatMode(){ $("#footer").hide(); hideBaloon(); doSlideHeader(); $("#chatinputtext").show(); $("#chatpanelbaloon").css({'margin-bottom':"50px"}); } function deActivateChatMode(){ doSlideDownHeader(); $("#chatinputtext").hide(); $("#footer").show(); $("#chatpanelbaloon").css({'margin-bottom':"0px"}); } function scroll2Bottom(){ $("html, body").animate({ scrollTop: $(document).height() }, "slow"); } function chatleap_setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+d.toUTCString(); document.cookie = cname + "=" + cvalue + "; " + expires; } function chatleap_getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for(var i=0; i<ca.length; i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1); if (c.indexOf(name) != -1) return c.substring(name.length,c.length); } return ""; } function process_chatmsg(){ var slc = $('#sendChatText').val(); if(slc!=""){ $.post("<?php echo _SPPATH; ?> ChatMsgWeb/sendReplyMsg",{inboxid:active_gid,isi:slc},function(data){ $('#sendChatText').val(''); $.get('<?php echo _SPPATH; ?> ChatMsgWeb/getLastEntries?latest='+latest_entry+"&gid="+active_gid,function(data){ $('#chatboxcontainer').append(data); scroll2Bottom(); }); //activateChatMode(); //active_gid = '<?php echo $gr->group_id; ?> '; // lwrefresh('groupchat'); //openLw('groupchat','<?php echo _SPPATH; ?> ChatMsgWeb/loadGroupChat?t='+$.now()+'&gid='+active_gid,'fade'); }); }else{ alert('<?php echo Lang::t("Text must not empty"); ?> '); } } function close_group_chat(gid){ if(confirm("<?php echo Lang::t('This will delete this group chat and its contents'); ?> ")) $.post("<?php echo _SPPATH; ?> ChatMsgWeb/closeGroup",{inboxid:gid},function(data){ console.log(data); if(data.bool){ lwclose(selected_page); alreadyLoad = 0; loadGroupChatProcess(); }else{ alert(data.err); } },'json'); } function leave_group_chat(gid){ if(confirm("<?php echo Lang::t('Are you sure you want to leave this chatroom?'); ?> ")) $.post("<?php echo _SPPATH; ?> ChatMsgWeb/leaveGroup",{inboxid:gid},function(data){ console.log(data); if(data.bool){ lwclose(selected_page); alreadyLoad = 0; loadGroupChatProcess(); }else{ alert(data.err); } },'json'); } function invite_group_chat(gid){ } </script> <?php }
public function loadFolder() { $tid = isset($_GET['tid']) ? addslashes($_GET['tid']) : die('no ID'); $t = isset($_GET['t']) ? addslashes($_GET['t']) : die('no t'); /* * sort */ if (!isset($_SESSION['loadFolderSort'])) { $_SESSION['loadFolderSort'] = "name"; } $sortBy = isset($_GET['sortBy']) ? addslashes($_GET['sortBy']) : $_SESSION['loadFolderSort']; $_SESSION['loadFolderSort'] = $sortBy; $ftext = " ORDER BY folder_name ASC "; $dtext = " ORDER BY file_url ASC "; if ($sortBy == "type") { $dtext = " ORDER BY file_ext ASC,file_url ASC "; } if ($sortBy == "date") { $dtext = " ORDER BY file_date ASC,file_url ASC "; $ftext = " ORDER BY folder_date ASC,folder_name ASC "; } /* * search */ $sdtext = ""; $sftext = ""; $search = isset($_GET['search']) ? addslashes(urldecode($_GET['search'])) : ''; //echo $search; if ($search != '') { $sftext = " folder_name LIKE '%{$search}%'"; $sdtext = " ( file_url LIKE '%{$search}%' OR file_isi LIKE '%{$search}%' )"; } $_SESSION['loadFolderSearch'] = $search; $full = isset($_GET['full']) ? addslashes($_GET['full']) : 0; if ($full && $search != '') { //ambil semua anak2 dari semua folder...dan search accordingly if ($tid < 1) { //folder paling luar langsung saja keluarkan semuanya... $df = new DocumentsPortalFolder(); $arr = $df->getWhere(" {$sftext} {$ftext} "); $ff = new DocumentsPortal(); $arrfiles = $ff->getWhere(" {$sdtext} {$dtext}"); } else { if ($sdtext != "") { $sdtext = " AND " . $sdtext; } if ($sftext != "") { $sftext = " AND " . $sftext; } //get semua child foldernya $df = new DocumentsPortalFolder(); $arrChildFolder = $this->findChildren($tid); //pr($arrChildFolder); $result = array_unique(explode(",", $arrChildFolder)); //pr($result); $arrFtext = array("folder_parent_id = '{$tid}'"); $arrDtext = array("file_folder_id = '{$tid}'"); foreach ($result as $r) { $arrFtext[] = "folder_parent_id = '{$r}'"; $arrDtext[] = "file_folder_id = '{$r}'"; } $ands = implode(" OR ", $arrFtext); $ands = "(" . $ands . ")"; //echo $ands." $sftext $ftextbr <br><br>"; $df = new DocumentsPortalFolder(); $arr = $df->getWhere(" {$ands} {$sftext} {$ftext} "); //pr($arr); $andsf = implode(" OR ", $arrDtext); $andsf = "(" . $andsf . ")"; //echo " $andsf $sdtext $dtext <br>"; $ff = new DocumentsPortal(); $arrfiles = $ff->getWhere(" {$andsf} {$sdtext} {$dtext}"); } } else { if ($sdtext != "") { $sdtext = " AND " . $sdtext; } if ($sftext != "") { $sftext = " AND " . $sftext; } $df = new DocumentsPortalFolder(); $arr = $df->getWhere("folder_parent_id = '{$tid}' {$sftext} {$ftext} "); $ff = new DocumentsPortal(); $arrfiles = $ff->getWhere(" file_folder_id = '{$tid}' {$sdtext} {$dtext}"); } ?> <style> .findet{ background-color:yellow; } </style> <?php foreach ($arr as $f) { ?> <div class="folderdoc-item"> <div class="foldername"> <div title="<?php echo Lang::t('Expand Folder'); ?> " class='foldername-plus' id="foldername_<?php echo $f->folder_id; ?> _<?php echo $t; ?> "> <i class="ficon glyphicon glyphicon-expand"></i> </div> <div title="<?php echo Lang::t('View Folder in a new Page'); ?> " class="foldername-text"> <i style="cursor:pointer;" class="glyphicon glyphicon-folder-close" onclick="winBaru4ByPass('UploadDoc_<?php echo $f->folder_id; ?> ','<?php echo _SPPATH; ?> DMWeb/upload?t=<?php echo $t; ?> &tid=<?php echo $f->folder_id; ?> ','fade');"></i> <span ondblclick="this.contentEditable=true;this.className='inEdit';" onblur="this.contentEditable=false;this.className='';saveFolderName_<?php echo $t; ?> ('<?php echo $f->folder_id; ?> ');" id="foldernameedit_<?php echo $f->folder_id; ?> _<?php echo $t; ?> "> <?php $xx = $f->folder_name; if ($search != '') { $xx = str_ireplace($search, "<i class='findet'>" . $search . "</i>", $f->folder_name); } echo $xx; ?> </span> <?php //if not view only if ($_SESSION['DocumentPortal_view_only'] < 1) { ?> <?php //BootstrapUX::createModal(Lang::t('Choose Destination Folder'), _SPPATH."DMWeb/movefile?t=".$t."&tid=".$f->folder_id, "glyphicon glyphicon-retweet",$f->folder_id."_folder"); ?> <?php BootstrapUX::createModal(Lang::t('Edit Folder [' . $f->folder_name . ']'), _SPPATH . "DMWeb/editfolder?t=" . $t . "&tid=" . $f->folder_id, "glyphicon glyphicon-edit muda", $f->folder_id . "_folderedit"); ?> <?php } ?> <?php if ($search != '') { //search mode ?> <span class="location"> </span> <?php } ?> </div> </div> <div id="folders_<?php echo $f->folder_id; ?> _<?php echo $t; ?> " class="folderPortal" style="display:none;" > </div> </div> <script> $("#foldername_<?php echo $f->folder_id; ?> _<?php echo $t; ?> ").click(function(){ if($("#folders_<?php echo $f->folder_id; ?> _<?php echo $t; ?> ").css("display") == "none"){ $("#folders_<?php echo $f->folder_id; ?> _<?php echo $t; ?> ").show(); activeTID_<?php echo $t; ?> = <?php echo $f->folder_id; ?> ; $("#foldername_<?php echo $f->folder_id; ?> _<?php echo $t; ?> i.ficon").removeClass("glyphicon glyphicon-expand").addClass("glyphicon glyphicon-collapse-down"); if(jQuery.inArray(<?php echo $f->folder_id; ?> , activeHistory_<?php echo $t; ?> )!==-1){ loadfolder_<?php echo $t; ?> ('<?php echo $f->folder_id; ?> '); }else{ console.log(jQuery.inArray('<?php echo $f->folder_id; ?> ', activeHistory_<?php echo $t; ?> )); loadfolder_<?php echo $t; ?> ('<?php echo $f->folder_id; ?> '); activeHistory_<?php echo $t; ?> .push(activeTID_<?php echo $t; ?> ); console.log(activeHistory_<?php echo $t; ?> ); } }else{ $("#folders_<?php echo $f->folder_id; ?> _<?php echo $t; ?> ").hide(); activeTID_<?php echo $t; ?> = <?php echo $f->folder_parent_id; ?> ; $("#foldername_<?php echo $f->folder_id; ?> _<?php echo $t; ?> i.ficon").removeClass("glyphicon glyphicon-collapse-down").addClass("glyphicon glyphicon-expand"); } markActiveFolder_<?php echo $t; ?> (); }); </script> <?php } foreach ($arrfiles as $fil) { $arrParents = $fil->findAllParents(); //pr($arrParents); //pr($p); $arrpar = array(); $arrParents = array_reverse($arrParents); foreach ($arrParents as $par) { $arrpar[] = "<span style='cursor:pointer;text-decoration:underline;' onclick=\"winBaru4ByPass('UploadDoc_" . $par->folder_id . "','" . _SPPATH . "DMWeb/upload?t=" . $t . "&tid=" . $par->folder_id . "','fade');\">" . $par->folder_name . "</span>"; } $strpar = implode(" / ", $arrpar); ?> <div class="filedoc"> <i class="glyphicon glyphicon-list-alt"></i> <!-- benerin file viewer --> <?php $url = "dm"; $link = _SPPATH . "InputFileWeb/show?gurl=" . $url . "&id=" . $fil->file_id; $onclick = "onclick=\"openLw('DocViewer','" . $link . "','fade');\""; if ($_SESSION['DocumentPortal_view_only']) { $link = _SPPATH . "docviewer?gurl=" . $url . "&id=" . $fil->file_id; $onclick = "onclick=\"window.open('" . $link . "','_blank');\""; } ?> <!--<a href="<?php echo _SPPATH; echo $fil->upload_url; echo $fil->file_filename; ?> " target="_blank">--> <a style="cursor:pointer;" <?php echo $onclick; ?> > <?php $xx = $fil->file_url; if ($search != '') { $xx = str_ireplace($search, "<i class='findet'>" . $search . "</i>", $fil->file_url); } echo $xx; ?> </a> <?php //if not view only if ($_SESSION['DocumentPortal_view_only'] < 1) { ?> <i id="deletefile_<?php echo $fil->file_id; ?> _<?php echo $t; ?> " class="glyphicon glyphicon-remove-sign"></i> <?php //BootstrapUX::createModal(Lang::t('Choose Destination Folder'), _SPPATH."DMWeb/movefile?fid=".$fil->file_id."&t=".$t."&tid=".$tid, "glyphicon glyphicon-retweet",$fil->file_id); ?> <?php BootstrapUX::createModal(Lang::t($fil->file_url), _SPPATH . "DMWeb/editfile?fid=" . $fil->file_id . "&t=" . $t . "&tid=" . $tid, "glyphicon glyphicon-edit muda", $fil->file_id . "_fileedit"); ?> <?php } ?> <?php if ($search != '') { //search mode ?> <span class="location" style="font-style: italic;font-size: 12px;"> <?php echo $strpar; ?> </span> <?php } ?> </div> <?php if ($_SESSION['DocumentPortal_view_only'] < 1) { ?> <script> $("#deletefile_<?php echo $fil->file_id; ?> _<?php echo $t; ?> ").click(function(){ if(confirm("<?php echo Lang::t('Are you sure? This action is not undoable'); ?> ")){ $.get("<?php echo _SPPATH; ?> DMWeb/deleteFile?t=<?php echo $t; ?> &fid=<?php echo $fil->file_id; ?> ",function(data){ winBaru4ByPass("UploadDoc_<?php echo $tid; ?> ","<?php echo _SPPATH; ?> DMWeb/upload?tid=<?php echo $tid; ?> &t=<?php echo $t; ?> "); }); } }); </script> <?php } ?> <?php } }