From 853b7a1c3dc329d8985b346379b2cb36f661f73b Mon Sep 17 00:00:00 2001 From: root Date: Wed, 15 Apr 2020 16:31:34 -0600 Subject: [PATCH] first commit --- README.md | 0 admin/footer.txt | 5 + admin/functions.php | 277 +++++++++++++++++++++++++++ admin/head.txt | 13 ++ admin/index.php | 278 ++++++++++++++++++++++++++++ data/.htaccess | 7 + data/.htpasswd | 1 + data/data.php | 17 ++ data/resettime | 1 + data/templates/_footer.txt | 8 + data/templates/_header.txt | 13 ++ data/templates/email_admin.txt | 9 + data/templates/email_admin_edit.txt | 9 + data/templates/email_join.txt | 8 + data/templates/error.html | 16 ++ data/templates/html.txt | 5 + data/templates/join.html | 65 +++++++ data/templates/join_success.html | 47 +++++ data/templates/member_action.html | 51 +++++ data/templates/member_edit.html | 54 ++++++ data/templates/member_html.html | 29 +++ data/templates/member_login.html | 34 ++++ data/templates/member_stats.html | 44 +++++ error_log | 11 ++ functions.php | 262 ++++++++++++++++++++++++++ images/yourtildebanner.jpg | Bin 0 -> 36137 bytes index.php | 66 +++++++ index1.php | 4 + member.php | 94 ++++++++++ robots.txt | 3 + styles.css | 129 +++++++++++++ work.old | 59 ++++++ work.php | 1 + 33 files changed, 1620 insertions(+) create mode 100644 README.md create mode 100644 admin/footer.txt create mode 100644 admin/functions.php create mode 100644 admin/head.txt create mode 100644 admin/index.php create mode 100644 data/.htaccess create mode 100644 data/.htpasswd create mode 100644 data/data.php create mode 100644 data/resettime create mode 100644 data/templates/_footer.txt create mode 100644 data/templates/_header.txt create mode 100644 data/templates/email_admin.txt create mode 100644 data/templates/email_admin_edit.txt create mode 100644 data/templates/email_join.txt create mode 100644 data/templates/error.html create mode 100644 data/templates/html.txt create mode 100644 data/templates/join.html create mode 100644 data/templates/join_success.html create mode 100644 data/templates/member_action.html create mode 100644 data/templates/member_edit.html create mode 100644 data/templates/member_html.html create mode 100644 data/templates/member_login.html create mode 100644 data/templates/member_stats.html create mode 100644 error_log create mode 100644 functions.php create mode 100644 images/yourtildebanner.jpg create mode 100644 index.php create mode 100644 index1.php create mode 100644 member.php create mode 100644 robots.txt create mode 100644 styles.css create mode 100644 work.old create mode 100644 work.php diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/admin/footer.txt b/admin/footer.txt new file mode 100644 index 0000000..e855e30 --- /dev/null +++ b/admin/footer.txt @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/admin/functions.php b/admin/functions.php new file mode 100644 index 0000000..21fc4d2 --- /dev/null +++ b/admin/functions.php @@ -0,0 +1,277 @@ +From: $s[email]
Sub: $sub
$emailtext


"; $ok = 1; + $ok = mail($value[to], $sub, $emailtext, "From: $s[email]"); + return $ok; +} +function parse_part($template, $value) { + global $s; + $template = "$s[phppath]/data/templates/$template"; + if (!is_array($value)) + $value = array(); + $value[adminemail] = $s[mail]; + $fh = fopen($template, 'r') or public_problem("Unable to read template $template"); + while (!feof($fh)) + $line .= fgets($fh, 4096); + fclose($fh); + foreach ($value as $k => $v) + $line = str_replace("#%$k%#", $v, $line); + $line = eregi_replace("#%[a-z0-9]*%#", '', strip_replace_once($line)); + return $line; +} +function dq($query, $check) { + global $s; + $q = mysql_query($query); + if (($check) AND (!$q)) + public_problem(mysql_error()); + return $q; +} +function datum($cas, $plustime) { + if (!$cas) + $cas = time(); + if ($s[ustime]) { + if ($plustime) + $x = date("Y-m-d, g:i a", $cas); + else + $x = date("Y-m-d", $cas); + } else { + if ($plustime) + $x = date("j/n/Y, G:i", $cas); + else + $x = date("j/n/Y", $cas); + } + return $x; +} +function iot($info) { + return '' . $info . '

