[2019-02-01 11:13:48] (ERROR in xPDO::getService @ /modx-core/xpdo/xpdo.class.php : 1234) modRestClient::__construct is deprecated since version 2.3.0. Use the modRest classes instead. [2019-02-01 11:13:48] (ERROR in modRestCurlClient::__construct @ /modx-core/model/modx/rest/modrestcurlclient.class.php : 26) modRestClient::__construct is deprecated since version 2.3.0. Use the modRest classes instead.
grep -snR 'modRestClient' modx/ site/ | grep -v error.log
grep -snR 'modRestClient' site/ | grep -v error.log
components/quip/model/stopforumspam/stopforumspam.class.php:71: * @return modRestClient/boolean components/quip/model/stopforumspam/stopforumspam.class.php:75: $this->modx->getService('rest','rest.modRestClient'); docs/changelog.txt:2019:- Fixed missing options array call in modRestClient, isArray call in modRestCurlClient docs/changelog.txt:2200:- Cleaned up and better abstracted modRestClient and modRestCurlClient code model/modx/rest/modrestsockclient.class.php:19:class modRestSockClient extends modRestClient { model/modx/rest/modrestsockclient.class.php:21: * Extends modRestClient::request to provide socket-specific request model/modx/rest/modrestsockclient.class.php:38: $purl['path'] = !empty($purl['path']) ? $purl['path'] : $this->config[modRestClient::OPT_PATH]; model/modx/rest/modrestsockclient.class.php:39: $purl['port'] = !empty($purl['port']) ? $purl['port'] : $this->config[modRestClient::OPT_PORT]; model/modx/rest/modrestsockclient.class.php:53: ."User-Agent: ".$this->config[modRestClient::OPT_USERAGENT]."\r\n" model/modx/rest/modrestcurlclient.class.php:20:class modRestCurlClient extends modRestClient { model/modx/rest/modrestcurlclient.class.php:31: * Extends modRestClient::request to provide cURL specific request handling model/modx/rest/modrestcurlclient.class.php:70: * @see modRestClient::request for parameter documentation. model/modx/rest/modrestcurlclient.class.php:124: curl_setopt($ch, CURLOPT_TIMEOUT, !empty($options['curlopt_timeout']) ? $options['curlopt_timeout'] : $this->config[modRestClient::OPT_TIMEOUT]); model/modx/rest/modrestcurlclient.class.php:128: curl_setopt($ch, CURLOPT_USERAGENT, !empty($options['curlopt_useragent']) ? $options['curlopt_useragent'] : $this->config[modRestClient::OPT_USERAGENT]); model/modx/rest/modrestcurlclient.class.php:159: if (!empty($options[modRestClient::OPT_USERPWD])) { model/modx/rest/modrestcurlclient.class.php:160: $options[modRestClient::OPT_AUTHTYPE] = $this->modx->getOption(modRestClient::OPT_AUTHTYPE,$options,'BASIC'); model/modx/rest/modrestcurlclient.class.php:161: switch ($options[modRestClient::OPT_AUTHTYPE]) { model/modx/rest/modrestcurlclient.class.php:169: $auth = curl_setopt($ch, CURLOPT_USERPWD, !empty($options[modRestClient::OPT_USERPWD]) ? $options[modRestClient::OPT_USERPWD] : 'username:password'); model/modx/rest/modrestclient.class.php:19:class modRestClient { model/modx/rest/modrestclient.class.php:60: * @var modRestClient $conn The client connection instance to use. model/modx/rest/modrestclient.class.php:82: * The constructor for the modRestClient class. Assigns a modX instance model/modx/rest/modrestclient.class.php:87: * @return modRestClient model/modx/rest/modrestclient.class.php:92: modRestClient::OPT_PORT => 80, model/modx/rest/modrestclient.class.php:93: modRestClient::OPT_TIMEOUT => 30, model/modx/rest/modrestclient.class.php:94: modRestClient::OPT_PATH => '/', model/modx/rest/modrestclient.class.php:95: modRestClient::OPT_USERAGENT => "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)" model/modx/rest/modrestclient.class.php:141: $responseClass = $this->modx->getOption(modRestClient::OPT_RESPONSE_CLASS,$this->config,'modRestResponse'); model/modx/rest/modrestclient.class.php:214: * @param modRestClient &$client A reference to the modRestClient instance. model/modx/rest/modrestclient.class.php:219: function __construct(modRestClient &$client, $response, $responseType = 'xml') { model/modx/transport/modtransportprovider.class.php:14: * @uses modRestClient This REST implementation is used to communicate with a model/modx/transport/modtransportprovider.class.php:327: /** @var modRestClient $rest */ model/modx/transport/modtransportprovider.class.php:328: $rest = $this->xpdo->getService('rest','rest.modRestClient'); model/modx/transport/modtransportprovider.class.php:413: * @return modRestClient|bool A REST client instance, or FALSE. model/modx/transport/modtransportprovider.class.php:417: $this->xpdo->getService('rest','rest.modRestClient'); model/modx/modx.class.php:214: * @var modRestClient $rest
My advice is to turn off the log_deprecated System Setting until MODX 2.7.1 is released.
That said, it's taking a very long time to show up. I found this on the modx.com blog: "In 2013 we will release MODX 3.0." I also found a discussion in 2017 about how long it was taking. I don't know how close it is to being released, but I know there's a lot of MODX3 activity on Slack and GitHub.
I'm disappointed that, as far as I can tell, certain issues will still be there in MODX3. Here are a few of them (take these with a grain of salt -- I could be wrong about any of them and not everyone would agree that they're issues):
It's also a concern that some critical and expected extras like the ones available for WordPress have not shown up (e.g., complete and widely used turnkey solutions for blogging, calendars, photo galleries, e-commerce, threaded forums, etc.).
This actually triggered my alert for this post; I know a turn key gallery and e-commerce solution or two wink