问题标签 [whmcs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
273 浏览

mysql - 跨三个表内部连接的 MySQL 搜索

我在 MySQL 数据库中有以下三个表,其结构如下:

tblinvoices

用户名 | 编号 | 税率 | 日期

tblinvoiceitems

用户名 | 重

tblcustomfield 值

回复 | 价值 | 字段ID

我想要做的是找到在特定日期范围内并且税率为 0 且 fieldid 为 5 且值包含字母的所有发票编号 (tblinvoices.id)。

这就是我使用代码尝试实现这一目标的程度,不幸的是它不起作用,我不明白为什么。我知道这相当复杂,所以任何建议都将不胜感激,我不确定我的方法是否正确。

简化但仍然不正确的结果:

0 投票
1 回答
1661 浏览

php - whmcs 为每个客户端选择两个自定义字段值 php mysql

我正在尝试从客户端表中选择一些用户数据,并从另一个表中选择一些自定义字段值。我的问题似乎是循环遍历结果。我不断在每个自定义值字段中获取重复的客户端行。

这是从不同的表中获取客户端地址详细信息和每个客户端的正确值的 SQL 查询tblcustomfieldvalues

我的问题是如何从tblcustomfieldsvalues每个客户端和tblclients地址等获取两行值。

我尝试拆分查询并使用 while 和 forech 循环,但不断从客户端表中获取重复值。或每个客户只有一个自定义字段值。

0 投票
0 回答
215 浏览

facebook-php-sdk - 随时发布到页面(离线访问)

我正在尝试制作一个集成到 WHMCS 中的应用程序,该应用程序将允许管理员设置将在特定时间放置在其 FB 页面墙上的帖子。

我正在使用一段代码,可以让我发布到页面上,但是当尝试从 CLI(Shell)运行 PHP 脚本时:

我收到以下消息:

请检查 Facebook API 设置,OAuthException: (#803) 您请求的某些别名不存在:0

有人可以告诉我这条消息的含义以及我如何使它工作。

此外,如果我有一段时间没有从 Web 界面访问该应用程序,则会显示以下消息:

例外:102:需要参数 uid 或会话密钥

然后该页面上会出现一个弹出窗口并刷新,该消息不再存在(直到我稍后回来)

能得到尽可能多的帮助会很棒。

丹尼尔柯林斯。

0 投票
1 回答
1861 浏览

php - PHPMyAdmin 的 HTML 登录表单

我目前正在为我们的计费软件编写一个 php 模块,这将使我们能够轻松地创建/终止/等。为我们的客户提供数据库作为一项免费服务。模块模板支持创建快速登录按钮,示例代码使用 HTML 表单发布数据。

PHPMyAdmin 可以用这种方式登录吗?尚未从 Google 搜索中找到与此相关的太多内容。

0 投票
2 回答
2895 浏览

smarty - 如何在 Smarty 的 WHMCS 中检测 homepage.tpl?

我目前正在编辑 WHMCS 的一个模板,它是由 Smarty 编写的。

我可以使用一些简单的东西吗

哪个主页是从homepage.tpl 加载的,意思是索引页。因为我想加载一些代码,只在主页上。谢谢。

0 投票
1 回答
434 浏览

pascal - WHMCS API addticketreply 不适用于消息

我已经尝试了所有我能想到的方法,并且无法将换行符与 WHMCS API 的 addticketreply 命令一起使用。它来自窗口的应用程序,而不是 PHP 或任何东西。简单查询字符串,所有字符都包含在第一个换行符之前。在该换行符之后,不包含任何其他消息。

我试过 urlencode 方法,不行,API 只是插入所有文本,包括编码部分哈哈,并没有取消编码。我试过用换行符代替\n<br>但WHMCS仍然只显示<br>哈哈

任何线索如何通过 API 获取完整消息,包括新行?这个文档真的很缺乏。

此外,变量 adminusername 根本不起作用!我试过全名,不,我试过用户名和用户 ID,不,仍然插入我登录的用户名来回复票证。我使用的用户是具有完全访问权限的超级管理员。

API 的查询字符串如下所示:

我应该提到我正在使用 Indy 作为 Post。其他一切正常,通过的任何其他命令都有效,甚至更新票证,更新消息。它只是不会超过第一个换行符。

编辑代码:正如我上面提到的,我确实让 IdHTTP 使用 post 参数对我的文本进行编码,所以它应该可以工作,并且正如我在上面也提到的,我尝试对其进行预编码,结果是 WHMCS 不会取消-然后编码,只显示%20's和other's。既然有人问我应该提一下,我正在使用 Indy 10!所以我是最新的最新版本。

0 投票
2 回答
1964 浏览

php - WHMCS 被 {php} 和 Eval base64 代码通过票证入侵

WHMCS 使用 Smarty 作为它的模板系统,虽然一个很棒的模板系统它有一个缺陷,即{php}标签。这些标签允许 smarty 直接在模板中解释 PHP 代码,或者在这种情况下,在创建新工单时通过工单系统解释。这种 hack 一直发生在 WHMCS 系统中,您可以尝试通过配置中的阻止文本选项来阻止 WHMCS 中的代码。但大多数时候这不起作用。

发生的情况是 WHMCS 接受了票,并且黑客在票消息中添加了以下内容:

如此聪明的人看到了这个{php}部分,立即让 PHP 运行该命令。所以它首先对base64编码的PHP进行解码。这将带出一些黑客试图运行的 PHP 函数/脚本。

然后 eval 接管并实际评估 PHP 代码并在服务器端运行它。

许多黑客采用这种方式,他们运行他们知道可以在 WHMCS 中运行的代码,然后获取数据库信息并将其回显到文件中。然后他们只是通过浏览器 URL 抓取这个文件并获得他们想要的信息。

这仅适用于某些 WHMCS 安装,尽管 WHMCS 表示最新版本不允许这样做,并且在 Smarty 中禁用了 {php},有时黑客确实会找到一种方法来绕过它和eval他们的代码。

0 投票
0 回答
643 浏览

wordpress - Wordpress 和 WHMCS 集成 - 全局变量问题

在过去几天在互联网上搜索之后,我没有任何快乐。我正在尝试将WordPress(让我们说现在只是页眉和页脚)与WHMCS.

我已采用此处的方法将wp-blog-header.php(我也尝试过wp-load.phpheader.tpl包含在默认模板中的文件中WHMCS

http://codex.wordpress.org/Integrating_WordPress_with_Your_Website

很明显正在调用 WordPress,但是我收到了无穷无尽的错误,例如:

(这是导航到WHMCS客户区时收到的第一个错误。)

从我可以更详细地说明问题来看,这个问题似乎与这篇关于全局变量不起作用/在函数内部按应有的初始化的帖子相同。

http://wordpress.org/support/topic/integrating-wordpress-into-my-site-global-blues-and-many-non-objects

有其他集成方法,例如使用 html/css,但我想专门包含 WordPress 以利用其其他功能/小部件等。

另一种选择是使用 WHMCS WordPress 桥之一,但出于各种原因,包括安全漏洞和更新依赖项,我特别希望避免使用 3rd 方脚本将 WHMCS 包含在 WordPress 中。

我很欣赏这是一个非常小众的问题,但是关于为什么全局变量不起作用的一般建议?谢谢。

0 投票
3 回答
4559 浏览

php - 在 PHP 中计算到期日

我的一位同事最近在我们的计费系统中安装了一个开源脚本。目的是当客户的服务被延迟支付时,重新计算服务的下一个到期日。例如,服务于 2012 年 11 月 20 日到期,第二天暂停,然后他们在 2012 年 11 月 25 日付款。该脚本本应将下一个到期日期更新为 2012 年 12 月 25 日,但由于某种原因,该脚本出现故障并更改(每月)应为 2012 年 12 月 25 日至 2013 年 1 月 25 日的日期。

我认为问题在于处理 $month 变量的方式,但不能完全弄清楚问题出在哪里。

0 投票
2 回答
4895 浏览

php - 打开没有重定向的 PHP 页面?

我一直在为我们的计费系统编写一个模块,它工作得很好。不幸的是,API 缺少我需要立即终止服务的功能,这让我只能选择直接调用 URL...

http://www.website.com/billing/admin/clientsservices.php?userid=69264&id=68405&modop=terminate

由于模块需要在不重定向到该 URL 的情况下继续运行,我如何从我的 PHP 脚本中执行它?