'; +} +function eot($info, $errors) { + return '' . $info . '
' . $errors . '

'; +} +function public_problem($error) { + global $s; + $s[info] = $error; + page_from_template('error.html', $s); +} +function admin_right_frame_home() { + admin_ih(); + echo '




Welcome to the Admin Area

Please select a function from the menu on the left'; + admin_ift(); +} +function admin_log_off() { + global $s; + session_destroy(); + $s[info] = iot('You have been logged off'); + admin_login_form(0); +} +function admin_problem($error) { + admin_ih(); + echo '

ERROR

' . $error . '


'; + admin_ift(); +} +function admin_ift() { + include('./footer.txt'); + exit; +} +function admin_ih() { + include('./head.txt'); +} +function admin_check_session($data) { + global $s; + $a = file("$s[phppath]/data/.htpasswd"); + $b = split(':', trim($a[0])); + if ($data[admin_username] != $b[0]) { + session_destroy(); + $in[info] = iot('An error has occurred. Please login again.'); + admin_login_form($in); + } +} +function admin_login_data_edit($a) { + global $s; + admin_ih(); + echo $s[info] . iot('Modify Admin\'s Username/Password') . '
New username
New password
'; + admin_ift(); +} +function admin_login_data_edited($a) { + global $s; + if (($a[new_username]) AND ($a[new_password])) { + $sb = fopen("$s[phppath]/data/.htpasswd", 'w'); + $zapis = fwrite($sb, "$a[new_username]:" . MD5($a[new_password])); + fclose($sb); + chmod("$s[phppath]/data/.htpasswd", 0666); + if (!$zapis) + $s[info] = iot('Unable to write to your "data/.htpasswd" file. Make sure that the data directory has 777 permission and the .htaccess file has 666 permission.'); + $s[info] = iot('Admin username and password have been updated.
If you have modified your username, you now have to log in again.'); + } elseif (($a[new_username]) OR ($a[new_password])) + $s[info] = iot('Both fields are required'); + admin_login_data_edit($a); +} +function admin_login_form($in) { + global $s; + echo ''; + admin_ih(); + echo $s[info]; + echo '
Username
Password
'; + admin_ift(); +} +function admin_logged_in($in) { + global $s; + if ((!$in[username]) OR (!$in[password])) + admin_login_form($in); + $password = md5($in[password]); + $a = file('../data/.htpasswd'); + $b = split(':', trim($a[0])); + if (($in[username] != $b[0]) OR ($password != $b[1])) { + $s[info] = iot('Wrong username or password. Please try again.'); + admin_login_form($in); + } + $s[admin_username] = $_SESSION[admin_username] = $in['username']; + unset($_POST); + home_page(); +} +?> \ No newline at end of file diff --git a/admin/head.txt b/admin/head.txt new file mode 100644 index 0000000..9c566ab --- /dev/null +++ b/admin/head.txt @@ -0,0 +1,13 @@ + + + + + + Easy Banner + + + + +
+
+
\ No newline at end of file diff --git a/admin/index.php b/admin/index.php new file mode 100644 index 0000000..d327e5d --- /dev/null +++ b/admin/index.php @@ -0,0 +1,278 @@ + + +Easy Banner - Administration + + + + + +'; +} +######################################################################### +function left_frame() { + global $s; + admin_ih(); +?> + + + + + + +'; + while ($data = mysql_fetch_assoc($q)) { + echo ' + + + + + + '; + $xzobr = $xzobr + $data[i_m]; + $xmy = $xmy + $data[i_w]; + $xnep = $xnep + $data[i_nu]; + } + echo ' + + + + +

+
Menu
+All users
+Approved users
+Unapproved users
+Reset stats
+Configuration
+Username/pass

