PHP Live Chat Pro v20171107 - PHP在线客服聊天系统

too 2017-12-8 1259

PHP Live Chat Pro v20171107 - PHP在线客服聊天系统

系统简介


Live Support Chat. PHP & MySQL based. For any website. No monthly fees. Works with any website – HTML, PHP, WordPress, Joomla, Drupal, OpenCart (any website with PHP & MySQL back-end)!
PHP在线客服聊天系统,可以将客服源码嵌入到任何网页。使用简单方便。
版本号:2017.11.07



在线演示


本站临时演示
http://demo.topide.com/plcp/livechat/
用户名admin@topide.com
密码admin
小部件演示
http://demo.topide.com/plcp/livechat/test.php

官方演示
http://livechat.mirrormx.net/



更新日志


07 November 2017:

fixed a PHP-compatibility error in file upload code,
fixed URL parsing in messages to properly handle brackets characters in URLs,
changed widget initialization code to an asynchronous, non-blocking one,
fixed session timeout error happening on some servers,
added status switch (online/offline) for operators,
fixed SQL code causing errors during installation on some servers,
fixed sometimes incorrect time calculation of the initial welcome message,
updated SMTP handling code allowing to disable SSL certificate validation,
fixed SQL-compatibility error causing problems after login on some servers.



系统需求


PHP 版本 5 或更新
MySQL 5.2 或更新
浏览器IE9或更新,和其他主流浏览器.



安装方法



上传文件到服务器,设置以下文件属性为可写:
/php/config/app.settings.php
/php/config/parameters.php
运行安装向导
//php/app.php
根据提示输入数据库和管理员信息



破解说明


该程序由@fei_link 提供零售版,由reishi进行破解,绕过授权,并测试无错可用。
安卓客户端可以去谷歌应用商店下载,然后打开移动应用,扫描后台的QR码进行绑定。
语言包可以在php-live-chat-pro\livechat\php\config\lang下创建并翻译。这个版本和上个版本的语言不一样,增加了一些短语。



下载地址


本帖有隐藏内容,请您回复后查看。



部分汉化语言


zh.php


