FLO-appStore/apps/Aterna-Love/outfile
sairajzero bf43539e3d update
2018-08-19 22:06:29 +05:30

505 lines
22 KiB
Plaintext

<?
// metacoin 2014
// floexplorer.php
// run this file in a cron or the provided shell script (or your own method) to constantly update the database
DEFINE('SECURITY', 1);
require ('florincoin-explorer/class/florin_rpc.php');
require ('include2/db.inc.php');
$r = new florin_RPC_client('florincoin-explorer/setup/setup.php', 1);
$setup = array('DB_HOST'=>'', 'DB_PORT'=>'', 'DB_NAME'=>'', 'DB_USER'=>'', 'DB_PASS'=>'');
$block_parser_dbinfo = array('DB_HOST'=>'', 'DB_PORT'=>'', 'DB_NAME'=>'', 'DB_USER'=>'', 'DB_PASS'=>'');
$lovedbh = get_dbh($setup);
$block_parser = get_dbh($block_parser_dbinfo);
$ADDRESS = 'F7To9UR9qvnj8QDQ1EPxtSzfSogREmn7HC';
$ACCOUNT = '';
$CONFIRMS = 0;
//$florin_rpc = new florin_RPC_client('setup/setup.php', 1);
//$block_parser = new block_parser($florin_rpc, 'setup/setup.php', isset($options['debug']), $options['a']);
$startTime = microtime(true);
/* BEGIN */
check_new_email_user($lovedbh);
check_if_we_sent_email();
check_user_validation($lovedbh, $r, $ADDRESS, $ACCOUNT, $CONFIRMS);
check_block_confirms($lovedbh, $r, $block_parser);
check_transaction_age();
/* END */
$endTime = microtime(true);
$elapsed = $endTime - $startTime;
//echo "%%%%% Execution time : $elapsed seconds %%%%%\r\n\r\n";
function check_new_email_user($dbh) {
// checks to see if there is a new email submission, in which case a mail is sent out to that user with the token
// this function also checks if any users exist with mailsent = 0, which is the flag to re-send an email
$q = $dbh->query("select id, token from love where verified = 0 and done = 0 and mailsent = 0 and confirmed = 0");
$r = $q->fetchAll(PDO::FETCH_NUM);
if (!$r) {}
else {
foreach ($r as $thing) {
echo "!! found a new user who has filled in the form: " . $thing[0] . ") " . $thing[1] . "\n";
echo "~~ update love set verified = 1 where id = " . $thing[0] . "\n";
$q = $dbh->query("update love set verified = 1 where id = " . $thing[0]);
echo "~~ insert into tx (loveid) values (" . $thing[0] . ")\n";
$q = $dbh->query("insert into tx (loveid) values (" . $thing[0] . ")");
}
}
}
function check_if_we_sent_email() {
// check our mail API to see if we actually sent an email out or not. resend if we didn't
}
function check_user_validation($dbh, $r, $ADDRESS, $ACCOUNT, $CONFIRMS) {
// find a list of userinfo for users who aren't "done" with this process (They have not been given a txid yet)
$q = $dbh->query("select tx.txid, B.id, B.email, B.remail, B.name, B.rname, B.message from tx join (select id, email, remail, name, rname, message from love where verified = 1 and done = 0) as B where B.id = tx.loveid and tx.txid is null");
$z = $q->fetchAll(PDO::FETCH_NUM);
foreach ($z as $userinfo) {
$txcomment = "t1:ALOVE>" . $userinfo[6] . "|" . $userinfo[5] . "|" . $userinfo[4];
echo "~~~~~ found a new user who has verified their email: " . $userinfo[1] . ") " . $userinfo[2] . "->" . $userinfo[3] . " " . $txcomment . "\n";
$txid = check_available_transaction($r, $ACCOUNT, $ADDRESS, $CONFIRMS);
if (!$txid) {exit("***** FATAL ERROR: No transaction available to write to blockchain.\n");}
$newtxid = write_transaction_with_message($txid, $txcomment, $r, $ADDRESS);
if (!$newtxid) {exit("***** FATAL ERROR: couldn't write transaction to blockchain. $txid.\n");}
if (!$dbh->query("update love set done = 1, txid = '$newtxid' where id = " . ((int)$userinfo[1]))) {exit("***** FATAL ERROR: couldn't update love done = 1 on $txid\n");}
if (!$dbh->query("update tx set txid = '$newtxid' where loveid = " . ((int)$userinfo[1]))) {exit("***** FATAL ERROR: couldn't update tx txid = $txid\n");}
/*
$q2 = $dbh->prepare("update love set txcomment = ? where id = " . ((int)$userinfo[1]));
$q2->bindValue(1, $txcomment, strlen($txcomment), PDO::PARAM_STR);
if ($q2->execute()) {}
else exit("***** FATAL ERROR: couldn't update love done = 1 on $txid\n");}
*/
}
// find all transactions where users have validated their email but haven't been given a txid yet
//$q = ("select txid from tx join (select id from love where verified = 1 and done = 0) as B where B.id = tx.loveid");
}
function check_transaction_age() {
// checks transaction age to see when the transaction request was created. if it's older than a certain age, we must create the transaction again
// *** ONLY IF IT ISN'T IN THE MEMPOOL
}
function check_block_confirms($ldbh, $r, $dbh) {
//
$q = $ldbh->query("select txid, id from love where confirmed = 0 and verified = 1");
if ($q) { $z = $q->fetchAll(PDO::FETCH_NUM); }
foreach ($z as $userinfo) {
$confirmed = check_tx_confirms_rpc($dbh, $r, $userinfo[0]);
if ($confirmed) {
$ldbh->query("update love set confirmed = 1 where id = " . (int)$userinfo[1]);
echo "~~ " . $userinfo[0] . " is now confirmed with 5 confirms.\n";
}
}
$q2 = $ldbh->query("select id, email, txid, email, remail, name, rname, message from love where confirmed = 1 and verified = 1 and done = 1");
if ($q2) {
$z2 = $q2->fetchAll(PDO::FETCH_ASSOC);
foreach ($z2 as $userinfo2) {
//echo $userinfo2[0] . " (" . $userinfo2[2] . ") confirmed and email is ready to be sent\n";
send_final_email($userinfo2);
}
}
}
?>
<?
// metacoin 2014
// floexplorer.php
// run this file in a cron or the provided shell script (or your own method) to constantly update the database
DEFINE('SECURITY', 1);
require ('florincoin-explorer/class/florin_rpc.php');
require ('include2/db.inc.php');
$r = new florin_RPC_client('florincoin-explorer/setup/setup.php', 1);
$setup = array('DB_HOST'=>'', 'DB_PORT'=>'', 'DB_NAME'=>'', 'DB_USER'=>'', 'DB_PASS'=>'');
$block_parser_dbinfo = array('DB_HOST'=>'', 'DB_PORT'=>'', 'DB_NAME'=>'', 'DB_USER'=>'', 'DB_PASS'=>'');
$lovedbh = get_dbh($setup);
$block_parser = get_dbh($block_parser_dbinfo);
$ADDRESS = 'F7To9UR9qvnj8QDQ1EPxtSzfSogREmn7HC';
$ACCOUNT = '';
$CONFIRMS = 0;
//$florin_rpc = new florin_RPC_client('setup/setup.php', 1);
//$block_parser = new block_parser($florin_rpc, 'setup/setup.php', isset($options['debug']), $options['a']);
$startTime = microtime(true);
/* BEGIN */
check_new_email_user($lovedbh);
check_if_we_sent_email();
check_user_validation($lovedbh, $r, $ADDRESS, $ACCOUNT, $CONFIRMS);
check_block_confirms($lovedbh, $r, $block_parser);
check_transaction_age();
/* END */
$endTime = microtime(true);
$elapsed = $endTime - $startTime;
//echo "%%%%% Execution time : $elapsed seconds %%%%%\r\n\r\n";
function check_new_email_user($dbh) {
// checks to see if there is a new email submission, in which case a mail is sent out to that user with the token
// this function also checks if any users exist with mailsent = 0, which is the flag to re-send an email
$q = $dbh->query("select id, token from love where verified = 0 and done = 0 and mailsent = 0 and confirmed = 0");
$r = $q->fetchAll(PDO::FETCH_NUM);
if (!$r) {}
else {
foreach ($r as $thing) {
echo "!! found a new user who has filled in the form: " . $thing[0] . ") " . $thing[1] . "\n";
echo "~~ update love set verified = 1 where id = " . $thing[0] . "\n";
$q = $dbh->query("update love set verified = 1 where id = " . $thing[0]);
echo "~~ insert into tx (loveid) values (" . $thing[0] . ")\n";
$q = $dbh->query("insert into tx (loveid) values (" . $thing[0] . ")");
}
}
}
function check_if_we_sent_email() {
// check our mail API to see if we actually sent an email out or not. resend if we didn't
}
function check_user_validation($dbh, $r, $ADDRESS, $ACCOUNT, $CONFIRMS) {
// find a list of userinfo for users who aren't "done" with this process (They have not been given a txid yet)
$q = $dbh->query("select tx.txid, B.id, B.email, B.remail, B.name, B.rname, B.message from tx join (select id, email, remail, name, rname, message from love where verified = 1 and done = 0) as B where B.id = tx.loveid and tx.txid is null");
$z = $q->fetchAll(PDO::FETCH_NUM);
foreach ($z as $userinfo) {
$txcomment = "t1:ALOVE>" . $userinfo[6] . "|" . $userinfo[5] . "|" . $userinfo[4];
echo "~~~~~ found a new user who has verified their email: " . $userinfo[1] . ") " . $userinfo[2] . "->" . $userinfo[3] . " " . $txcomment . "\n";
$txid = check_available_transaction($r, $ACCOUNT, $ADDRESS, $CONFIRMS);
if (!$txid) {exit("***** FATAL ERROR: No transaction available to write to blockchain.\n");}
$newtxid = write_transaction_with_message($txid, $txcomment, $r, $ADDRESS);
if (!$newtxid) {exit("***** FATAL ERROR: couldn't write transaction to blockchain. $txid.\n");}
if (!$dbh->query("update love set done = 1, txid = '$newtxid' where id = " . ((int)$userinfo[1]))) {exit("***** FATAL ERROR: couldn't update love done = 1 on $txid\n");}
if (!$dbh->query("update tx set txid = '$newtxid' where loveid = " . ((int)$userinfo[1]))) {exit("***** FATAL ERROR: couldn't update tx txid = $txid\n");}
/*
$q2 = $dbh->prepare("update love set txcomment = ? where id = " . ((int)$userinfo[1]));
$q2->bindValue(1, $txcomment, strlen($txcomment), PDO::PARAM_STR);
if ($q2->execute()) {}
else exit("***** FATAL ERROR: couldn't update love done = 1 on $txid\n");}
*/
}
// find all transactions where users have validated their email but haven't been given a txid yet
//$q = ("select txid from tx join (select id from love where verified = 1 and done = 0) as B where B.id = tx.loveid");
}
function check_transaction_age() {
// checks transaction age to see when the transaction request was created. if it's older than a certain age, we must create the transaction again
// *** ONLY IF IT ISN'T IN THE MEMPOOL
}
function check_block_confirms($ldbh, $r, $dbh) {
//
$q = $ldbh->query("select txid, id from love where confirmed = 0 and verified = 1");
if ($q) { $z = $q->fetchAll(PDO::FETCH_NUM); }
foreach ($z as $userinfo) {
$confirmed = check_tx_confirms_rpc($dbh, $r, $userinfo[0]);
if ($confirmed) {
$ldbh->query("update love set confirmed = 1 where id = " . (int)$userinfo[1]);
echo "~~ " . $userinfo[0] . " is now confirmed with 5 confirms.\n";
}
}
$q2 = $ldbh->query("select id, email, txid, email, remail, name, rname, message from love where confirmed = 1 and verified = 1 and done = 1");
if ($q2) {
$z2 = $q2->fetchAll(PDO::FETCH_ASSOC);
foreach ($z2 as $userinfo2) {
//echo $userinfo2[0] . " (" . $userinfo2[2] . ") confirmed and email is ready to be sent\n";
send_final_email($userinfo2);
}
}
}
?>
<?
// metacoin 2014
// floexplorer.php
// run this file in a cron or the provided shell script (or your own method) to constantly update the database
DEFINE('SECURITY', 1);
require ('florincoin-explorer/class/florin_rpc.php');
require ('include2/db.inc.php');
$r = new florin_RPC_client('florincoin-explorer/setup/setup.php', 1);
$setup = array('DB_HOST'=>'', 'DB_PORT'=>'', 'DB_NAME'=>'', 'DB_USER'=>'', 'DB_PASS'=>'');
$block_parser_dbinfo = array('DB_HOST'=>'', 'DB_PORT'=>'', 'DB_NAME'=>'', 'DB_USER'=>'', 'DB_PASS'=>'');
$lovedbh = get_dbh($setup);
$block_parser = get_dbh($block_parser_dbinfo);
$ADDRESS = 'F7To9UR9qvnj8QDQ1EPxtSzfSogREmn7HC';
$ACCOUNT = '';
$CONFIRMS = 0;
//$florin_rpc = new florin_RPC_client('setup/setup.php', 1);
//$block_parser = new block_parser($florin_rpc, 'setup/setup.php', isset($options['debug']), $options['a']);
$startTime = microtime(true);
/* BEGIN */
check_new_email_user($lovedbh);
check_if_we_sent_email();
check_user_validation($lovedbh, $r, $ADDRESS, $ACCOUNT, $CONFIRMS);
check_block_confirms($lovedbh, $r, $block_parser);
check_transaction_age();
/* END */
$endTime = microtime(true);
$elapsed = $endTime - $startTime;
//echo "%%%%% Execution time : $elapsed seconds %%%%%\r\n\r\n";
function check_new_email_user($dbh) {
// checks to see if there is a new email submission, in which case a mail is sent out to that user with the token
// this function also checks if any users exist with mailsent = 0, which is the flag to re-send an email
$q = $dbh->query("select id, token from love where verified = 0 and done = 0 and mailsent = 0 and confirmed = 0");
$r = $q->fetchAll(PDO::FETCH_NUM);
if (!$r) {}
else {
foreach ($r as $thing) {
echo "!! found a new user who has filled in the form: " . $thing[0] . ") " . $thing[1] . "\n";
echo "~~ update love set verified = 1 where id = " . $thing[0] . "\n";
$q = $dbh->query("update love set verified = 1 where id = " . $thing[0]);
echo "~~ insert into tx (loveid) values (" . $thing[0] . ")\n";
$q = $dbh->query("insert into tx (loveid) values (" . $thing[0] . ")");
}
}
}
function check_if_we_sent_email() {
// check our mail API to see if we actually sent an email out or not. resend if we didn't
}
function check_user_validation($dbh, $r, $ADDRESS, $ACCOUNT, $CONFIRMS) {
// find a list of userinfo for users who aren't "done" with this process (They have not been given a txid yet)
$q = $dbh->query("select tx.txid, B.id, B.email, B.remail, B.name, B.rname, B.message from tx join (select id, email, remail, name, rname, message from love where verified = 1 and done = 0) as B where B.id = tx.loveid and tx.txid is null");
$z = $q->fetchAll(PDO::FETCH_NUM);
foreach ($z as $userinfo) {
$txcomment = "t1:ALOVE>" . $userinfo[6] . "|" . $userinfo[5] . "|" . $userinfo[4];
echo "~~~~~ found a new user who has verified their email: " . $userinfo[1] . ") " . $userinfo[2] . "->" . $userinfo[3] . " " . $txcomment . "\n";
$txid = check_available_transaction($r, $ACCOUNT, $ADDRESS, $CONFIRMS);
if (!$txid) {exit("***** FATAL ERROR: No transaction available to write to blockchain.\n");}
$newtxid = write_transaction_with_message($txid, $txcomment, $r, $ADDRESS);
if (!$newtxid) {exit("***** FATAL ERROR: couldn't write transaction to blockchain. $txid.\n");}
if (!$dbh->query("update love set done = 1, txid = '$newtxid' where id = " . ((int)$userinfo[1]))) {exit("***** FATAL ERROR: couldn't update love done = 1 on $txid\n");}
if (!$dbh->query("update tx set txid = '$newtxid' where loveid = " . ((int)$userinfo[1]))) {exit("***** FATAL ERROR: couldn't update tx txid = $txid\n");}
/*
$q2 = $dbh->prepare("update love set txcomment = ? where id = " . ((int)$userinfo[1]));
$q2->bindValue(1, $txcomment, strlen($txcomment), PDO::PARAM_STR);
if ($q2->execute()) {}
else exit("***** FATAL ERROR: couldn't update love done = 1 on $txid\n");}
*/
}
// find all transactions where users have validated their email but haven't been given a txid yet
//$q = ("select txid from tx join (select id from love where verified = 1 and done = 0) as B where B.id = tx.loveid");
}
function check_transaction_age() {
// checks transaction age to see when the transaction request was created. if it's older than a certain age, we must create the transaction again
// *** ONLY IF IT ISN'T IN THE MEMPOOL
}
function check_block_confirms($ldbh, $r, $dbh) {
//
$q = $ldbh->query("select txid, id from love where confirmed = 0 and verified = 1");
if ($q) { $z = $q->fetchAll(PDO::FETCH_NUM); }
foreach ($z as $userinfo) {
$confirmed = check_tx_confirms_rpc($dbh, $r, $userinfo[0]);
if ($confirmed) {
$ldbh->query("update love set confirmed = 1 where id = " . (int)$userinfo[1]);
echo "~~ " . $userinfo[0] . " is now confirmed with 5 confirms.\n";
}
}
$q2 = $ldbh->query("select id, email, txid, email, remail, name, rname, message from love where confirmed = 1 and verified = 1 and done = 1");
if ($q2) {
$z2 = $q2->fetchAll(PDO::FETCH_ASSOC);
foreach ($z2 as $userinfo2) {
//echo $userinfo2[0] . " (" . $userinfo2[2] . ") confirmed and email is ready to be sent\n";
send_final_email($userinfo2);
}
}
}
?>
<?
// metacoin 2014
// floexplorer.php
// run this file in a cron or the provided shell script (or your own method) to constantly update the database
DEFINE('SECURITY', 1);
require ('florincoin-explorer/class/florin_rpc.php');
require ('include2/db.inc.php');
$r = new florin_RPC_client('florincoin-explorer/setup/setup.php', 1);
$setup = array('DB_HOST'=>'', 'DB_PORT'=>'', 'DB_NAME'=>'', 'DB_USER'=>'', 'DB_PASS'=>'');
$block_parser_dbinfo = array('DB_HOST'=>'', 'DB_PORT'=>'', 'DB_NAME'=>'', 'DB_USER'=>'', 'DB_PASS'=>'');
$lovedbh = get_dbh($setup);
$block_parser = get_dbh($block_parser_dbinfo);
$ADDRESS = 'F7To9UR9qvnj8QDQ1EPxtSzfSogREmn7HC';
$ACCOUNT = '';
$CONFIRMS = 0;
//$florin_rpc = new florin_RPC_client('setup/setup.php', 1);
//$block_parser = new block_parser($florin_rpc, 'setup/setup.php', isset($options['debug']), $options['a']);
$startTime = microtime(true);
/* BEGIN */
check_new_email_user($lovedbh);
check_if_we_sent_email();
check_user_validation($lovedbh, $r, $ADDRESS, $ACCOUNT, $CONFIRMS);
check_block_confirms($lovedbh, $r, $block_parser);
check_transaction_age();
/* END */
$endTime = microtime(true);
$elapsed = $endTime - $startTime;
//echo "%%%%% Execution time : $elapsed seconds %%%%%\r\n\r\n";
function check_new_email_user($dbh) {
// checks to see if there is a new email submission, in which case a mail is sent out to that user with the token
// this function also checks if any users exist with mailsent = 0, which is the flag to re-send an email
$q = $dbh->query("select id, token from love where verified = 0 and done = 0 and mailsent = 0 and confirmed = 0");
$r = $q->fetchAll(PDO::FETCH_NUM);
if (!$r) {}
else {
foreach ($r as $thing) {
echo "!! found a new user who has filled in the form: " . $thing[0] . ") " . $thing[1] . "\n";
echo "~~ update love set verified = 1 where id = " . $thing[0] . "\n";
$q = $dbh->query("update love set verified = 1 where id = " . $thing[0]);
echo "~~ insert into tx (loveid) values (" . $thing[0] . ")\n";
$q = $dbh->query("insert into tx (loveid) values (" . $thing[0] . ")");
}
}
}
function check_if_we_sent_email() {
// check our mail API to see if we actually sent an email out or not. resend if we didn't
}
function check_user_validation($dbh, $r, $ADDRESS, $ACCOUNT, $CONFIRMS) {
// find a list of userinfo for users who aren't "done" with this process (They have not been given a txid yet)
$q = $dbh->query("select tx.txid, B.id, B.email, B.remail, B.name, B.rname, B.message from tx join (select id, email, remail, name, rname, message from love where verified = 1 and done = 0) as B where B.id = tx.loveid and tx.txid is null");
$z = $q->fetchAll(PDO::FETCH_NUM);
foreach ($z as $userinfo) {
$txcomment = "t1:ALOVE>" . $userinfo[6] . "|" . $userinfo[5] . "|" . $userinfo[4];
echo "~~~~~ found a new user who has verified their email: " . $userinfo[1] . ") " . $userinfo[2] . "->" . $userinfo[3] . " " . $txcomment . "\n";
$txid = check_available_transaction($r, $ACCOUNT, $ADDRESS, $CONFIRMS);
if (!$txid) {exit("***** FATAL ERROR: No transaction available to write to blockchain.\n");}
$newtxid = write_transaction_with_message($txid, $txcomment, $r, $ADDRESS);
if (!$newtxid) {exit("***** FATAL ERROR: couldn't write transaction to blockchain. $txid.\n");}
if (!$dbh->query("update love set done = 1, txid = '$newtxid' where id = " . ((int)$userinfo[1]))) {exit("***** FATAL ERROR: couldn't update love done = 1 on $txid\n");}
if (!$dbh->query("update tx set txid = '$newtxid' where loveid = " . ((int)$userinfo[1]))) {exit("***** FATAL ERROR: couldn't update tx txid = $txid\n");}
/*
$q2 = $dbh->prepare("update love set txcomment = ? where id = " . ((int)$userinfo[1]));
$q2->bindValue(1, $txcomment, strlen($txcomment), PDO::PARAM_STR);
if ($q2->execute()) {}
else exit("***** FATAL ERROR: couldn't update love done = 1 on $txid\n");}
*/
}
// find all transactions where users have validated their email but haven't been given a txid yet
//$q = ("select txid from tx join (select id from love where verified = 1 and done = 0) as B where B.id = tx.loveid");
}
function check_transaction_age() {
// checks transaction age to see when the transaction request was created. if it's older than a certain age, we must create the transaction again
// *** ONLY IF IT ISN'T IN THE MEMPOOL
}
function check_block_confirms($ldbh, $r, $dbh) {
//
$q = $ldbh->query("select txid, id from love where confirmed = 0 and verified = 1");
if ($q) { $z = $q->fetchAll(PDO::FETCH_NUM); }
foreach ($z as $userinfo) {
$confirmed = check_tx_confirms_rpc($dbh, $r, $userinfo[0]);
if ($confirmed) {
$ldbh->query("update love set confirmed = 1 where id = " . (int)$userinfo[1]);
echo "~~ " . $userinfo[0] . " is now confirmed with 5 confirms.\n";
}
}
$q2 = $ldbh->query("select id, email, txid, email, remail, name, rname, message from love where confirmed = 1 and verified = 1 and done = 1");
if ($q2) {
$z2 = $q2->fetchAll(PDO::FETCH_ASSOC);
foreach ($z2 as $userinfo2) {
//echo $userinfo2[0] . " (" . $userinfo2[2] . ") confirmed and email is ready to be sent\n";
send_final_email($userinfo2);
}
}
}
?>
./auto-aterna-love.sh: 5: ./auto-aterna-love.sh: php: not found
./auto-aterna-love.sh: 5: ./auto-aterna-love.sh: php: not found
./auto-aterna-love.sh: 5: ./auto-aterna-love.sh: php: not found
./auto-aterna-love.sh: 5: ./auto-aterna-love.sh: php: not found
./auto-aterna-love.sh: 5: ./auto-aterna-love.sh: php: not found
./auto-aterna-love.sh: 5: ./auto-aterna-love.sh: php: not found
./auto-aterna-love.sh: 5: ./auto-aterna-love.sh: php: not found
./auto-aterna-love.sh: 5: ./auto-aterna-love.sh: php: not found