+Log off
+
+
UsernameURLImpressions sent
by this user
Impressions received
by this user
Impressions
unused
Joined
' . $data[username] . 'URL' . $data[i_m] . '' . $data[i_w] . '' . $data[i_nu] . '' . $data[date] . '
TOTAL' . $xzobr . '' . $xmy . '' . $xnep . ' 
'; + admin_ift(); +} +######################################################################### +function user_approved($user) { + global $s; + dq("update $s[tblname] set approved = 1 where username = '$user'", 0); + $s[info] = iot('Selected user has been approved'); + user_details($user); +} +function user_edited($data) { + global $s; + $q = dq("update $s[tblname] set siteurl = '$data[siteurl]',urlbanner = '$data[urlbanner]',email = '$data[email]',password = '$data[password]' where username = '$data[user]'", 0); + $s[info] = iot('Selected user has been edited'); + user_details($data[user]); +} +function user_deleted($user) { + global $s; + dq("delete from $s[tblname] where username = '$user'", 0); + admin_ih(); + echo iot('Selected user has been deleted'); + admin_ift(); +} +######################################################################### +function user_details($user) { + global $s; + $q = dq("select * from $s[tblname] where username = '$user'", 1); + $data = mysql_fetch_assoc($q); + if ($data[approved] == 1) + $jeschvaleny = 'approved'; + else { + $jeschvaleny = 'not approved'; + $schvalbutton = '
'; + } + if (!$data[username]) + admin_problem('Selected user does not exist'); + $cas = date("Y-m-j, H:i:s"); + admin_ih(); + echo $s[info] . 'User ' . $data[username] . '
This user is ' . $jeschvaleny . '
' . $schvalbutton . '
'; +?> + + + + +
User Details
URL$data[siteurl]"; +?>
Email$data[email]"; +?>
Password
Date joined
Banner
"; +?>
+
+ + + +
Statistic
Banners displayed by this user
Credits earned
Banners displayed for this user
Unused credits

+
+ + + + + +
Edit user details
URL
Banner URL
Email
Password
Configuration
Do not use these characters: \ $ in any of your values

+
+
+ + + + + + + + + + + + + + + +
Mysql database host
Mysql database username
Mysql database password
Name of your mysql database
Name of the table to use
Full path to the folder where this script is installed. No trailing slash.
Example: /htdocs/sites/user/html/folder_name
URL of the directory where your php scripts are installed. No trailing slash.
Example: http://www.yourdomain.com/folder_name
URL of your default banner. It is displayed only if no one account has credits.
Example: http://www.yourdomain.com/folder_name/banner.gif
Default URL. It gets surfer after clicking on your default banner.
Width of all banners
Height of all banners
Exchange ratio. How many impressions get every user for showing 100 banners.
Your email address.
'; + admin_ift(); +} +function configuration_edited($in) { + global $info; + $in[ratio] = round($in[ratio] / 100, 2); + unset($in[submit], $in[action], $in[D1]); + foreach ($in as $k => $v) { + $v = ereg_replace('"', '\"', strip_replace_once($v)); + $data .= "\$s[$k] = \"$v\";"; + } + $data = ""; + if (!$sb = fopen("$in[phppath]/data/data.php", "w")) + admin_problem('Unable to write to file "data/data.php". Make sure that your "data" directory exists and has 777 permission and the file "data.php" inside has permission 666. Cannot continue.'); + fwrite($sb, $data); + fclose($sb); + $info = iot('Your configuration has been successfully updated'); + configuration_edit(); +} +######################################################################### +function statistic_reseted() { + global $s; + dq("update $s[tblname] set i_w = 0, i_nu = 0, i_m = 0, i_earned = 0"); + $a = fopen("$s[phppath]/data/resettime", 'w'); + fwrite($a, time()); + fclose($a); + admin_ih(); + echo iot('

Statistic been reseted to zero'); + admin_ift(); +} +function statistic_reset() { + global $s; + admin_ih(); + echo iot('