<?phpreturn array(    // Widget

    'loadingLabel'           => '加载中...',    'loginError'             => '登录错误',    'chatHeader'             => '在线咨询',    'startInfo'              => '请填写信息开始聊天',    'selectDepartment'       => '选择部门',    'selectCancel'           => '取消',    'startLabel'             => '开始',    'backLabel'              => '返回',    'initMessageBody'        => '你好,请问有什么可以帮助你?',    'initMessageAuthor'      => '客服',    'chatInputLabel'         => '输入你的问题',    'timeDaysAgo'            => '天前',    'timeHoursAgo'           => '小时前',    'timeMinutesAgo'         => '分钟前',    'timeSecondsAgo'         => '秒钟前',    'offlineMessage'         => '客服当前离线',    'toggleSoundLabel'       => '声音提醒',    'toggleScrollLabel'      => '自动滚屏',    'toggleEmoticonsLabel'   => '使用表情',    'toggleMediaLabel'       => '使用媒体',    'toggleAutoShowLabel'    => '自动显示',    'toggleFullscreenLabel'  => '全屏切换',    'endChatLabel'           => '结束聊天',    'endChatConfirmQuestion' => '你确定当前操作?',    'endChatConfirm'         => '是',    'endChatCancel'          => '取消',    'mailTranscriptLabel'    => '发送聊天记录到电子邮件',    'mailTranscriptHeader'   => '聊天记录',    'mailTranscriptInfo'     => '请输入接收聊天记录的邮件',    'mailTranscriptSuccess'  => '聊天记录已经发送成功',    'mailTranscriptError'    => '发送聊天记录出错了',    'operatorClosedTalk'     => '客服已经离开对话框',    'loginAgain'             => '再次登录',    'contactHeader'          => '离线留言',    'contactInfo'            => '当前客服未在线,请提交留言,客服收到后会及时与您取得联系.',    'contactNameLabel'       => '您的姓名',    'contactMailLabel'       => '您的邮件',    'contactQuestionLabel'   => '您的问题',    'contactSendLabel'       => '发送',    'contactSuccessHeader'   => '消息已发送',    'contactSuccessMessage'  => '您的消息已经发送!',    'contactErrorHeader'     => '出错啦',    'contactErrorMessage'    => '发送过程中出现了点问题',    'file.canceled'          => '已取消',    'file.error'             => '出错',    'file.denied'            => '被拒绝',    'file.too.big'           => '最大上传尺寸: %max% MB',    'you'                    => '你自己',    // Administration side

    'app.name' => 'PHP在线客服系统',    'login.title' => '登录',    'login.intro' => '请在下面输入登录信息',    'login.error' => '错误的用户名或密码',    'login' => '登录',    'your.mail' => '你的邮件',    'your.pass' => '你的密码',    'your.msg' => '输入你的信息',    'online' => '在线',    'offline' => '离线',    'welcome' => '欢迎',    'edit.profile' => '编辑资料',    'edit.operator' => '编辑客服',    'add.new.msg' => 'Add new message',    'add.new.operator' => 'Add new operator',    'add.new.dep' => 'Add new department',    'incorrect.install' => 'Incorrect installation',    'please.install' => 'Please install first',    'not.installed.msg' => 'The application is not yet installed, please log in as administrator and install it before using',    'install' => '安装',    'edit.config' => 'Edit configuration',    'uninstall' => '卸载',    'qr.code' => '二维码',    'qr.code.info' => '使用移动应用扫描二维码添加网站.',    'qr.code.note' => "不要使用通用QR码扫描器扫描代码。请首先下载并安装PHP Live Chat移动应用程序。.",    'logs' => '日志',    'widget.preview' => '挂件预览',    'widget.get' => '获取代码',    'logout' => '注销',    'chat.offline.info' => 'Please change your status to "Online" to be able to chat.',    'online.users' => '在线用户',    'online.operators' => '在线客服',    'user.info' => 'User info',    'visitor.invite' => 'Visitor invitation',    'invite.visitor.q' => 'Invite visitor to talk?',    'invite' => 'Invite',    'settings' => 'Settings',    'departments' => 'Departments',    'operators' => 'Operators',    'widget.settings' => 'Widget settings',    'widget.theme' => 'Widget theme',    'canned.messages' => 'Canned messages',    'widget.blacklist' => 'Widget blacklist',    'history' => 'History',    'primary.color' => 'Primary color',    'secondary.color' => 'Secondary color',    'label.color' => 'Label color',    'contact.mail' => 'Contact form e-mail',    'hide.offline' => 'Hide when off-line',    'show.widget.auto' => 'Show widget automatically',    'every.refresh' => 'On every page refresh',    'first.visit' => 'Only on first visit',    'until.hide' => 'Until user hides the widget',    'allow' => 'Allow',    'turn.off' => 'Turn off',    'show.widget.after' => 'Show widget automatically after (seconds)',    'ask.mail' => 'Ask guests for e-mail',    'media.in.chat' => 'Media in chat box (images, videos)',    'display.auto' => 'Display automatically',    'display.clicked' => 'Display when clicked',    'chat.header' => 'Chat header',    'welcome.msg' => 'Welcome message',    'msg.sound' => 'New message sound',    'sys.msg.sound' => 'System message sound',    'shared.max.size' => 'Maximum uploaded file size (MB)',    'file.sharing' => 'File sharing',    'gmaps.key' => 'Google Maps API key',    'widget.width' => "Widget's width (in pixels, minimum 370)",    'widget.height' => "Widget's height (in pixels)",    'widget.side' => "Widget's side",    'left' => '左',    'right' => '右',    'widget.offset' => "Widget's offset from the window edge (in pixels)",    'mobile.bp' => 'Mobile version breakpoint',    'operator.init.chat' => 'Operator-initiated talks',    'online.track.int' => 'User tracking refresh rate (s)',    'max.conn' => 'Maximum connections',    'poll.interval' => 'Chatting refresh rate (s)',    'save' => '保存',    'reset.to.def' => 'Reset to defaults',    'departments' => '部门',    'add.new' => '新建',    'edit.department' => '编辑部门',    'back.to.list' => '返回列表',    'name' => 'Name',    'description' => '介绍',    'edit.op' => '编辑客服',    'user.name' => '用户名',    'mail' => 'E-mail',    'user' => '用户',    'pass' => '密码',    'retype.pass' => '重复密码',    'avatar' => '头像',    'from.coll' => 'From collection...',    'curr.pass' => '当前密码',    'new.pass' => '新密码',    'retype.new.pass' => '重复新密码',    'change.pass' => '修改密码',    'cancel' => '取消',    'insert' => '插入',    'send' => '发送',    'canned.msgs' => 'Canned messages',    'edit.msg' => 'Edit message',    'body' => 'Body',    'placeholder.hint' => 'You can use <i>{name}</i> and <i>{mail}</i> placeholders',    'pages.no.widget' => 'Pages where the widget should not be displayed:',    'no.widget.hint' => '(define each URL or part of the URL as a separate line, you can also use regular expressions, e. g. <i>/test\.html$/</i>)',    'search' => '搜索',    'clear.history' => '清空历史',    'clear.history.q' => '你确定要清空全部的消息吗?',    'clear.messages' => '清空消息',    'participants' => '参与者',    'refresh' => '刷新',    'open.in.n.w' => '在新窗口中打开',    'clear' => '清除',    'from.date' => 'From date',    'to.date' => 'To date',    'uninstall.title' => 'Uninstallation',    'uninstall.success' => 'The application has been uninstalled successfully and the database tables were removed. The database itself, however, still exists (you might want to remove it manually, if needed).',    'admin.panel' => 'Admin panel',    'uninstall.intro' => "This is the uninstallation page. If you no longer wish to use the application, continue by
                clicking the <i>Uninstall</i> button.

                <br><br>

                Uninstalling means that operator accounts, messages history and canned messages will be removed. The administrator account,
                however, will remain available and you can sign in again later. Database tables will be removed, but the database
                itself will still exist (you might want to remove it manually, if needed).

                <br><br>

                <strong>
                    After uninstallation process is done, all application's data (operator accounts, messages history, canned messages) will be lost.
                    If necessary, before uninstalling, you can backup application database tables using your favorite database administration tool (e. g. <i>phpMyAdmin</i>).
                </strong>",    'uninstall.err' => 'Something went wrong during the uninstallation. Error message returned from the database was:',    'widget.test' => 'Widget test',    'install.title' => 'Configuration',    'install.intro' => "Welcome to %app%. Before getting started, application needs to be configured to
                play along with your database server. You will need the following information during
                installation (if you don't know those items, you can get them from your web hosting company):

                <br><br>

                1. Database host <br>
                2. Database port number (only if other than the default one) <br>
                3. Database name <br>
                4. Database username <br>
                5. Database password

                <br><br>

                <strong>
                    If the given database doesn't exist yet, the installation wizard will try to automatically create it
                    for you. On some servers, however, this attempt will fail. Don't worry, though — just create the database
                    manually using your favorite database administration tool (e. g. <i>phpMyAdmin</i>) and come back to this page
                    after it is done.
                </strong>",    'lets.go' => "Let's go!",    'wizard.2.title' => 'Installation',    'wizard.2.intro' => 'Please check if the given settings are correct and click <i>Install</i>.',    'db.settings' => 'Database settings',    'host' => 'Host',    'port' => 'Port',    'db.name' => 'Database name',    'smtp' => 'SMTP',    'use.smtp' => 'Use SMTP',    'encryption' => 'Encryption',    'hosts' => 'Host(s)',    'hosts.i' => 'Host(s), separate with ;',    'admin.acc.settings' => 'Administrator account settings',    'other.settings' => 'Other settings',    'back' => 'Back',    'wizard.verify.intro' => 'Before proceeding with the installation, please fill the following form with your purchase code. You can find your purchase code by following the instructions here:',    'verify.find.code' => 'Where Is My Purchase Code',    'verify.info' => 'Installation data',    'connection.error' => 'Connection error',    'invalid.code.format' => 'Code format is incorrect',    'invalid.purchase' => 'Code is invalid or belongs to other item',    'install.not.verified' => 'Installation not verified',    'purchase.code' => 'Purchase code',    'purchase.code.original' => 'Purchase code (original)',    'purchase.code.upgrade' => 'Purchase code (upgrade)',    'wizard.3.title' => 'Installation completed',    'wizard.3.success' => 'Installation has been completed successfully! You can now follow to the administration panel.',    'wizard.intro' => "The following settings are the base configuration of the whole application.
    They are used to communicate with your database and define administrator user's account.
    Please fill the forms and continue by clicking <i>Save</i>.

    <br><br>

    <strong>
        If the given database doesn't exist yet, the installation wizard will try to automatically create it
        for you. On some servers, however, this attempt will fail. Don't worry, though — just create the database
        manually using your favourite database administration tool (e.g. <i>phpMyAdmin</i>) and come back to this page
        after it is done.

        <br><br>

        If you already installed the application and just want to change some of the settings, feel
        free to update the values and click <i>Save</i> (existing database will stay safe and untouched).
    </strong>",    'wizard.input.err' => 'Your input data seems to be invalid, please check the error messages below and update the form.',    'wizard.files.err' => 'The application requires some of the files to be writable by PHP. The following are currently not writable:',    'wizard.files.err.2' => 'Please update those files/directories permissions making them writable and come back after it is done.',    'wizard.ext.err' => 'The application requires some PHP extensions to be available. The following extensions are currently missing:',    'wizard.ext.err.2' => "Please enable mentioned extensions and come back after it is done
        <br>
        (if you don't know how to do this, please contact your web hosting company).",    'wizard.err.db' => "The application couldn't connect to the given database.<br>
        Please double check all of the values in the <i>Database settings</i> section and make sure your database is running.",    'wizard.err.db.2' => "Attempt to create database and tables failed.<br>
        Please double check all of the values in the <i>Database settings</i> section.

        <br><br>

        If your database — %dbName% — doesn't exist yet, please create it
        manually using your favorite database administration tool (e. g. <i>phpMyAdmin</i>) and come back after it is done.

        <br><br>

        Internal error message was: %message%",    'smtp.intro' => 'This section allows you to use external SMTP server for sending emails. You can leave SMTP settings untouched to use the default email server.',    'pass.repeat' => 'Password repeat',    'value.blank' => 'Value is blank',    'value.not.num' => 'Value is not a number',    'value.not.mail' => 'Value is not a valid e-mail',    'value.too.short' => 'Value is too short',    'value.n.in.range' => 'Value is outside the allowed range',    'values.not.match' => 'Values do not match',    'value.invalid' => 'Value is not valid',    'db.invalid' => 'Database structure is invalid',    'db.exception' => 'Database exception: %msg%',    'db.tables.invalid' => 'Invalid table structure, actual tables: %actual% expected tables: %expected%',    'guest.watching' => '游客正在浏览',    'unknown' => 'unknown',    'invite.user' => '邀请用户',    'leave.talk' => '离开谈话',    'canned' => 'Canned',    'confirm.install' => 'Confirm to install the application',    'installation.invalid' => "Installation seems to be invalid.
                <br><br>
                It's possible that configuration settings are incorrect or there is a problem with your database.
                <br><br>
                Please double check application's settings.",    'delete.user.q' => 'Are you sure you want to permanently delete this user?',    'bottom.right.c' => 'Bottom right corner',    'inline' => 'Inline',    'no.entries' => 'No entries',    'select.all' => 'Select all',    'select.none' => 'Select none',    'close.talk.msg' => "You are currently the owner of this talk. You need to transfer it to another
                <br>
                operator if it should still continue. Otherwise, you can close the talk.
                <br><br>
                Select operator to get the talk:",    'talk' => 'Talk',    'user.alrdy.in.t' => 'User is already in the talk',    'talk.not.exist' => 'Talk does not exist',    'user.not.exist' => 'User does not exist',    'cant.leave.unhandled.t' => "Can't leave a talk that is not handled by anyone",    'only.t.owner.can.close' => "Only talk's owner can close it",    'only.t.owner.can.transfer' => "Only talk's owner can transfer it",    'curr.pass.incorrect' => 'Password: Current password is incorrect',    'user.not.found' => 'User not found',    'couldnt.save.user' => "Couldn't save the user",    'display.more' => 'Display more',    'id' => '用户ID',    'ip' => '用户IP',    'show.on.map' => '在地图上显示',    'map.no.api.key.info' => 'Enter your Google Maps API key in the "Settings" tab and refresh the page.',    'url' => '网址',    'browser' => '浏览器',    'system' => '系统',    'country' => '国家',    'region' => '省份',    'city' => '城市',    'zip.code' => '邮编',    'time.zone' => '时区',    'local.time' => '本地时间',    'latitude' => '纬度',    'longitude' => '经度',    'contact.form.mail' => 'Contact form e-mail',    'sent.from.page' => 'Sent from page',    'author.name' => "Author's name",    'author.mail' => "Author's email",    'author.ip' => "Author's IP",    'message' => 'Message',    'contact.mail.note' => 'You can reply directly to this email to answer the question.',    'talk.transcript.mail.title' => 'Talk transcript',    'talk.transcript.info' => 'Please download the attachment, which contains the transcript of your talk.',    'talk.transcript.time' => 'Time',    'talk.transcript.filename' => 'talk-',    'route.not.found' => 'Route not found',    'route.not.found.msg' => 'The <b>/%route%</b> route was not found.',    'login.here' => 'Try to login here',    'error' => 'Error',    'sth.went.wrong.msg' => "It seems that something went wrong.
            <br><br>
            Don't worry though — here is the error message that can help you find the problem:",    'db.invalid.conn' => 'Trying to use database with an invalid connection.',    'db.error' => 'Database error',    'db.error.msg' => "The application couldn't connect to your database. Please make sure that database settings are correct.

                    <br><br>

                    <strong>
                        If your database — %dbName% — doesn't exist yet, please create it
                        manually using your favorite database administration tool (e. g. <i>phpMyAdmin</i>) and come back after it is done.
                    </strong>

                    <br><br>

                    Error message returned from the database was:",    'sign.as.admin' => 'Sign in as administrator and correct your database settings',    'uninstall.error' => 'There was an error during the uninstallation',    'other.error' => 'Other error',    'admin.update.error' => 'Error updating admin user',    'error.saving.file' => 'There was an error saving the file',    'form.error' => 'Form error',    'remove.msg' => '删除 "%message%"',    'remove.msg.q' => '您确定要永久删除此消息吗?',    'new.talk' => '新建聊天',    'cant.chat.w.self' => "你不能和自己聊天",    'select.msg' => '选择消息',    'select.operator' => '选择客服',    'invitation' => '邀请',    'leave.talk.q' => '你确定要离开聊天吗?',    'leave.talk.confirm' => '是的',    'transfer.n.leave' => '移交并离开',    'end.talk' => '结束聊天',    'transfer' => '移交',    'leave' => '离开',    'remove.dep' => '删除 "%department%"',    'remove.dep.q' => '你确定要永久删除这个部门吗??',    'clear.history.err' => '清除历史记录时出错',    'history.cleared' => '历史记录被清除',    'clear.logs' => '清除日志',    'clear.logs.q' => '你确定要清除所有的日志吗??',    'logs.cleared' => '全部日志已经被清除',    'clear.logs.err' => '清除日志时出错',    'widget.embd.code' => '小部件嵌入代码',    'uploading' => '正在上传',    'uploading.image' => '正在上传图片请稍等...',    'avatar.uploaded' => '头像已上传',    'uploaded.success' => '上传成功',    'remove.user' => '删除 "%user%"',    'remove.user.q' => '你确定要永久删除此用户吗??',    'select.avatar' => '选择头像',    'reset.settings' => '恢复设置',    'reset.settings.q' => '你确定恢复默认设置吗?',    'reset' => '恢复',    'alert' => '提醒',    'v.cant.be.empty' => '值不能为空',    'pass.have.to.match' => '密码必须一致',    'enter.valid.mail' => '输入有效的电子邮件地址',    'pass.need.6.chars' => '密码至少需要6个字符',    'close' => '关闭',    'language' => '语言',    'default.language' => '默认语言',    'empty.mail.placeholder' => 'no@e.mail',    // System messages

    'sm.closed.talk' => '%user% 关闭了聊天系统',    'sm.user.closed.chat' => '用户关闭了聊天系统',    'sm.now.talk.owner' => '%user% is now the owner of this talk',    'sm.user.invited' => '%name% (%mail%) has been invited to the talk',    'sm.user.left' => '%name% (%mail%) 离开聊天系统');?>


广告位
最新回复 (15)
  • shoeslooks 2018-1-24
    0 引用 2

    1

  • setter 2018-1-24
    0 引用 3

    thank you for sharing

  • eptimul 2018-2-7
    0 引用 4

    Thank's.Nice Share...

  • cruna 2018-2-7
    0 引用 5

    Gracias por compartir

  • asg 2018-2-7
    0 引用 6

    zhici

  • soebono 2018-3-6
    0 引用 7
    thank  you
  • tomdz 2018-3-20
    0 引用 8

    tanks gor sahring

  • qtview 2018-3-24
    0 引用 9
    thank  you  for  sharing
  • beytoos 2018-4-20
    0 引用 10
    oowowwwwwww
  • 280913284 2018-5-1
    0 引用 11

    正在找这个, 需要这个做网站客服呢

  • qaz321 2018-5-13
    0 引用 12

    如果两个34 

  • thanhduongdj 2018-5-28
    0 引用 13

    thank you

  • hercules58 8天前
    0 引用 14

    ok muestrame 

  • lesliehuang 4天前
    0 引用 15

    谢谢


  • lesliehuang 3天前
    0 引用 16


    开奖网重庆时时彩北京pk10  这个平台比较好玩,介绍给大家 试试看


返回
广告位