Changeset 1449054
- Timestamp:
- 07/05/2016 08:43:12 AM (10 years ago)
- Location:
- kandy
- Files:
-
- 22 edited
-
tags/2.5.0/admin/CustomizationEditPage.php (modified) (1 diff)
-
tags/2.5.0/admin/HelpPage.php (modified) (2 diffs)
-
tags/2.5.0/api/help.php (modified) (2 diffs)
-
tags/2.5.0/css/kandyWordpress.css (modified) (3 diffs)
-
tags/2.5.0/css/kandylivechat.css (modified) (1 diff)
-
tags/2.5.0/js/kandyWordpress.js (modified) (5 diffs)
-
tags/2.5.0/js/kandylivechat.js (modified) (10 diffs)
-
tags/2.5.0/js/tinymce/KandyVideo.js (modified) (1 diff)
-
tags/2.5.0/js/tinymce/KandyVideoAnonymous.js (modified) (1 diff)
-
tags/2.5.0/kandy-shortcode.php (modified) (1 diff)
-
tags/2.5.0/readme.md (modified) (2 diffs)
-
trunk/admin/CustomizationEditPage.php (modified) (1 diff)
-
trunk/admin/HelpPage.php (modified) (2 diffs)
-
trunk/api/help.php (modified) (2 diffs)
-
trunk/css/kandyWordpress.css (modified) (3 diffs)
-
trunk/css/kandylivechat.css (modified) (1 diff)
-
trunk/js/kandyWordpress.js (modified) (5 diffs)
-
trunk/js/kandylivechat.js (modified) (10 diffs)
-
trunk/js/tinymce/KandyVideo.js (modified) (1 diff)
-
trunk/js/tinymce/KandyVideoAnonymous.js (modified) (1 diff)
-
trunk/kandy-shortcode.php (modified) (1 diff)
-
trunk/readme.md (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kandy/tags/2.5.0/admin/CustomizationEditPage.php
r1401109 r1449054 11 11 ?> 12 12 <h3> 13 <?php _e("Kandy User Assignment", "kandy"); ?>13 <?php _e("Kandy Edit Customization", "kandy"); ?> 14 14 </h3> 15 15 <?php -
kandy/tags/2.5.0/admin/HelpPage.php
r1448341 r1449054 82 82 <pre style="box-sizing: border-box; overflow: auto; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 13px; margin-top: 0px; margin-bottom: 0px; font-stretch: normal; line-height: 1.45; padding: 16px 16px 0; border-radius: 3px; word-wrap: normal; word-break: normal; background-color: rgb(247, 247, 247);"> 83 83 [kandyVideo 84 title = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span> Me<span class="pl-pds" style="box-sizing: border-box;">"</span></span>84 title = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>You<span class="pl-pds" style="box-sizing: border-box;">"</span></span> 85 85 id = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>myVideo<span class="pl-pds" style="box-sizing: border-box;">"</span></span> 86 86 style = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>width: 300px; height: 225px;background-color: darkslategray;<span class="pl-pds" style="box-sizing: border-box;">"</span></span>] … … 260 260 <pre style="box-sizing: border-box; overflow: auto; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 13px; margin-top: 0px; margin-bottom: 0px; font-stretch: normal; line-height: 1.45; padding: 16px 16px 0; border-radius: 3px; word-wrap: normal; word-break: normal; background-color: rgb(247, 247, 247);"> 261 261 [kandyVideoButton class=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>myButtonStype<span class="pl-pds" style="box-sizing: border-box;">"</span></span> callto=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>kandy_user_name@domain.com<span class="pl-pds" style="box-sizing: border-box;">"</span></span> anonymous=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>true<span class="pl-pds" style="box-sizing: border-box;">"</span></span>] 262 [kandyVideo title=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span> Me<span class="pl-pds" style="box-sizing: border-box;">"</span></span> id=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>myVideo<span class="pl-pds" style="box-sizing: border-box;">"</span></span> style = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>width: 300px;height: 225px;<span class="pl-pds" style="box-sizing: border-box;">"</span></span>]263 [kandyVideo title=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>The ir<span class="pl-pds" style="box-sizing: border-box;">"</span></span> id=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>theirVideo<span class="pl-pds" style="box-sizing: border-box;">"</span></span> style = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>width:300px;height: 225px;<span class="pl-pds" style="box-sizing: border-box;">"</span></span>]262 [kandyVideo title=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>You<span class="pl-pds" style="box-sizing: border-box;">"</span></span> id=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>myVideo<span class="pl-pds" style="box-sizing: border-box;">"</span></span> style = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>width: 300px;height: 225px;<span class="pl-pds" style="box-sizing: border-box;">"</span></span>] 263 [kandyVideo title=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>Them<span class="pl-pds" style="box-sizing: border-box;">"</span></span> id=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>theirVideo<span class="pl-pds" style="box-sizing: border-box;">"</span></span> style = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>width:300px;height: 225px;<span class="pl-pds" style="box-sizing: border-box;">"</span></span>] 264 264 </pre> 265 265 </div> -
kandy/tags/2.5.0/api/help.php
r1401109 r1449054 71 71 + <strong>Kandy Video</strong><br /> 72 72 <span style="color:#696969;"> [kandyVideo<br /> 73 title = " Me"<br />73 title = "You"<br /> 74 74 id = "myVideo"<br /> 75 75 style = "width: 300px; height: 225px;background-color: darkslategray;"]<br /> … … 130 130 <strong> + Kandy Video Call</strong><br /> 131 131 <span style="color:#696969;">[kandyVideoButton class="myButtonStyle"][/kandyVideoButton]<br /> 132 [kandyVideo title=" Me" id="myVideo" style = "width: 300px; height: 225px;background-color: darkslategray;"] [/kandyVideo]<br />133 [kandyVideo title="The ir" id="theirVideo" style = "width: 300px; height: 225px;background-color: darkslategray;"][/kandyVideo]</span>132 [kandyVideo title="You" id="myVideo" style = "width: 300px; height: 225px;background-color: darkslategray;"] [/kandyVideo]<br /> 133 [kandyVideo title="Them" id="theirVideo" style = "width: 300px; height: 225px;background-color: darkslategray;"][/kandyVideo]</span> 134 134 </p> 135 135 -
kandy/tags/2.5.0/css/kandyWordpress.css
r1410200 r1449054 1 .entry-header .entry-title { 2 margin-top: -20px; 3 } 1 4 div.entry-content .livechats a, 2 5 div.entry-content .contacts a { … … 191 194 .kandyChat .kandyMessages { 192 195 width: 100%; 193 height: 4 25px;196 height: 437px; 194 197 overflow: auto; 195 198 } … … 705 708 width: 75px; 706 709 height: 75px; 707 border-radius: 5px;708 710 object-fit: cover; 709 711 } -
kandy/tags/2.5.0/css/kandylivechat.css
r1410247 r1449054 139 139 width: 75px; 140 140 height: 75px; 141 border-radius: 5px;142 141 object-fit: cover; 143 142 display: block; -
kandy/tags/2.5.0/js/kandyWordpress.js
r1410020 r1449054 1003 1003 addExampleBox(); 1004 1004 get_last_seen_interval(contactListForPresence); 1005 jQuery('.cd-tabs-navigation > li:first-child > a').trigger('click'); 1005 1006 } else { 1006 1007 get_last_seen_interval(); … … 1026 1027 var message = inputMessage.val(); 1027 1028 inputMessage.val(''); 1028 kandy.messaging.sendIm(username, message, function () { 1029 var newMessage = '<div class="my-message">\ 1029 if (message.trim() != '') { 1030 kandy.messaging.sendIm(username, message, function () { 1031 var newMessage = '<div class="my-message">\ 1030 1032 <b><span class="imUsername">' + displayName + ':</span></b>\ 1031 1033 <span class="imMessage">' + message + '</span>\ 1032 1034 </div>'; 1033 var messageDiv = jQuery('.kandyChat .kandyMessages[data-user="' + dataHolder + '"]'); 1034 messageDiv.append(newMessage); 1035 messageDiv.scrollTop(messageDiv[0].scrollHeight); 1036 }, 1037 function () { 1038 alert("IM send failed"); 1039 } 1040 ); 1035 var messageDiv = jQuery('.kandyChat .kandyMessages[data-user="' + dataHolder + '"]'); 1036 messageDiv.append(newMessage); 1037 messageDiv.scrollTop(messageDiv[0].scrollHeight); 1038 }, 1039 function () { 1040 alert("IM send failed"); 1041 } 1042 ); 1043 } 1041 1044 }; 1042 1045 … … 1071 1074 1072 1075 if (msg.contentType === 'text' && msg.message.mimeType == 'text/plain') { 1073 newMessage += '<span class="imMessage" style="margin-left: 5px">' + message + '</span>';1076 newMessage += '<span class="imMessage" style="margin-left: 5px">' + message.replace(/\\'/g, "'").replace(/\\"/g, '"') + '</span>'; 1074 1077 } else { 1075 1078 var fileUrl = kandy.messaging.buildFileUrl(msg.message.content_uuid); … … 1334 1337 if(msgType == 'groupChat'){ 1335 1338 if(msg.contentType == 'text'){ 1336 var newMessage = '<div class="their-message">\ 1339 if (msg.message.text.trim() != '') { 1340 var newMessage = '<div class="their-message">\ 1337 1341 <b><span class="imUsername">' + sender + ':</span></b>\ 1338 1342 <span class="imMessage">' + msg.message.text + '</span>\ 1339 1343 </div>'; 1340 1344 1341 var messageDiv = jQuery('.kandyChat .kandyMessages[data-group="'+msg.group_id+'"]'); 1342 messageDiv.append(newMessage); 1343 messageDiv.scrollTop(messageDiv[0].scrollHeight); 1345 var messageDiv = jQuery('.kandyChat .kandyMessages[data-group="'+msg.group_id+'"]'); 1346 messageDiv.append(newMessage); 1347 messageDiv.scrollTop(messageDiv[0].scrollHeight); 1348 } 1344 1349 } 1345 1350 … … 1437 1442 */ 1438 1443 var kandy_sendGroupIm = function(groupId,msg){ 1439 var username = jQuery("input.kandy_current_username").val(); 1440 kandy.messaging.sendGroupIm(groupId, msg, 1441 function() { 1442 var newMessage = '<div class="my-message">\ 1444 if (typeof msg != 'undefined' && msg.trim() != '') { 1445 var username = jQuery("input.kandy_current_username").val(); 1446 kandy.messaging.sendGroupIm(groupId, msg, 1447 function() { 1448 var newMessage = '<div class="my-message">\ 1443 1449 <b><span class="imUsername">' + username + ':</span></b>\ 1444 1450 <span class="imMessage">' + msg + '</span>\ 1445 1451 </div>'; 1446 var messageDiv = jQuery('.kandyChat .kandyMessages[data-group="' + groupId + '"]'); 1447 messageDiv.append(newMessage); 1448 messageDiv.scrollTop(messageDiv[0].scrollHeight); 1449 }, 1450 function(msg, code) { 1451 console.log('Error sending Data (' + code + '): ' + msg); 1452 } 1453 ); 1452 var messageDiv = jQuery('.kandyChat .kandyMessages[data-group="' + groupId + '"]'); 1453 messageDiv.append(newMessage); 1454 messageDiv.scrollTop(messageDiv[0].scrollHeight); 1455 }, 1456 function(msg, code) { 1457 console.log('Error sending Data (' + code + '): ' + msg); 1458 } 1459 ); 1460 } 1454 1461 }; 1455 1462 /** -
kandy/tags/2.5.0/js/kandylivechat.js
r1410020 r1449054 62 62 63 63 var loginSSO = function(userAccessToken, success_callback, failure, password) { 64 console.log('login SSO ...'); 64 65 kandy.loginSSO(userAccessToken, success_callback, failure, password); 65 66 }; … … 69 70 }; 70 71 var login_success_callback = function (){ 71 console.log('login successful') 72 console.log('login successful'); 72 73 LiveChatUI.changeState("READY"); 73 74 }; 74 75 var login_fail_callback = function (){ 75 console.log('login failed') 76 console.log('login failed'); 76 77 LiveChatUI.changeState("UNAVAILABLE"); 77 78 }; … … 96 97 type: 'GET', 97 98 dataType: 'json', 98 async: false,99 99 success: function(res){ 100 if(checkAvailable){ 100 if(!checkAvailable){ 101 LiveChatUI.changeState('WAITING'); 102 } else { 101 103 LiveChatUI.changeState('RECONNECTING'); 102 104 } … … 127 129 if(!checkAvailable){ 128 130 checkAvailable = setInterval(getKandyUsers, 5000); 131 } else { 132 LiveChatUI.changeState('RECONNECTING'); 129 133 } 130 134 } … … 149 153 150 154 var sendIM = function(username, message){ 151 kandy.messaging.sendIm(username, message, function () { 152 var messageBox = jQuery("#messageBox"); 153 messageBox.find("ul").append("<li class='my-message'><span class='username'>Me:</span><span class='imMessage'>"+jQuery("#messageToSend").val()+"</span></li>"); 154 jQuery("#formChat")[0].reset(); 155 messageBox.scrollTop(messageBox[0].scrollHeight); 156 }, 157 function () { 158 alert("IM send failed"); 159 } 160 ); 155 if (message != '') { 156 kandy.messaging.sendIm(username, message, function () { 157 var messageBox = jQuery("#messageBox"); 158 messageBox.find("ul").append("<li class='my-message'><span class='username'>You:</span><span class='imMessage'>"+jQuery("#messageToSend").val()+"</span></li>"); 159 jQuery("#formChat")[0].reset(); 160 messageBox.scrollTop(messageBox[0].scrollHeight); 161 }, 162 function () { 163 alert("IM send failed"); 164 } 165 ); 166 } 161 167 }; 162 168 … … 213 219 console.log(message.message.content_name + " sent successfully."); 214 220 var messageBox = jQuery("#messageBox"); 215 var newMessage = "<li class='my-message'><span class='username'> Me: </span>";221 var newMessage = "<li class='my-message'><span class='username'>You: </span>"; 216 222 var fileUrl = kandy.messaging.buildFileUrl(message.message.content_uuid); 217 223 var html = ''; … … 245 251 jQuery(".handle.minimize, #restoreBtn").click(function(){ 246 252 jQuery(".liveChat").toggleClass('kandy_hidden'); 253 if (!jQuery(".liveChat").hasClass('kandy_hidden')) { 254 jQuery("#customerName").focus(); 255 } 247 256 }); 248 257 … … 258 267 data: form.serialize(), 259 268 type: 'POST', 269 beforeSend: function (xhr) { 270 LiveChatUI.changeState('WAITING'); 271 }, 260 272 success: function(res){ 261 273 res = jQuery.parseJSON(res); … … 266 278 } 267 279 }else{ 268 LiveChatUI.changeState('WAITING');269 280 getKandyUsers(); 270 281 } … … 276 287 jQuery("#formChat").on('submit', function(e){ 277 288 e.preventDefault(); 278 sendIM(agent.full_user_id, jQuery("#messageToSend").val()); 289 var message = jQuery("#messageToSend").val().trim(); 290 if (message != '') { 291 sendIM(agent.full_user_id, message); 292 } 279 293 }); 280 294 //end chat session if user close browser or tab -
kandy/tags/2.5.0/js/tinymce/KandyVideo.js
r1401109 r1449054 8 8 //var posts = prompt("Number of posts", "1"); 9 9 //var text = prompt("List Heading", "This is the heading text"); 10 ed.execCommand('mceInsertContent', false, '[kandyVideoButton class="myButtonStyle"]\n[kandyVideo title=" Me" id="myVideo" style = "width: 300px;height: 225px;"][kandyVideo title="Their" id="theirVideo" style = "width:300px;height: 225px;"]');10 ed.execCommand('mceInsertContent', false, '[kandyVideoButton class="myButtonStyle"]\n[kandyVideo title="You" id="myVideo" style = "width: 300px;height: 225px;"][kandyVideo title="Them" id="theirVideo" style = "width:300px;height: 225px;"]'); 11 11 } 12 12 }); -
kandy/tags/2.5.0/js/tinymce/KandyVideoAnonymous.js
r1410020 r1449054 8 8 //var posts = prompt("Number of posts", "1"); 9 9 //var text = prompt("List Heading", "This is the heading text"); 10 ed.execCommand('mceInsertContent', false, '[kandyVideoButton class="myButtonStyle" callOutButtonText="Call Us" callto="kandy_username@domain.com" anonymous="true"]\n[kandyVideo title=" Me" id="myVideo" style = "width: 300px;height: 225px;"][kandyVideo title="Their" id="theirVideo" style = "width:300px;height: 225px;"]');10 ed.execCommand('mceInsertContent', false, '[kandyVideoButton class="myButtonStyle" callOutButtonText="Call Us" callto="kandy_username@domain.com" anonymous="true"]\n[kandyVideo title="You" id="myVideo" style = "width: 300px;height: 225px;"][kandyVideo title="Them" id="theirVideo" style = "width:300px;height: 225px;"]'); 11 11 } 12 12 }); -
kandy/tags/2.5.0/kandy-shortcode.php
r1448341 r1449054 1299 1299 <div id="messageBox" class="" style=""> 1300 1300 <ul> 1301 <li class="their-message"><span class="username">' . $userInfo['agent'] . '</span>: H i ' . $userInfo['username'] . ', what brings you here?</li>1301 <li class="their-message"><span class="username">' . $userInfo['agent'] . '</span>: Hello' . (!empty($userInfo['username']) ? (' ' . $userInfo['username']) : '') . ', how may I help you?</li> 1302 1302 </ul> 1303 1303 </div> -
kandy/tags/2.5.0/readme.md
r1406157 r1449054 36 36 ```sh 37 37 [kandyVideo 38 title = " Me"38 title = "You" 39 39 id = "myVideo" 40 40 style = "width: 300px; height: 225px;background-color: darkslategray;"] … … 127 127 ```sh 128 128 [kandyVideoButton class="myButtonStyle" callto="user_kandy@domain.com" anonymous="true"] 129 [kandyVideo title=" Me" id="myVideo" style = "width: 300px;height: 225px;"]130 [kandyVideo title="The ir" id="theirVideo" style = "width:300px;height: 225px;"]129 [kandyVideo title="You" id="myVideo" style = "width: 300px;height: 225px;"] 130 [kandyVideo title="Them" id="theirVideo" style = "width:300px;height: 225px;"] 131 131 ``` 132 132 -
kandy/trunk/admin/CustomizationEditPage.php
r1265746 r1449054 11 11 ?> 12 12 <h3> 13 <?php _e("Kandy User Assignment", "kandy"); ?>13 <?php _e("Kandy Edit Customization", "kandy"); ?> 14 14 </h3> 15 15 <?php -
kandy/trunk/admin/HelpPage.php
r1448341 r1449054 82 82 <pre style="box-sizing: border-box; overflow: auto; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 13px; margin-top: 0px; margin-bottom: 0px; font-stretch: normal; line-height: 1.45; padding: 16px 16px 0; border-radius: 3px; word-wrap: normal; word-break: normal; background-color: rgb(247, 247, 247);"> 83 83 [kandyVideo 84 title = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span> Me<span class="pl-pds" style="box-sizing: border-box;">"</span></span>84 title = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>You<span class="pl-pds" style="box-sizing: border-box;">"</span></span> 85 85 id = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>myVideo<span class="pl-pds" style="box-sizing: border-box;">"</span></span> 86 86 style = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>width: 300px; height: 225px;background-color: darkslategray;<span class="pl-pds" style="box-sizing: border-box;">"</span></span>] … … 260 260 <pre style="box-sizing: border-box; overflow: auto; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 13px; margin-top: 0px; margin-bottom: 0px; font-stretch: normal; line-height: 1.45; padding: 16px 16px 0; border-radius: 3px; word-wrap: normal; word-break: normal; background-color: rgb(247, 247, 247);"> 261 261 [kandyVideoButton class=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>myButtonStype<span class="pl-pds" style="box-sizing: border-box;">"</span></span> callto=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>kandy_user_name@domain.com<span class="pl-pds" style="box-sizing: border-box;">"</span></span> anonymous=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>true<span class="pl-pds" style="box-sizing: border-box;">"</span></span>] 262 [kandyVideo title=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span> Me<span class="pl-pds" style="box-sizing: border-box;">"</span></span> id=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>myVideo<span class="pl-pds" style="box-sizing: border-box;">"</span></span> style = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>width: 300px;height: 225px;<span class="pl-pds" style="box-sizing: border-box;">"</span></span>]263 [kandyVideo title=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>The ir<span class="pl-pds" style="box-sizing: border-box;">"</span></span> id=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>theirVideo<span class="pl-pds" style="box-sizing: border-box;">"</span></span> style = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>width:300px;height: 225px;<span class="pl-pds" style="box-sizing: border-box;">"</span></span>]262 [kandyVideo title=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>You<span class="pl-pds" style="box-sizing: border-box;">"</span></span> id=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>myVideo<span class="pl-pds" style="box-sizing: border-box;">"</span></span> style = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>width: 300px;height: 225px;<span class="pl-pds" style="box-sizing: border-box;">"</span></span>] 263 [kandyVideo title=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>Them<span class="pl-pds" style="box-sizing: border-box;">"</span></span> id=<span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>theirVideo<span class="pl-pds" style="box-sizing: border-box;">"</span></span> style = <span class="pl-s1" style="box-sizing: border-box; color: rgb(223, 80, 0);"><span class="pl-pds" style="box-sizing: border-box;">"</span>width:300px;height: 225px;<span class="pl-pds" style="box-sizing: border-box;">"</span></span>] 264 264 </pre> 265 265 </div> -
kandy/trunk/api/help.php
r1401109 r1449054 71 71 + <strong>Kandy Video</strong><br /> 72 72 <span style="color:#696969;"> [kandyVideo<br /> 73 title = " Me"<br />73 title = "You"<br /> 74 74 id = "myVideo"<br /> 75 75 style = "width: 300px; height: 225px;background-color: darkslategray;"]<br /> … … 130 130 <strong> + Kandy Video Call</strong><br /> 131 131 <span style="color:#696969;">[kandyVideoButton class="myButtonStyle"][/kandyVideoButton]<br /> 132 [kandyVideo title=" Me" id="myVideo" style = "width: 300px; height: 225px;background-color: darkslategray;"] [/kandyVideo]<br />133 [kandyVideo title="The ir" id="theirVideo" style = "width: 300px; height: 225px;background-color: darkslategray;"][/kandyVideo]</span>132 [kandyVideo title="You" id="myVideo" style = "width: 300px; height: 225px;background-color: darkslategray;"] [/kandyVideo]<br /> 133 [kandyVideo title="Them" id="theirVideo" style = "width: 300px; height: 225px;background-color: darkslategray;"][/kandyVideo]</span> 134 134 </p> 135 135 -
kandy/trunk/css/kandyWordpress.css
r1410200 r1449054 1 .entry-header .entry-title { 2 margin-top: -20px; 3 } 1 4 div.entry-content .livechats a, 2 5 div.entry-content .contacts a { … … 191 194 .kandyChat .kandyMessages { 192 195 width: 100%; 193 height: 4 25px;196 height: 437px; 194 197 overflow: auto; 195 198 } … … 705 708 width: 75px; 706 709 height: 75px; 707 border-radius: 5px;708 710 object-fit: cover; 709 711 } -
kandy/trunk/css/kandylivechat.css
r1410247 r1449054 139 139 width: 75px; 140 140 height: 75px; 141 border-radius: 5px;142 141 object-fit: cover; 143 142 display: block; -
kandy/trunk/js/kandyWordpress.js
r1410020 r1449054 1003 1003 addExampleBox(); 1004 1004 get_last_seen_interval(contactListForPresence); 1005 jQuery('.cd-tabs-navigation > li:first-child > a').trigger('click'); 1005 1006 } else { 1006 1007 get_last_seen_interval(); … … 1026 1027 var message = inputMessage.val(); 1027 1028 inputMessage.val(''); 1028 kandy.messaging.sendIm(username, message, function () { 1029 var newMessage = '<div class="my-message">\ 1029 if (message.trim() != '') { 1030 kandy.messaging.sendIm(username, message, function () { 1031 var newMessage = '<div class="my-message">\ 1030 1032 <b><span class="imUsername">' + displayName + ':</span></b>\ 1031 1033 <span class="imMessage">' + message + '</span>\ 1032 1034 </div>'; 1033 var messageDiv = jQuery('.kandyChat .kandyMessages[data-user="' + dataHolder + '"]'); 1034 messageDiv.append(newMessage); 1035 messageDiv.scrollTop(messageDiv[0].scrollHeight); 1036 }, 1037 function () { 1038 alert("IM send failed"); 1039 } 1040 ); 1035 var messageDiv = jQuery('.kandyChat .kandyMessages[data-user="' + dataHolder + '"]'); 1036 messageDiv.append(newMessage); 1037 messageDiv.scrollTop(messageDiv[0].scrollHeight); 1038 }, 1039 function () { 1040 alert("IM send failed"); 1041 } 1042 ); 1043 } 1041 1044 }; 1042 1045 … … 1071 1074 1072 1075 if (msg.contentType === 'text' && msg.message.mimeType == 'text/plain') { 1073 newMessage += '<span class="imMessage" style="margin-left: 5px">' + message + '</span>';1076 newMessage += '<span class="imMessage" style="margin-left: 5px">' + message.replace(/\\'/g, "'").replace(/\\"/g, '"') + '</span>'; 1074 1077 } else { 1075 1078 var fileUrl = kandy.messaging.buildFileUrl(msg.message.content_uuid); … … 1334 1337 if(msgType == 'groupChat'){ 1335 1338 if(msg.contentType == 'text'){ 1336 var newMessage = '<div class="their-message">\ 1339 if (msg.message.text.trim() != '') { 1340 var newMessage = '<div class="their-message">\ 1337 1341 <b><span class="imUsername">' + sender + ':</span></b>\ 1338 1342 <span class="imMessage">' + msg.message.text + '</span>\ 1339 1343 </div>'; 1340 1344 1341 var messageDiv = jQuery('.kandyChat .kandyMessages[data-group="'+msg.group_id+'"]'); 1342 messageDiv.append(newMessage); 1343 messageDiv.scrollTop(messageDiv[0].scrollHeight); 1345 var messageDiv = jQuery('.kandyChat .kandyMessages[data-group="'+msg.group_id+'"]'); 1346 messageDiv.append(newMessage); 1347 messageDiv.scrollTop(messageDiv[0].scrollHeight); 1348 } 1344 1349 } 1345 1350 … … 1437 1442 */ 1438 1443 var kandy_sendGroupIm = function(groupId,msg){ 1439 var username = jQuery("input.kandy_current_username").val(); 1440 kandy.messaging.sendGroupIm(groupId, msg, 1441 function() { 1442 var newMessage = '<div class="my-message">\ 1444 if (typeof msg != 'undefined' && msg.trim() != '') { 1445 var username = jQuery("input.kandy_current_username").val(); 1446 kandy.messaging.sendGroupIm(groupId, msg, 1447 function() { 1448 var newMessage = '<div class="my-message">\ 1443 1449 <b><span class="imUsername">' + username + ':</span></b>\ 1444 1450 <span class="imMessage">' + msg + '</span>\ 1445 1451 </div>'; 1446 var messageDiv = jQuery('.kandyChat .kandyMessages[data-group="' + groupId + '"]'); 1447 messageDiv.append(newMessage); 1448 messageDiv.scrollTop(messageDiv[0].scrollHeight); 1449 }, 1450 function(msg, code) { 1451 console.log('Error sending Data (' + code + '): ' + msg); 1452 } 1453 ); 1452 var messageDiv = jQuery('.kandyChat .kandyMessages[data-group="' + groupId + '"]'); 1453 messageDiv.append(newMessage); 1454 messageDiv.scrollTop(messageDiv[0].scrollHeight); 1455 }, 1456 function(msg, code) { 1457 console.log('Error sending Data (' + code + '): ' + msg); 1458 } 1459 ); 1460 } 1454 1461 }; 1455 1462 /** -
kandy/trunk/js/kandylivechat.js
r1410020 r1449054 62 62 63 63 var loginSSO = function(userAccessToken, success_callback, failure, password) { 64 console.log('login SSO ...'); 64 65 kandy.loginSSO(userAccessToken, success_callback, failure, password); 65 66 }; … … 69 70 }; 70 71 var login_success_callback = function (){ 71 console.log('login successful') 72 console.log('login successful'); 72 73 LiveChatUI.changeState("READY"); 73 74 }; 74 75 var login_fail_callback = function (){ 75 console.log('login failed') 76 console.log('login failed'); 76 77 LiveChatUI.changeState("UNAVAILABLE"); 77 78 }; … … 96 97 type: 'GET', 97 98 dataType: 'json', 98 async: false,99 99 success: function(res){ 100 if(checkAvailable){ 100 if(!checkAvailable){ 101 LiveChatUI.changeState('WAITING'); 102 } else { 101 103 LiveChatUI.changeState('RECONNECTING'); 102 104 } … … 127 129 if(!checkAvailable){ 128 130 checkAvailable = setInterval(getKandyUsers, 5000); 131 } else { 132 LiveChatUI.changeState('RECONNECTING'); 129 133 } 130 134 } … … 149 153 150 154 var sendIM = function(username, message){ 151 kandy.messaging.sendIm(username, message, function () { 152 var messageBox = jQuery("#messageBox"); 153 messageBox.find("ul").append("<li class='my-message'><span class='username'>Me:</span><span class='imMessage'>"+jQuery("#messageToSend").val()+"</span></li>"); 154 jQuery("#formChat")[0].reset(); 155 messageBox.scrollTop(messageBox[0].scrollHeight); 156 }, 157 function () { 158 alert("IM send failed"); 159 } 160 ); 155 if (message != '') { 156 kandy.messaging.sendIm(username, message, function () { 157 var messageBox = jQuery("#messageBox"); 158 messageBox.find("ul").append("<li class='my-message'><span class='username'>You:</span><span class='imMessage'>"+jQuery("#messageToSend").val()+"</span></li>"); 159 jQuery("#formChat")[0].reset(); 160 messageBox.scrollTop(messageBox[0].scrollHeight); 161 }, 162 function () { 163 alert("IM send failed"); 164 } 165 ); 166 } 161 167 }; 162 168 … … 213 219 console.log(message.message.content_name + " sent successfully."); 214 220 var messageBox = jQuery("#messageBox"); 215 var newMessage = "<li class='my-message'><span class='username'> Me: </span>";221 var newMessage = "<li class='my-message'><span class='username'>You: </span>"; 216 222 var fileUrl = kandy.messaging.buildFileUrl(message.message.content_uuid); 217 223 var html = ''; … … 245 251 jQuery(".handle.minimize, #restoreBtn").click(function(){ 246 252 jQuery(".liveChat").toggleClass('kandy_hidden'); 253 if (!jQuery(".liveChat").hasClass('kandy_hidden')) { 254 jQuery("#customerName").focus(); 255 } 247 256 }); 248 257 … … 258 267 data: form.serialize(), 259 268 type: 'POST', 269 beforeSend: function (xhr) { 270 LiveChatUI.changeState('WAITING'); 271 }, 260 272 success: function(res){ 261 273 res = jQuery.parseJSON(res); … … 266 278 } 267 279 }else{ 268 LiveChatUI.changeState('WAITING');269 280 getKandyUsers(); 270 281 } … … 276 287 jQuery("#formChat").on('submit', function(e){ 277 288 e.preventDefault(); 278 sendIM(agent.full_user_id, jQuery("#messageToSend").val()); 289 var message = jQuery("#messageToSend").val().trim(); 290 if (message != '') { 291 sendIM(agent.full_user_id, message); 292 } 279 293 }); 280 294 //end chat session if user close browser or tab -
kandy/trunk/js/tinymce/KandyVideo.js
r1265746 r1449054 8 8 //var posts = prompt("Number of posts", "1"); 9 9 //var text = prompt("List Heading", "This is the heading text"); 10 ed.execCommand('mceInsertContent', false, '[kandyVideoButton class="myButtonStyle"]\n[kandyVideo title=" Me" id="myVideo" style = "width: 300px;height: 225px;"][kandyVideo title="Their" id="theirVideo" style = "width:300px;height: 225px;"]');10 ed.execCommand('mceInsertContent', false, '[kandyVideoButton class="myButtonStyle"]\n[kandyVideo title="You" id="myVideo" style = "width: 300px;height: 225px;"][kandyVideo title="Them" id="theirVideo" style = "width:300px;height: 225px;"]'); 11 11 } 12 12 }); -
kandy/trunk/js/tinymce/KandyVideoAnonymous.js
r1410020 r1449054 8 8 //var posts = prompt("Number of posts", "1"); 9 9 //var text = prompt("List Heading", "This is the heading text"); 10 ed.execCommand('mceInsertContent', false, '[kandyVideoButton class="myButtonStyle" callOutButtonText="Call Us" callto="kandy_username@domain.com" anonymous="true"]\n[kandyVideo title=" Me" id="myVideo" style = "width: 300px;height: 225px;"][kandyVideo title="Their" id="theirVideo" style = "width:300px;height: 225px;"]');10 ed.execCommand('mceInsertContent', false, '[kandyVideoButton class="myButtonStyle" callOutButtonText="Call Us" callto="kandy_username@domain.com" anonymous="true"]\n[kandyVideo title="You" id="myVideo" style = "width: 300px;height: 225px;"][kandyVideo title="Them" id="theirVideo" style = "width:300px;height: 225px;"]'); 11 11 } 12 12 }); -
kandy/trunk/kandy-shortcode.php
r1448341 r1449054 1299 1299 <div id="messageBox" class="" style=""> 1300 1300 <ul> 1301 <li class="their-message"><span class="username">' . $userInfo['agent'] . '</span>: H i ' . $userInfo['username'] . ', what brings you here?</li>1301 <li class="their-message"><span class="username">' . $userInfo['agent'] . '</span>: Hello' . (!empty($userInfo['username']) ? (' ' . $userInfo['username']) : '') . ', how may I help you?</li> 1302 1302 </ul> 1303 1303 </div> -
kandy/trunk/readme.md
r1406157 r1449054 36 36 ```sh 37 37 [kandyVideo 38 title = " Me"38 title = "You" 39 39 id = "myVideo" 40 40 style = "width: 300px; height: 225px;background-color: darkslategray;"] … … 127 127 ```sh 128 128 [kandyVideoButton class="myButtonStyle" callto="user_kandy@domain.com" anonymous="true"] 129 [kandyVideo title=" Me" id="myVideo" style = "width: 300px;height: 225px;"]130 [kandyVideo title="The ir" id="theirVideo" style = "width:300px;height: 225px;"]129 [kandyVideo title="You" id="myVideo" style = "width: 300px;height: 225px;"] 130 [kandyVideo title="Them" id="theirVideo" style = "width:300px;height: 225px;"] 131 131 ``` 132 132
Note: See TracChangeset
for help on using the changeset viewer.