This function resets all statistics to zero. Are you sure?') . '
'; + admin_ift(); +} +######################################################################### +?> \ No newline at end of file diff --git a/data/.htaccess b/data/.htaccess new file mode 100644 index 0000000..56919fc --- /dev/null +++ b/data/.htaccess @@ -0,0 +1,7 @@ +AuthName "BANNED" +AuthType Basic +AuthUserFile /dev/null +AuthGroupFile /dev/null + +require valid-user + diff --git a/data/.htpasswd b/data/.htpasswd new file mode 100644 index 0000000..2b90d23 --- /dev/null +++ b/data/.htpasswd @@ -0,0 +1 @@ +mbuchholz:46200e1dda93e87f871dd635b317aac6 \ No newline at end of file diff --git a/data/data.php b/data/data.php new file mode 100644 index 0000000..31e8cf2 --- /dev/null +++ b/data/data.php @@ -0,0 +1,17 @@ + \ No newline at end of file diff --git a/data/resettime b/data/resettime new file mode 100644 index 0000000..86db1a1 --- /dev/null +++ b/data/resettime @@ -0,0 +1 @@ +1552759006 \ No newline at end of file diff --git a/data/templates/_footer.txt b/data/templates/_footer.txt new file mode 100644 index 0000000..e0e3ddc --- /dev/null +++ b/data/templates/_footer.txt @@ -0,0 +1,8 @@ +
+
+
+
+
+ + + \ No newline at end of file diff --git a/data/templates/_header.txt b/data/templates/_header.txt new file mode 100644 index 0000000..4a6799c --- /dev/null +++ b/data/templates/_header.txt @@ -0,0 +1,13 @@ + + + + + + tildeverse banner exchange + + + + +
+
+
\ No newline at end of file diff --git a/data/templates/email_admin.txt b/data/templates/email_admin.txt new file mode 100644 index 0000000..4214c82 --- /dev/null +++ b/data/templates/email_admin.txt @@ -0,0 +1,9 @@ +Subject: Banner Exchange New Member + +An account has been added to your banner exchange. If you want review this account, you have to go to #%adminfile%# +Account name: #%username%# +Password: as user specified +URL: #%siteurl%# +Banner URL: #%urlbanner%# +Email: #%memberemail%# + diff --git a/data/templates/email_admin_edit.txt b/data/templates/email_admin_edit.txt new file mode 100644 index 0000000..51140d4 --- /dev/null +++ b/data/templates/email_admin_edit.txt @@ -0,0 +1,9 @@ +Subject: Banner Exchange Account Edited + +An account has been edited. If you want review this account, you have to go to #%adminfile%# +Account name: #%username%# +Password: as you specified +URL: #%siteurl%# +Banner URL: #%urlbanner%# +Email: #%memberemail%# + diff --git a/data/templates/email_join.txt b/data/templates/email_join.txt new file mode 100644 index 0000000..e915d07 --- /dev/null +++ b/data/templates/email_join.txt @@ -0,0 +1,8 @@ +Subject: Tildeverse Banner Account Added + +Your account has been added. If you need make any changes or see your stats, please go to #%memberfile%# +Account name: #%username%# +Password: #%password%# +URL: #%siteurl%# +Banner URL: #%urlbanner%# + diff --git a/data/templates/error.html b/data/templates/error.html new file mode 100644 index 0000000..3545829 --- /dev/null +++ b/data/templates/error.html @@ -0,0 +1,16 @@ +

tildeverse banner exchange

+
+ +Error! +

+#%info%# +
+
+
+Please email admin if you have questions. +
+
+
+ +
+
\ No newline at end of file diff --git a/data/templates/html.txt b/data/templates/html.txt new file mode 100644 index 0000000..aef2b4d --- /dev/null +++ b/data/templates/html.txt @@ -0,0 +1,5 @@ + +
+ +
+ \ No newline at end of file diff --git a/data/templates/join.html b/data/templates/join.html new file mode 100644 index 0000000..18cac2d --- /dev/null +++ b/data/templates/join.html @@ -0,0 +1,65 @@ +

tildeverse banner exchange

+
+

Sign Up Now!

+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Username + +
Password + +
Email + +
Site URL + +
Banner URL + +
The banner must measure #%width%# x #%height%# pixels.
+ +
+
+
+ +
+
+
+
+
+ +
+ +
+ \ No newline at end of file diff --git a/data/templates/join_success.html b/data/templates/join_success.html new file mode 100644 index 0000000..517e9b8 --- /dev/null +++ b/data/templates/join_success.html @@ -0,0 +1,47 @@ +

tildeverse banner exchange

+
+ +Your account has been created. Thank you! +
+You may give our code to your site and earn credits immediately.
To see statistic, update your information or get HTML code for your site, please go to our members area.
+
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + +
Username: #%username%#
Password: #%password%#
Email: #%email%#
URL: #%siteurl%#
Your banner:
#%banner%#
+ +
+

+ + + + +
+This is the banner exchange code for your page(s): +
+ +
\ No newline at end of file diff --git a/data/templates/member_action.html b/data/templates/member_action.html new file mode 100644 index 0000000..9e24c7c --- /dev/null +++ b/data/templates/member_action.html @@ -0,0 +1,51 @@ +

tildeverse banner exchange

+
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
Please select function +
+
+
+ + +
Edit account
+ + +
Statistic
+ + +
Display HTML code
+
+
+ +
+
\ No newline at end of file diff --git a/data/templates/member_edit.html b/data/templates/member_edit.html new file mode 100644 index 0000000..2d6d539 --- /dev/null +++ b/data/templates/member_edit.html @@ -0,0 +1,54 @@ +

