No need to write to a local file
PHP Code:
#include <amxmodx>
#include <curl>
#define CURL_BUFFER_SIZE 4096
new g_iNewVersion;
public plugin_init()
{
register_plugin("CURL Test", "1.0", "-");
IsUpgradeNeeded( 997 );
//IsUpgradeNeeded( 998 );
}
public IsUpgradeNeeded( iCurrentVersion )
{
new szCURL_url[128]
new CURL:cURLHandle
new data[8]
num_to_str( iCurrentVersion , data , charsmax( data ) );
copy(szCURL_url, charsmax(szCURL_url), "https://lexzor.warface.ro/AutoUpdate/Test/version.txt")
cURLHandle = curl_easy_init()
if(cURLHandle)
{
curl_easy_setopt(cURLHandle, CURLOPT_BUFFERSIZE, CURL_BUFFER_SIZE)
curl_easy_setopt(cURLHandle, CURLOPT_URL, szCURL_url)
curl_easy_setopt(cURLHandle, CURLOPT_WRITEDATA, data[0])
curl_easy_setopt(cURLHandle, CURLOPT_WRITEFUNCTION, "WriteFunction" )
curl_easy_perform(cURLHandle, "CurlCallback", data, sizeof(data))
}
}
public WriteFunction (data[], size, nmemb, file)
{
new actual_size = size * nmemb;
g_iNewVersion = str_to_num( data );
return actual_size
}
public CurlCallback(CURL:curl, CURLcode:code, data[])
{
if(code == CURLE_WRITE_ERROR)
{
server_print("transfer aborted")
}
else
{
server_print("curl complete")
new iCurrentVersion = str_to_num( data );
server_print( "Upgrade %s needed [Is %d > %d ?]" , ( g_iNewVersion > iCurrentVersion ) ? "is" : "not" , g_iNewVersion , iCurrentVersion );
}
curl_easy_cleanup(curl)
}
IsUpgradeNeeded( 997 );
Output:
Code:
Upgrade is needed [998 > 997]
IsUpgradeNeeded( 998 );
Output:
Code:
Upgrade not needed [Is 998 > 998 ?]
__________________