tildeverse banner exchange

+
#%info%# + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Username #%username%#
Password + +
Email + +
Site URL + +
Banner URL + +
+ +
+
+ +
+ + + +
\ No newline at end of file diff --git a/data/templates/member_html.html b/data/templates/member_html.html new file mode 100644 index 0000000..096ea8f --- /dev/null +++ b/data/templates/member_html.html @@ -0,0 +1,29 @@ +

tildeverse banner exchange

+
+ + + + + + + +
+ + + + + +
+ Use this code to display banners on your your page(s): +
+ +
+
+ +
+ + + +
\ No newline at end of file diff --git a/data/templates/member_login.html b/data/templates/member_login.html new file mode 100644 index 0000000..6453e74 --- /dev/null +++ b/data/templates/member_login.html @@ -0,0 +1,34 @@ +

tildeverse banner exchange

+
+ +Please log in +
+
+ + + + + + + + + + + + + + + +
Username: + +
Password: + +
+ +
+
+
+
+
+ +
\ No newline at end of file diff --git a/data/templates/member_stats.html b/data/templates/member_stats.html new file mode 100644 index 0000000..6702dd9 --- /dev/null +++ b/data/templates/member_stats.html @@ -0,0 +1,44 @@ +

tildeverse banner exchange

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + +
Statistic for member #%username%# +
+
+
Banners displayed on your site: #%i_m%#
Credits earned: #%i_earned%#
Your banner have been displayed: #%i_w%# times
Unused credits: +
+
+
#%i_nu%# +
+
+
+
+
+ + + +
\ No newline at end of file diff --git a/error_log b/error_log new file mode 100644 index 0000000..adda37f --- /dev/null +++ b/error_log @@ -0,0 +1,11 @@ +[16-Mar-2019 03:41:42 UTC] PHP Fatal error: Uncaught Error: Call to undefined function ereg_replace() in /home/nxeyrdeg/public_html/banner/setup.php:119 +Stack trace: +#0 /home/nxeyrdeg/public_html/banner/setup.php(26): setup_form() +#1 {main} + thrown in /home/nxeyrdeg/public_html/banner/setup.php on line 119 +[01-Jun-2019 23:00:18 UTC] PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/bannertildeverse/public_html/functions.php:30 +Stack trace: +#0 /home/bannertildeverse/public_html/functions.php(23): db_connect() +#1 /home/bannertildeverse/public_html/work.php(23): include('/home/bannertil...') +#2 {main} + thrown in /home/bannertildeverse/public_html/functions.php on line 30 diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..3c1f3cd --- /dev/null +++ b/functions.php @@ -0,0 +1,262 @@ +From: $s[email]
Sub: $sub
$emailtext


"; $ok = 1; + $ok = mail($value[to], $sub, $emailtext, "From: $s[email]"); + return $ok; +} +function parse_part($template, $value) { + global $s; + $template = "$s[phppath]/data/templates/$template"; + if (!is_array($value)) + $value = array(); + $value[mail] = $s[email]; + $fh = fopen($template, 'r') or public_problem("Unable to read template $template"); + while (!feof($fh)) + $line .= fgets($fh, 4096); + fclose($fh); + foreach ($value as $k => $v) + $line = str_replace("#%$k%#", $v, $line); + $line = eregi_replace("#%[a-z0-9]*%#", '', strip_replace_once($line)); + return $line; +} +function dq($query, $check) { + global $s; + $q = mysql_query($query); + if (($check) AND (!$q)) + public_problem(mysql_error()); + return $q; +} +function datum($cas) { + return date("m-d-Y", $cas); +} +function iot($info) { + return '' . $info . '

'; +} +function eot($info, $errors) { + return '' . $info . '
' . $errors . '

'; +} +function public_problem($error) { + global $s; + $s[info] = $error; + page_from_template('error.html', $s); +} +function admin_right_frame_home() { + admin_ih(); + echo '




Welcome to the Admin Area

Please select a function from the menu on the left'; + admin_ift(); +} +function admin_log_off() { + global $s; + session_destroy(); + $s[info] = iot('You have been logged off'); + admin_login_form(0); +} +function admin_problem($error) { + admin_ih(); + echo '

ERROR

' . $error . '


'; + admin_ift(); +} +function admin_ift() { + include('./footer.txt'); + exit; +} +function admin_ih() { + include('./head.txt'); +} +function admin_check_session($data) { + global $s; + $a = file("$s[phppath]/data/.htpasswd"); + $b = split(':', trim($a[0])); + if ($data[admin_username] != $b[0]) { + session_destroy(); + $in[info] = iot('An error has occurred. Please login again.'); + admin_login_form($in); + } +} +function admin_login_data_edit($a) { + global $s; + admin_ih(); + echo $s[info] . iot('Modify Admin\'s Username/Password') . '
New username
New password
'; + admin_ift(); +} +function admin_login_data_edited($a) { + global $s; + if (($a[new_username]) AND ($a[new_password])) { + $sb = fopen("$s[phppath]/data/.htpasswd", 'w'); + $zapis = fwrite($sb, "$a[new_username]:" . MD5($a[new_password])); + fclose($sb); + chmod("$s[phppath]/data/.htpasswd", 0666); + if (!$zapis) + $s[info] = iot('Unable to write to your "data/.htpasswd" file. Make sure that the data directory has 777 permission and the .htaccess file has 666 permission.'); + $s[info] = iot('Admin username and password have been updated.
If you have modified your username, you now have to log in again.'); + } elseif (($a[new_username]) OR ($a[new_password])) + $s[info] = iot('Both fields are required'); + admin_login_data_edit($a); +} +function admin_login_form($in) { + global $s; + echo ''; + admin_ih(); + echo $s[info]; + echo '
Username
Password
'; + admin_ift(); +} +function admin_logged_in($in) { + global $s; + if ((!$in[username]) OR (!$in[password])) + admin_login_form($in); + $password = md5($in[password]); + $a = file('../data/.htpasswd'); + $b = split(':', trim($a[0])); + if (($in[username] != $b[0]) OR ($password != $b[1])) { + $s[info] = iot('Wrong username or password. Please try again.'); + admin_login_form($in); + } + $s[admin_username] = $_SESSION[admin_username] = $in['username']; + unset($_POST); + home_page(); +} +?> \ No newline at end of file diff --git a/images/yourtildebanner.jpg b/images/yourtildebanner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..92413fd91c2481548d527ac5dc01bd7eeeb69044 GIT binary patch literal 36137 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 literal 0 HcmV?d00001 diff --git a/index.php b/index.php new file mode 100644 index 0000000..b392461 --- /dev/null +++ b/index.php @@ -0,0 +1,66 @@ + 255) + public_problem('Email address is too long. Maximum is 255 characters.'); +if (strlen($in[siteurl]) > 255) + public_problem('URL is too long. Maximum is 255 characters.'); +if (strlen($in[urlbanner]) > 255) + public_problem('Banner URL is too long. Maximum is 255 characters.'); +if (!check_email($in[email])) + public_problem('Wrong email address. Please try again.'); +if (!eregi("https?://*", $in[siteurl])) + public_problem('Wrong URL. Please try again.'); +$q = dq("select count(*) from $s[tblname] where username = '$in[username]'", 0); +$data = mysql_fetch_row($q); +if ($data[0]) + public_problem('Entered username is already in use. Please use another.'); +eregi(".*gif$", $in[urlbanner], $hh); +eregi(".*jpg$", $in[urlbanner], $hh); +eregi(".*png$", $in[urlbanner], $hh); +if (!$hh[0]) + public_problem('Incorrect banner image format. Please try again.'); +$cas = time(); +$datum = Date('Y-m-d'); +dq("insert into $s[tblname] values('$in[username]','$in[password]','$in[email]','$in[siteurl]','$in[urlbanner]','0','0','0','$datum','$cas','0','0',NULL)", 1); +$in[number] = mysql_insert_id(); +$in[memberfile] = "$s[phpdirectory]/member.php"; +$in[to] = $in[email]; +mail_from_template('email_join.txt', $in); +$in[adminfile] = "$s[phpdirectory]/admin/"; +$in[memberemail] = $in[email]; +$in[to] = $s[email]; +mail_from_template('email_admin.txt', $in); +$s[workfile] = "$s[phpdirectory]/work.php?ID=$in[username]"; +$in[html] = parse_part('html.txt', $s); +$a[memberfile] = "$s[phpdirectory]/member.php"; +$in[banner] = ''; +page_from_template('join_success.html', $in); +?> \ No newline at end of file diff --git a/index1.php b/index1.php new file mode 100644 index 0000000..2f08864 --- /dev/null +++ b/index1.php @@ -0,0 +1,4 @@ +Coming back very soon. Working on updating the codebase to php 7.x. + +Thanks +Tildeverse Banner Network \ No newline at end of file diff --git a/member.php b/member.php new file mode 100644 index 0000000..b2c774d --- /dev/null +++ b/member.php @@ -0,0 +1,94 @@ + $v) + $_POST[$k] = htmlspecialchars(str_replace('"', '', str_replace("'", '', str_replace('"', '', str_replace(chr(92), '', $v))))); +$q = dq("select password from $s[tblname] where username = '$_POST[username]' AND password = '$_POST[password]'", 1); +$data = mysql_fetch_row($q); +if (!$data[0]) + public_problem('Wrong username or password. Please try again.'); +if (!$_POST[action]) + page_from_template('member_action.html', $_POST); +switch ($_POST[action]) { + case 'edit': + edit($_POST); + case 'edited': + edited($_POST); + case 'stats': + stats($_POST); + case 'html': + html($_POST); +} +function edit($in) { + global $s; + $q = dq("select * from $s[tblname] where username = '$in[username]'", 1); + $data = mysql_fetch_assoc($q); + $data[width] = $s[width]; + $data[height] = $s[height]; + $data[info] = $s[info]; + $data[banner] = ''; + page_from_template('member_edit.html', $data); +} +function edited($in) { + global $s; + if (!eregi("^[a-z0-9]{5,15}$", $in[newpass])) + public_problem('Incorrect password. It should contain only letters and numbers and have 5-15 characters.'); + if (strlen($in[email]) > 255) + public_problem('Email address is too long. Maximum is 255 characters.'); + if (strlen($in[siteurl]) > 255) + public_problem('URL is too long. Maximum is 255 characters.'); + if (strlen($in[urlbanner]) > 255) + public_problem('Banner URL is too long. Maximum is 255 characters.'); + if (!check_email($in[email])) + public_problem('Wrong email address. Please try again.'); + if (!eregi("https?://*", $in[siteurl])) + public_problem('Wrong URL. Please try again.'); + eregi(".*gif$", $in[urlbanner], $hh); + eregi(".*jpg$", $in[urlbanner], $hh); + eregi(".*png$", $in[urlbanner], $hh); + if (!$hh[0]) + public_problem('Incorrect banner image format. Please try again.'); + $q = dq("update $s[tblname] set password='$in[newpass]',email='$in[email]',siteurl='$in[siteurl]',urlbanner='$in[urlbanner]' where username = '$in[username]'", 1); + $in[memberemail] = $in[email]; + $in[to] = $s[email]; + $in[password] = $in[newpass]; + mail_from_template('email_admin_edit.txt', $in); + $s[info] = iot('Data has been saved'); + edit($in); +} +function stats($in) { + global $s; + $q = dq("select * from $s[tblname] where username = '$in[username]'", 1); + $data = mysql_fetch_assoc($q); + page_from_template('member_stats.html', $data); +} +function html($in) { + global $s; + $in[workfile] = "$s[phpdirectory]/work.php?ID=$in[username]"; + $in[width] = $s[width]; + $in[height] = $s[height]; + $in[html] = parse_part('html.txt', $in); + page_from_template('member_html.html', $in); +} + +?> \ No newline at end of file diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..00ee83d --- /dev/null +++ b/robots.txt @@ -0,0 +1,3 @@ +# vestacp autogenerated robots.txt +User-agent: * +Crawl-delay: 10 diff --git a/styles.css b/styles.css new file mode 100644 index 0000000..e9b7e22 --- /dev/null +++ b/styles.css @@ -0,0 +1,129 @@ +BODY { + SCROLLBAR-ARROW-COLOR: #990000; + SCROLLBAR-BASE-COLOR: #FFCC99; + background-color: #FFCC99; + margin-top: 3px; + margin-right: 0px; + margin-bottom: 3px; + margin-left: 0px; +} + +A:link { + FONT-WEIGHT: normal; + FONT-SIZE: 13px; + COLOR: #820000; + FONT-FAMILY: "VERDANA", "ARIAL", "HELVETICA"; + TEXT-DECORATION: none +} + +A:visited { + FONT-WEIGHT: normal; + FONT-SIZE: 13px; + COLOR: #820000; + FONT-FAMILY: "VERDANA", "ARIAL", "HELVETICA"; + TEXT-DECORATION: none +} + +A:hover { + FONT-WEIGHT: normal; + FONT-SIZE: 13px; + COLOR: #820000; + FONT-FAMILY: "VERDANA", "ARIAL", "HELVETICA"; + TEXT-DECORATION: underline +} + +A:active { + FONT-WEIGHT: normal; + FONT-SIZE: 13px; + COLOR: #820000; + FONT-FAMILY: "VERDANA", "ARIAL", "HELVETICA"; + TEXT-DECORATION: underline +} + +A.link10 { + FONT-WEIGHT: normal; + FONT-SIZE: 10px; + COLOR: #820000; + FONT-FAMILY: "VERDANA", "ARIAL", "HELVETICA"; + TEXT-DECORATION: none +} + +A.link10:visited { + FONT-WEIGHT: normal; + FONT-SIZE: 10px; + COLOR: #820000; + FONT-FAMILY: "VERDANA", "ARIAL", "HELVETICA"; + TEXT-DECORATION: none +} + +A.link10:hover { + FONT-WEIGHT: normal; + FONT-SIZE: 10px; + COLOR: #820000; + FONT-FAMILY: "VERDANA", "ARIAL", "HELVETICA"; + TEXT-DECORATION: underline +} + +A.link10:active { + FONT-WEIGHT: normal; + FONT-SIZE: 10px; + COLOR: #820000; + FONT-FAMILY: "VERDANA", "ARIAL", "HELVETICA"; + TEXT-DECORATION: underline +} + +.text13 { + FONT-WEIGHT: normal; + FONT-SIZE: 13px; + COLOR: #000000; + FONT-FAMILY: "VERDANA", "ARIAL", "HELVETICA"; + TEXT-DECORATION: none +} + +.text13b_bold { + FONT-WEIGHT: bold; + FONT-SIZE: 13px; + COLOR: #980505; + FONT-FAMILY: "VERDANA", "ARIAL", "HELVETICA"; + TEXT-DECORATION: none +} + +.text10 { + FONT-WEIGHT: normal; + FONT-SIZE: 10px; + COLOR: #000000; + FONT-FAMILY: "VERDANA", "ARIAL", "HELVETICA"; + TEXT-DECORATION: none +} + +.text10b_bold { + FONT-WEIGHT: bold; + FONT-SIZE: 10px; + COLOR: #980505; + FONT-FAMILY: "VERDANA", "ARIAL", "HELVETICA"; + TEXT-DECORATION: none +} + +.button10 { + font-size: 10px; + font-family: Verdana, Arial, Helvetica, sans-serif; +} + +.field11 { + BORDER-RIGHT: 1px solid; + BORDER-TOP: 1px solid; + BORDER-LEFT: 1px solid; + BORDER-BOTTOM: 1px solid; + FONT-SIZE: 11px; + FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; + border-color: #A8B0B8; + BACKGROUND-COLOR: #FFF2E1; +} + +.table1 { + BORDER-RIGHT: #B84E4E 1px solid; + BORDER-TOP: #B84E4E 1px solid; + BORDER-LEFT: #B84E4E 1px solid; + BORDER-BOTTOM: #B84E4E 1px solid; + BACKGROUND-COLOR: #FFDFBF +} \ No newline at end of file diff --git a/work.old b/work.old new file mode 100644 index 0000000..dddeb25 --- /dev/null +++ b/work.old @@ -0,0 +1,59 @@ + \n + ALL BANNERS +
"; + $q = dq("select $s[tblname].*,MD5(RAND()) AS m from $s[tblname] where approved = 1 ORDER BY m", 1); + while ($data = mysql_fetch_assoc($q)) { + echo " + "; + } + echo '
+
'; + exit; +} +$q = dq("select $s[tblname].*,MD5(RAND()) AS m from $s[tblname] where approved = 1 AND i_nu >= 1 AND NOT(username = '$_GET[ID]') ORDER BY m LIMIT 1", 1); +$data = mysql_fetch_assoc($q); +if ($data[username]) { + echo "\n + + +
+
"; + dq("update $s[tblname] set i_nu = i_nu-1, i_w = i_w + 1 where username = '$data[username]'", 1); +} else { + echo "\n + + +
+
"; +} +?> \ No newline at end of file diff --git a/work.php b/work.php new file mode 100644 index 0000000..9946c4f --- /dev/null +++ b/work.php @@ -0,0 +1 @@ +