Compare commits

..

No commits in common. "master" and "0.0.4" have entirely different histories.

587 changed files with 4360 additions and 48441 deletions

View file

@ -1,7 +0,0 @@
[*.{js,jsx,ts,tsx,vue}]
indent_style = space
indent_size = 4
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 300

3
.gitignore vendored
View file

@ -1,3 +0,0 @@
.DS_Store
Thumbs.db
test/

5
.htaccess Normal file
View file

@ -0,0 +1,5 @@
php_value display_errors Off
php_flag magic_quotes 1
php_flag magic_quotes_gpc 1
php_value mbstring.http_input auto
php_value date.timezone Asia/Shanghai

View file

@ -1,8 +0,0 @@
{
"eslintIntegration": true,
"tabWidth": 4,
"singleQuote": true,
"trailingComma": "none",
"printWidth": 300,
"semi": false
}

View file

@ -1,6 +1,6 @@
BSD 3-Clause License
Copyright (c) 2018 - present, Jackson Dou
Copyright (c) 2018, doudoudzj
All rights reserved.
Redistribution and use in source and binary forms, with or without

View file

@ -1,60 +1,45 @@
# UIISC
# uiisc.com
An Open Source Web Hosting Account and Support Management System for MyOwnFreeHost
A Template for Reseller Site of MyOwnFreeHost based on Bootstrap with Multi-Language
- Demo : [demo.uiisc.com](http://demo.uiisc.com)
- Official Site : [uiisc.org](http://uiisc.org "UIISC")
- Author : [Jackson Dou](https://github.com/jksdou "Jackson Dou")
* Official Site : [uiisc.com](http://uiisc.com "UIISC")
* Author : [doudoudzj](https://github.com/doudoudzj "doudoudzj")
## Functions
**New Functions:**
### multi-language module
## Management Module
- [x] Load default language config (/core/language/)
- [x] Change language
- [x] Load custom language config (/data/language/)
Hosting Account Management System
### ClientArea module
Modify the configuration file `data/config.php`, Log in via `/admin.php`
- [x] Account registration
- [x] Account verification
- [x] Account cancellation
- [x] Email verification
- [x] Profile modification
- [x] Login / Logout, Forget / Reset / Change password
- [x] Apply for a web hosting account
- [x] Web hosting account deletion / deactivation
- [x] Login to web hosting control panel
This is a simple script for WHM myownfreehost made to manage hosting accounts through the api assigned to users with free reseller accounts.
### AdminArea module
Available Functions:
- [x] Verify if a domain is available
- [x] Creation of hosting account
- [x] Change password to hosting account
- [x] Deactivate or disable a hosting account
- [x] Activate or enable hosting account
- [x] Verify how many domain and state of the hosting account
- [x] Members management
- [x] Site configuration
- [x] API configuration
- [x] multi hosting provider management
- [x] News management
- [ ] Translation file management
- Verify if a domain is available.
- Creation of account hosting from the panel.
- Change password to hosting account.
- Deactivate or disable a hosting account.
- Activate or enable hosting account.
- Verify how many domain and state of the hosting account.
### forum module
- [ ] Add/edit/delete posts
## Screenshot
##### <u>Solution Page</u>
> ![Solution Page](screenshot/solution.png)
>
> ![Solution Page](assets/screenshot/solution.png)
##### <u>Login Page</u>
> ![Login Page](screenshot/login.png)
>
> ![Login Page](assets/screenshot/login.png)
##### <u>Register Page</u>
> ![Register Page](screenshot/register.png)
>
> ![Register Page](assets/screenshot/register.png)

View file

@ -1,18 +0,0 @@
# Security Policy
## Supported Versions
There is the list of supported versions of php to run UIISC
| Version | Supported |
| ------- | ------------------ |
| 8.0.x | :white_check_mark: |
| > 7.4 | :white_check_mark: |
| 7.1.x | :white_check_mark: |
| > 5.6.x | :white_check_mark: |
| < 5.6 | :x: |
## Reporting a Vulnerability
In case of any error the user can report it by sending email to `admin@uiisc.org` or by contacting phone at `+86-021-51351888`.

30
about.php Normal file
View file

@ -0,0 +1,30 @@
<?php
define('IN_SYS', true);
require_once "core.php";
$section = empty($_GET["s"]) ? "uiisc" : $_GET["s"];
$enable_section = ["crogram", "ifastnet", "uiisc"];
switch ($section) {
case "crogram":
$title = $title . ' - ' . $LANG['about'] . ' Crogram';
break;
case "ifastnet":
$title = $title . ' - ' . $LANG['about'] . ' iFastNet';
break;
case "uiisc":
$title = $title . ' - ' . $LANG['about'] . ' UIISC';
break;
}
include("include/header.php");
if (in_array($section, $enable_section)) {
include("include/about_" . $section . ".php");
} else {
include("include/about_uiisc.php");
}
include("include/footer.php");

222
admin.php Normal file
View file

@ -0,0 +1,222 @@
<?php
// ini_set("display_errors", false);
define("IN_SYS", true);
require_once("core.php");
// $INDEX = __FILE__;
include_once "{$ROOT}/include/common.php";
include_once "{$ROOT}/lib/api.php";
include_once "{$ROOT}/controllers/admin.php";
getVersion();
if (!file_exists("{$ROOT}/data/installed") || !isset($config) || $config['apiUsername'] == '#getUsername#' || $config['apiPassword'] == '#getPassword#') {
header('Location: ./install.php');
}
?>
<?php include("include/admin_header.php"); ?>
<?php if (file_exists("{$ROOT}/install.php")) { ?>
<div class="container">
<div class="alert alert-dismissible alert-danger">Please delete the <b>install.php</b> file.</div>
</div>
<?php } ?>
<div class="container">
<?php if ($is_admin) { ?>
<div class="row">
<div class="col-md-12">
<a class="btn btn-default" href="admin.php?s=check_domain" role="button">Check Domain</a>
<a class="btn btn-default" href="admin.php?s=account_list" role="button">List</a>
<a class="btn btn-default" href="admin.php?s=account_add" role="button">Add</a>
<a class="btn btn-default" href="admin.php?s=account_password" role="button">Password</a>
<a class="btn btn-default" href="admin.php?s=account_disable" role="button">Suspend</a>
<a class="btn btn-default" href="admin.php?s=account_active" role="button">Activate</a>
<a class="btn btn-default" href="admin.php?s=account_status" role="button">Status</a>
<a class="btn btn-default" href="admin.php?s=account_domain" role="button">Domains</a>
</div>
</div>
<?php } ?>
<div class="row">
<div class="col-md-12 col-sm-12">
<?php if ($section == 'main') { ?>
<h1>Hosting Account Management System</h1>
<p class="lead">This is a simple script for WHM myownfreehost made to manage hosting accounts through the api assigned to users with free reseller accounts.</p>
<b>Available Functions:</b>
<ol>
<li>Verify if a domain is available.</li>
<li>Creation of account hosting from the panel.</li>
<li>Change password to hosting account.</li>
<li>Deactivate or disable a hosting account.</li>
<li>Activate or enable hosting account.</li>
<li>Verify how many domain and state of the hosting account.</li>
</ol>
<?php } else { ?>
<h2><?php echo $section_title; ?></h2>
<?php if ($section == 'check_domain') { ?>
<form action="" method="POST">
<p>Verify the domain is available for registration</p>
<label>
<!-- <span>Account:</span> -->
<input type="text" name="domain" class="form-control" maxlength="50" placeholder="Enter a domain or sub-domain">
</label>
<button type="submit" name="do_check_domain" class="btn btn-primary">Verify domain</button>
</form>
<?php } elseif ($section == 'account_list') {; ?>
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<th>#</th>
<th>Branch</th>
<th>Account</th>
<th>Username</th>
<th>Email</th>
<th>Domain</th>
<th>Plan</th>
<th>Password</th>
<th>Nameserver</th>
<th>Operate</th>
</tr>
</thead>
<tbody>
<?php foreach ($member as $key => $value) { ?>
<tr>
<th><?php echo $key + 1; ?></th>
<td><?php echo $value["branch"]; ?></td>
<td><?php echo $value["account"]; ?></td>
<td><?php echo $value["username"]; ?></td>
<td><?php echo $value["email"]; ?></td>
<td><?php echo implode(",", $value["domain"]); ?></td>
<td><?php echo $value["plan"]; ?></td>
<td><?php echo $value["password"]; ?></td>
<td><?php echo implode(",", $value["nameserver"]); ?></td>
<td style="width: 206px;">
<a class="btn btn-default btn-xs" href="#" role="button"><?php echo $LANG['login']; ?></a>
<button class="btn btn-default btn-xs" type="submit">View</button>
<button class="btn btn-default btn-xs" type="submit">Active</button>
<button class="btn btn-default btn-xs" type="submit">Disable</button>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<?php } elseif ($section == 'account_add') {; ?>
<form action="" method="POST">
<label>
<span>Account:</span>
<input type="text" name="username" value="" class="form-control" maxlength="8" placeholder="Account of 8 characters">
</label>
<label>
<span>Password:</span>
<input type="password" name="password" value="" class="form-control" maxlength="35" placeholder="Password">
</label>
<label>
<span>Domain or Sub-domain:</span>
<input type="text" name="domain" value="" class="form-control" maxlength="35" placeholder="example.com">
</label>
<label>
<span>Email Address:</span>
<input type="text" name="email" value="" class="form-control" maxlength="35" placeholder="email@example.com">
</label>
<label>
<span>Select a Hosting Plan:</span>
<select name="plan" class="form-control">
<?php foreach ($config['plan'] as $key => $value) { ?>
<option value="<?php echo $key; ?>"><?php echo $value; ?></option>
<?php } ?>
</select>
</label>
<button type="submit" name="do_reg_account" class="btn btn-primary">Register Account</button>
</form>
<?php } elseif ($section == 'account_password') {; ?>
<form action="" method="POST">
<!-- Reset Password -->
<label>
<span>Account: <small>(It is the 8 characters)</small></span>
<input type="text" name="username" class="form-control" maxlength="8" placeholder="Account: (It is the 8 characters)">
</label>
<label>
<span>New Password:</span>
<input type="password" name="password" class="form-control" maxlength="35" placeholder="Password">
</label>
<button type="submit" name="do_set_password" class="btn btn-primary">Set Password</button>
</form>
<?php } elseif ($section == 'account_disable') {; ?>
<form action="" method="POST">
<label>
<span>Account: <small>(It is the 8 characters)</small></span>
<input type="text" name="username" class="form-control" maxlength="8" placeholder="Account: (It is the 8 characters)">
</label>
<label>
<span>Reason for deactivation:</span>
<input type="text" name="reason" class="form-control" maxlength="60" placeholder="Reason or some message">
</label>
<button type="submit" name="do_disable_account" class="btn btn-primary">Save Settings</button>
</form>
<?php } elseif ($section == 'account_active') {; ?>
<form action="" method="POST">
<label>
<span>Account: <small>(It is the 8 characters)</small></span>
<input type="text" name="username" class="form-control" maxlength="8" placeholder="Account: (It is the 8 characters)">
</label>
<button type="submit" name="do_activate_account" class="btn btn-primary">Save Settings</button>
</form>
<?php } elseif ($section == 'account_status') {; ?>
<form action="" method="POST">
<label>
<span>VistaPanel Username: <small>(Example: uii_12345678)</small></span>
<input type="text" name="username" class="form-control" maxlength="18" placeholder="VPanel Username (Example: uii_12345678)">
</label>
<button type="submit" name="do_check_status" class="btn btn-primary">Check Status</button>
</form>
<?php } elseif ($section == 'account_domain') {; ?>
<form action="" method="POST">
<label>
<span>VistaPanel Username: <small>(Example: uii_12345678)</small></span>
<input type="text" name="username" class="form-control" maxlength="18" placeholder="VPanel Username (Example: uii_12345678)">
</label>
<button type="submit" name="do_get_domains" class="btn btn-primary">View Domain</button>
</form>
<?php } elseif ($section == 'login') {; ?>
<?php if (!$is_admin) { ?>
<form action="" method="POST" class="form-horizontal">
<label>
<span>Admin:</span>
<input type="text" name="username" class="form-control" maxlength="18" placeholder="Admin Username" autofocus required>
</label>
<label>
<span>Password:</span>
<input type="password" name="password" class="form-control" maxlength="35" placeholder="Admin Password" required>
</label>
<label>
<span>Captcha:</span>
<input type="text" name="captcha" class="form-control" maxlength="18" placeholder="CAPTCHA" required autocomplete="off">
</label>
<button type="submit" name="do_login" class="btn btn-primary"><?php echo $LANG['login']; ?></button>
</form>
<?php } elseif ($is_admin && !isset($message[0])) { ?>
<div class="alert alert-success">You have logged in</div>
<?php } ?>
<?php }
if ($message) { ?>
<hr/>
<div class="alert <?php echo empty($message[0]) ? 'alert-danger' : 'alert-success'; ?>">
<p><?php echo $message[1]; ?></p>
<?php if (isset($message[2]) && ($message[2])) {
echo "<p>response data:</p><pre>";
print_r($message[2]);
echo "</pre>";
} ?>
</div>
<?php }
} ?>
</div>
</div>
</div>
<?php include("include/admin_footer.php"); ?>

2
admin/index.php Normal file
View file

@ -0,0 +1,2 @@
<?php
header("Location: ../admin.php");

View file

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 106 KiB

View file

View file

32
assets/css/admin.css Normal file
View file

@ -0,0 +1,32 @@
#section {
float: right;
display: block;
font-size: 14px;
margin: 8px 0;
color: #FFFFFF;
}
.clear {
clear: both;
width: 100%;
}
label {
display: block;
margin-bottom: 8px;
font-weight: bold;
}
label input,
label select {
margin-top: 6px;
}
input[name="captcha"] {
background: url(/include/captcha.php) no-repeat;
background-size: 160px 30px;
background-position-x: right;
background-position-y: center;
padding-right: 170px;
}

197
assets/css/style.css Normal file
View file

@ -0,0 +1,197 @@
body {
margin: 0;
padding: 0;
padding-top: 20px;
padding-bottom: 100px;
line-height: 1.5;
color: #000;
background-color: #fff;
outline: 0;
overflow-x: hidden;
overflow-y: auto;
}
input {
border: 0;
outline-width: 0 !important;
}
button {
outline-width: 0 !important;
}
.section-wrap {
padding: 10px 0;
}
.home {
width: 100%;
height: 100%;
height: 100vh;
min-height: 100%;
position: relative;
color: #fff;
background: #0000008a;
background-image: url(../images/banner.jpg);
background-repeat: no-repeat;
background-size: cover;
}
body.fixed-header-on {
padding-top: 0;
}
.fixed-header-on .navbar-nav>li>a,
.fixed-header-on .navbar-brand {
color: #fff;
}
.fixed-header-on .navbar-nav>li>a:hover,
.fixed-header-on .navbar-brand:hover {
color: #ffc400;
}
.fixed-header-on .header {
background-color: rgba(0, 0, 0, 0);
border-color: rgba(0, 0, 0, 0);
}
.fixed-header-on .footer {
border-color: transparent;
background-color: transparent;
background: transparent;
}
.home-banner {
position: absolute;
top: 50%;
left: 50%;
z-index: 20;
text-align: center;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.bs-docs-header {
position: relative;
padding: 30px 0;
color: #cdbfe3;
text-align: center;
text-shadow: 0 1px 0 rgba(0, 0, 0, .1);
background-color: #6f5499;
background-image: -webkit-gradient(linear, left top, left bottom, from(#563d7c), to(#6f5499));
background-image: -webkit-linear-gradient(top, #563d7c 0%, #6f5499 100%);
background-image: -o-linear-gradient(top, #563d7c 0%, #6f5499 100%);
background-image: linear-gradient(to bottom, #563d7c 0%, #6f5499 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#563d7c', endColorstr='#6F5499', GradientType=0);
background-repeat: repeat-x;
}
.bs-docs-header {
margin-bottom: 40px;
font-size: 20px;
}
.bs-docs-header h1 {
margin-top: 0;
color: #fff;
}
.bs-docs-header p {
margin-bottom: 0;
font-weight: 300;
line-height: 1.4;
}
.bs-docs-header .container {
position: relative;
}
@media (min-width: 768px) {
.bs-docs-header {
padding-top: 60px;
padding-bottom: 60px;
font-size: 24px;
}
.bs-docs-header h1 {
font-size: 60px;
line-height: 1;
}
}
.form-account {
max-width: 300px;
padding: 15px;
margin: 0 auto;
}
.form-domain {
max-width: 430px;
padding: 15px;
margin: 0 auto;
}
.form-domain input {
color: #fff;
background: transparent;
}
.form-domain .form-control:hover {
color: #333;
background-color: #fff;
background-image: none;
}
@media (min-width: 300px) {
.form-domain {
min-width: 300px;
}
}
@media (min-width: 768px) {
.form-domain {
max-width: 530px;
}
}
@media (min-width: 992px) {
.form-domain {
max-width: 500px;
}
}
.language-change {
max-height: 450px;
overflow-y: auto;
}
.octocat:hover .octocat-arm {
animation: wave-arm .56s infinite;
transform-origin: 13rem 10.6rem
}
.octocat .octocat-arm,
.octocat .octocat-body {
fill: #f4f5f6
}
@keyframes wave-arm {
0%,
50% {
transform: rotate(0)
}
25%,
75% {
transform: rotate(-25deg)
}
}
.footer .co {
display: inline-block;
}

View file

View file

Before

Width:  |  Height:  |  Size: 296 KiB

After

Width:  |  Height:  |  Size: 296 KiB

View file

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View file

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

Before

Width:  |  Height:  |  Size: 63 B

After

Width:  |  Height:  |  Size: 63 B

View file

Before

Width:  |  Height:  |  Size: 89 B

After

Width:  |  Height:  |  Size: 89 B

View file

Before

Width:  |  Height:  |  Size: 44 B

After

Width:  |  Height:  |  Size: 44 B

View file

Before

Width:  |  Height:  |  Size: 45 B

After

Width:  |  Height:  |  Size: 45 B

View file

Before

Width:  |  Height:  |  Size: 48 B

After

Width:  |  Height:  |  Size: 48 B

View file

Before

Width:  |  Height:  |  Size: 178 B

After

Width:  |  Height:  |  Size: 178 B

View file

Before

Width:  |  Height:  |  Size: 54 B

After

Width:  |  Height:  |  Size: 54 B

0
src/assets/images/img2.jpg → assets/images/img2.jpg Executable file → Normal file
View file

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

0
src/assets/images/img5.jpg → assets/images/img5.jpg Executable file → Normal file
View file

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

0
src/assets/images/img6.jpg → assets/images/img6.jpg Executable file → Normal file
View file

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

0
src/assets/images/logo.svg → assets/images/logo.svg Executable file → Normal file
View file

Before

Width:  |  Height:  |  Size: 945 B

After

Width:  |  Height:  |  Size: 945 B

View file

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

View file

Before

Width:  |  Height:  |  Size: 558 B

After

Width:  |  Height:  |  Size: 558 B

View file

Before

Width:  |  Height:  |  Size: 682 B

After

Width:  |  Height:  |  Size: 682 B

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 709 B

After

Width:  |  Height:  |  Size: 709 B

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 3 KiB

View file

Before

Width:  |  Height:  |  Size: 43 B

After

Width:  |  Height:  |  Size: 43 B

View file

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

0
src/assets/jquery/jquery.min.js → assets/jquery/jquery.min.js vendored Executable file → Normal file
View file

19
src/assets/js/common.js → assets/js/common.js Executable file → Normal file
View file

@ -11,12 +11,12 @@ if (document.getElementsByName("jump-ifastnet").length) {
}
function change_language(lang) {
setCookie('lang', lang, 10, '/', site_domain, false);
console.log(cur_lang, lang)
if (cur_lang != lang) {
// to reload after changed
window.location.href = window.location.href;
setCookie('lang', lang, 1, '/', domain, false);
if (cur_lang == lang) {
return;
}
// to reload after changed
window.location.href = window.location.href;
}
function jumpLink(action, params, target) {
@ -37,15 +37,6 @@ function jumpLink(action, params, target) {
document.body.removeChild(fm); // remove form after submit
}
/**
* 设置 Cookie
* @param {string} name 字段
* @param {string} value
* @param {string|number} expires 时长,单位天
* @param {string} path 路径
* @param {string} domain 域名
* @param {string} secure
*/
function setCookie(name, value, expires, path, domain, secure) {
var today = new Date();
today.setTime(today.getTime());

Binary file not shown.

After

Width:  |  Height:  |  Size: 951 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
assets/resources/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

BIN
assets/resources/logo.psd Normal file

Binary file not shown.

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="logo"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="122.124px" height="150px" viewBox="0 0 122.124 150" enable-background="new 0 0 122.124 150" xml:space="preserve">
<polygon fill="#810D6F" points="116.921,3.288 25.752,3.288 2.803,3.288 2.803,144.71 27.084,144.71 27.084,30.878 116.921,30.878" />
<polygon fill="#C22E91" points="63.308,75.153 116.921,75.153 116.921,50.566 40.359,50.566 40.359,133.518 40.359,133.761 116.921,133.761 116.921,109.171 63.308,109.171" />
<path fill="#D1D3D4" d="M119.628,136.383H37.557v2.664h84.568v-33.165h-2.496V136.383z M119.628,0v33.499H29.793v113.833H0V150 h32.287V36.167h89.837V0H119.628z M119.628,77.777H66.015v25.438h2.496V80.442h53.613V47.279h-2.496V77.777z" />
</svg>

After

Width:  |  Height:  |  Size: 945 B

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="logo"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="122.124px" height="150px" viewBox="0 0 122.124 150" enable-background="new 0 0 122.124 150" xml:space="preserve">
<polygon fill="blue" points="116.921,3.288 25.752,3.288 2.803,3.288 2.803,144.71 27.084,144.71 27.084,30.878 116.921,30.878" />
<polygon fill="#00F" points="63.308,75.153 116.921,75.153 116.921,50.566 40.359,50.566 40.359,133.518 40.359,133.761 116.921,133.761 116.921,109.171 63.308,109.171" />
<path fill="red" d="M119.628,136.383H37.557v2.664h84.568v-33.165h-2.496V136.383z M119.628,0v33.499H29.793v113.833H0V150 h32.287V36.167h89.837V0H119.628z M119.628,77.777H66.015v25.438h2.496V80.442h53.613V47.279h-2.496V77.777z" />
</svg>

After

Width:  |  Height:  |  Size: 935 B

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="122.124px" height="150px" viewBox="0 0 122.124 150" enable-background="new 0 0 122.124 150" xml:space="preserve">
<polygon fill="#810D6F" points="116.921,3.288 25.752,3.288 2.803,3.288 2.803,144.71 27.084,144.71 27.084,30.878 116.921,30.878 "/>
</svg>

After

Width:  |  Height:  |  Size: 528 B

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="122.124px" height="150px" viewBox="0 0 122.124 150" enable-background="new 0 0 122.124 150" xml:space="preserve">
<polygon fill="#C22E91" points="63.308,75.153 116.921,75.153 116.921,50.566 40.359,50.566 40.359,133.518 40.359,133.761 116.921,133.761 116.921,109.171 63.308,109.171 "/>
</svg>

After

Width:  |  Height:  |  Size: 568 B

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="122.124px" height="150px" viewBox="0 0 122.124 150" enable-background="new 0 0 122.124 150" xml:space="preserve">
<path fill="#D1D3D4" d="M119.628,136.383H37.557v2.664h84.568v-33.165h-2.496V136.383z M119.628,0v33.499H29.793v113.833H0V150 h32.287V36.167h89.837V0H119.628z M119.628,77.777H66.015v25.438h2.496V80.442h53.613V47.279h-2.496V77.777z"/>
</svg>

After

Width:  |  Height:  |  Size: 628 B

0
src/assets/respond/respond.min.js → assets/respond/respond.min.js vendored Executable file → Normal file
View file

View file

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View file

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 160 KiB

178
bak/register_bak.php Normal file
View file

@ -0,0 +1,178 @@
<?php
define('IN_SYS', true);
require_once ("core.php");
$security_id = md5(rand(6000,getrandmax())); // $security_id = md5(rand(6000,PHP_INT_MAX));
?>
<!DOCTYPE html>
<html lang="<?php echo $current_lang; ?>">
<head>
<meta charset="utf-8">
<title><?php echo $title; ?> - <?php echo $LANG['register']; ?></title>
<?php include ("headmate.php"); ?>
</head>
<body>
<?php include ("nav.php"); ?>
<div class="container">
<div class="form-group form-horizontal form-account">
<input type="hidden" name="plan_name" value="free webhosting">
<div class="form-group">
<label for="inputUsername" class="control-label"><?php echo $LANG['username']; ?></label>
<input type="text" name="username" class="form-control" id="inputUsername" placeholder="<?php echo $LANG['input_username']; ?>" value="<?php if (isset($_GET['username'])) { echo $_GET['username']; }?>">
</div>
<div class="form-group">
<label for="inputDomain" class="control-label"><?php echo $LANG['domain']; ?></label>
<input type="text" name="domain" class="form-control" id="inputDomain" placeholder="<?php echo $LANG['input-domain']; ?>" value="<?php if (isset($_GET['domain'])) { echo $_GET['domain']; }?>">
</div>
<div class="form-group">
<label for="inputPassword" class="control-label"><?php echo $LANG['password']; ?></label>
<input type="password" name="password" class="form-control" id="inputPassword" placeholder="<?php echo $LANG['input_password']; ?>">
</div>
<div class="form-group">
<label for="inputEmail" class="control-label"><?php echo $LANG['email']; ?></label>
<input type="email" name="email" class="form-control" id="inputEmail" placeholder="<?php echo $LANG['input_email']; ?>" value="<?php if (isset($_GET['email'])) { echo $_GET['email']; }?>">
</div>
<div class="form-group">
<label for="inputCategory" class="control-label"><?php echo $LANG['site_category']; ?></label>
<select class="form-control" name="website_category" id="inputCategory">
<option><?php echo $LANG['choose_from_below']; ?></option>
<option><?php echo $LANG['personal']; ?></option>
<option><?php echo $LANG['business']; ?></option>
<option><?php echo $LANG['hobby']; ?></option>
<option><?php echo $LANG['forum']; ?></option>
<option><?php echo $LANG['dating']; ?></option>
<option><?php echo $LANG['software_download']; ?></option>
</select>
</div>
<div class="form-group">
<label for="inputLanguage" class="control-label"><?php echo $LANG['site_language']; ?></label>
<select class="form-control" name="website_language" id="inputLanguage">
<option><?php echo $LANG['choose_from_below']; ?></option>
<!-- <option data-i18n="english">English</option> -->
<!-- <option data-i18n="non_english">Non-English</option> -->
<option selected="selected" value="English">Auto: English</option>
<option>Afrikaans</option>
<option>Albanian</option>
<option>Amharic</option>
<option>Arabic</option>
<option>Armenian</option>
<option>Azeerbaijani</option>
<option>Basque</option>
<option>Belarusian</option>
<option>Bengali</option>
<option>Bosnian</option>
<option>Bulgarian</option>
<option>Burmese</option>
<option>Catalan</option>
<option>Cebuano</option>
<option>Chichewa</option>
<option>Chinese_simplified</option>
<option>Chinese_traditional</option>
<option>Corsican</option>
<option>Croatian</option>
<option>Czech</option>
<option>Danish</option>
<option>Dutch</option>
<option>English</option>
<option>Esperanto</option>
<option>Estonian</option>
<option>Farsi</option>
<option>Filipino</option>
<option>Finnish</option>
<option>French</option>
<option>Frisian</option>
<option>Galician</option>
<option>Georgian</option>
<option>German</option>
<option>Greek</option>
<option>Gujarati</option>
<option>Haitian Creole</option>
<option>Hausa</option>
<option>Hawaiian</option>
<option>Hebrew</option>
<option>Hindi</option>
<option>Hmong</option>
<option>Hungarian</option>
<option>Icelandic</option>
<option>Igbo</option>
<option>Indonesian</option>
<option>Irish</option>
<option>Italian</option>
<option>Japanese</option>
<option>Javanese</option>
<option>Kannada</option>
<option>Kazakh</option>
<option>Khmer</option>
<option>Korean</option>
<option>Kurdish</option>
<option>Kyrgyz</option>
<option>Lao</option>
<option>Latin</option>
<option>Latvian</option>
<option>Lithuanian</option>
<option>Luxembourgish</option>
<option>Macedonian</option>
<option>Malagasy</option>
<option>Malay</option>
<option>Malayalam</option>
<option>Maltese</option>
<option>Maori</option>
<option>Marathi</option>
<option>Mongolian</option>
<option>Nepali</option>
<option>Norwegian</option>
<option>Pashto</option>
<option>Persian</option>
<option>Polish</option>
<option>Portuguese</option>
<option>Punjabi</option>
<option>Romanian</option>
<option>Russian</option>
<option>Samoan</option>
<option>Scots Gaelic</option>
<option>Serbian</option>
<option>Sesotho</option>
<option>Shona</option>
<option>Sindhi</option>
<option>Sinhala</option>
<option>Slovak</option>
<option>Slovenian</option>
<option>Somali</option>
<option>Spanish</option>
<option>Sundanese</option>
<option>Swahili</option>
<option>Swedish</option>
<option>Tajik</option>
<option>Tamil</option>
<option>Telugu</option>
<option>Thai</option>
<option>Turkish</option>
<option>Ukrainian</option>
<option>Urdu</option>
<option>Uzbek</option>
<option>Vietnamese</option>
<option>Welsh</option>
<option>Xhosa</option>
<option>Yiddish</option>
<option>Yoruba</option>
<option>Zulu</option>
</select>
</div>
<div class="form-group">
<label for="inputID" class="control-label"><?php echo $LANG['security_code']; ?></label>
<img width="90px" height="25px" src="./security_code.php?id=<?=$security_id?>">
<input type="hidden" name="id" class="form-control" id="inputID" value="<?=$security_id?>">
</div>
<div class="form-group">
<label for="inputSecurityCode" class="control-label"><?php echo $LANG['input_security_code']; ?></label>
<input type="text" name="number" class="form-control" id="inputSecurityCode" placeholder="<?php echo $LANG['input_security_code_above']; ?>">
</div>
<div class="form-group">
<button type="submit" name="submit" class="btn btn-primary"><?php echo $LANG['register']; ?></button>
</div>
</div>
</div>
<?php include ("footer.php"); ?>
</body>
</html>

33
bak/remote_reg.php Normal file
View file

@ -0,0 +1,33 @@
<?php
require_once("core.php");
$domain = "uiisc.com";
$post_data = $_POST;
print_r($post_data);
$data = file_get_contents("php://input");
$url = "http://order.{$domain}/register.php";
// $data = $post_data;
function curlrequest($url, $data, $method = "post")
{
$ch = curl_init(); // 初始化CURL句柄
curl_setopt($ch, CURLOPT_URL, $url); // 设置请求的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 设为TRUE把curl_exec()结果转化为字串,而不是直接输出
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); // 设置请求方式
curl_setopt($ch, CURLOPT_REFERER, $url); // 构造来路
curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-HTTP-Method-Override: $method")); // 设置HTTP头信息
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // 设置提交的字符串
$document = curl_exec($ch); // 执行预定义的CURL
if (!curl_errno($ch)) {
$info = curl_getinfo($ch);
echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
} else {
echo 'Curl error: ' . curl_error($ch);
}
curl_close($ch);
// $document=preg_replace("/[\t\n\r]+/","",$document);
return $document;
}
$return = curlrequest($url, $post_data, "post");
var_dump($return);
exit;

39
bak/reset_password.php Normal file
View file

@ -0,0 +1,39 @@
<?php
define('IN_SYS', true);
require_once ("core.php");
$domain = "uiisc.com";
// $html = file_get_contents("http://cpanel.".$domain."/lostpassword.php");
// preg_match('/<footer[^>]*id="footer"[^>]*>(.*?) <//footer>/si', $html, $match);
$password_reset_token_id = "b374b5bd4e35d2cadd98caa77d68c19a";
$logged_ipaddress = "116.228.234.98";
$title = $title . ' - Lost Password / Password Recovery';
?>
<?php include ("header.php"); ?>
<div class="container">
<!--<?=$match?>-->
<!--<?=$str_code?>-->
<blink>ipaddress logged <?=$logged_ipaddress?></blink>
<h2 data-i18n="password_eset">Lost Password Retrieval System</h2>
<form class="form-signin" role="form" action="http://cpanel.<?=$domain?>/passwords.php" method="post" name="password_reset">
<h2 data-i18n="password_eset">Password Reset</h2>
<input type="hidden" name="token" value="<?=$password_reset_token_id?>">
<div class="form-group">
<label for="inputUsername" class="control-label" data-i18n="username">Username</label>
<input type="text" name="username" class="form-control" id="inputUsername" placeholder="Username" data-i18n="input_username" required autofocus>
</div>
<div class="form-group">
<label for="inputEmail" class="control-label" data-i18n="email">Email Address</label>
<input type="email" name="email" class="form-control" id="inputEmail" placeholder="Email Address" data-i18n="input_email" required>
</div>
<div class="form-group">
<button type="submit" name="submit" class="btn btn-primary btn-block" data-i18n="Fetch">Fetch</button>
</div>
</form>
<div class="row">
<p>In the above form, enter the username and the REGISTERED email address that was used when signing up for the account.<br>
We will then email the registered email address with reset account details.
</p>
</div>
</div>
<?php include ("footer.php"); ?>

47
bak/resetpass.php Normal file
View file

@ -0,0 +1,47 @@
<?php
define('IN_SYS', true);
require_once ("core.php");
$domain = "uiisc.com";
$logged_ipaddress = "116.228.234.98";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title><?=$title?> - Lost Password / Password Recovery</title>
<?php include ("headmate.php"); ?>
</head>
<body>
<?php include ("nav.php"); ?>
<div class="container">
<blink>ipaddress logged <?=$logged_ipaddress?></blink>
<!-- <h2 data-i18n="password_eset">Lost Password Retrieval System</h2> -->
<div class="form-group form-horizontal form-account">
<!-- <h2 data-i18n="password_eset">Password Reset</h2> -->
<input type="hidden" name="ipaddress" value="<?=$logged_ipaddress?>">
<div class="form-group">
<label for="inputUsername" class="control-label" data-i18n="username">Username</label>
<input type="text" name="username" class="form-control" id="inputUsername" placeholder="Username" data-i18n="input_username" required autofocus>
</div>
<div class="form-group">
<label for="inputEmail" class="control-label" data-i18n="email">Email Address</label>
<input type="email" name="email" class="form-control" id="inputEmail" placeholder="Email Address" data-i18n="input_email" required>
</div>
<div class="form-group">
<label>Not yet have an account ?</label>
<label><a href="register.php"><?php echo $LANG['register']; ?></a></label>
</div>
<div class="form-group">
<button type="submit" name="submit" class="btn btn-primary btn-block">Submit</button>
</div>
</div>
<div class="row">
<p>In the above form, enter the username and the REGISTERED email address that was used when signing up for the account.<br>
We will then email the registered email address with reset account details.
</p>
</div>
</div>
<?php include ("footer.php"); ?>
</body>
</html>

69
cancellation-refund.php Normal file
View file

@ -0,0 +1,69 @@
<?php
define('IN_SYS', true);
require_once ("core.php");
// $html = file_get_contents('https://ifastnet.com/portal/cancellation-refund.php');
// preg_match('/<footer[^>]*id="footer"[^>]*>(.*?) <//footer>/si', $html, $match);
$title = $title . ' - ' . $LANG['cancellation_refund'];
?>
<?php include ("include/header.php"); ?>
<div class="container">
<div class="page-header">
<h1 class="text-center"><?php echo $LANG['cancellation_refund']; ?></a></h1>
<p class="text-center">Cancelation &amp; refund information</p>
</div>
</div>
<section class="section-wrap cancelationInfo">
<div class="container">
<div class="row">
<div class="hidden-xs col-sm-12 col-md-12">
<h2>Cancellation Policy</h2>
</div>
<div class="col-sm-12 col-md-12">
<p>IFastNet.com (IFastNet LTD) believes in helping its customers as far as possible, and has
therefore a liberal cancellation policy. Under this policy:</p>
<ul type="d">
<li>Cancellations will be considered only if the request is made within 7 days of placing an
order. However, the cancellation request will not be entertained if the orders have been
communicated to the vendors/merchants and they have initiated the process of provisioning
services.
</li>
<li>Cancelations must be communicated to Ifastnet.com a minimum of 14 days before the service is
due. Failure to cancel before this period is acceptance of renewal of the service.
</li>
</ul>
</div>
</div>
</div>
</section>
<section class="section-wrap refundInfo">
<div class="container">
<div class="row">
<div class="hidden-xs col-sm-12 col-md-12"><h1>Refund Policy</h1></div>
<div class="col-sm-12 col-md-12">
<p>When you buy our products/services, your purchase is covered by our 7-day money-back guarantee.
If you are, for any reason, not entirely happy with your purchase, we will cheerfully issue a
full refund. We develop and sell software that we use ourselves every day and have thousands of
satisfied customers worldwide, and our support is second to none. That is why we can afford to
back our products with this special guarantee.</p>
<p>To request a refund, simply contact us with your
purchase details within seven (7) days of your purchase. Please include your order number (sent
to you via email after ordering) and optionally tell us why youre requesting a refund we take
customer feedback very seriously and use it to constantly improve our products and quality of
service. Refunds are not being provided for services delivered in full such as installation
service and provided knowledge base hosting service. Refunds are being processed within a 7 day
period.</p>
<p>If a service is canceled and a refund requested, the cost incurred of renewing or providing a
free domain name (if included with the service being canceled ) will be minused from the refund
amount (this could sometimes lead to a negative value).</p>
<p class="alert alert-warning"><i class="glyphicon glyphicon-info-sign"></i> Domain name renewal / registration fees and costs are non-refundable.</p>
</div>
</div>
</div>
</section>
<?php include ("include/footer.php"); ?>

33
contact.php Normal file
View file

@ -0,0 +1,33 @@
<?php
define('IN_SYS', true);
require_once ("core.php");
$title = $title . ' - ' . $LANG['contact_us'];
?>
<?php include ("include/header.php"); ?>
<div class="container">
<div class="page-header">
<h1><?php echo $LANG['contact_us']; ?></h1>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-sm-12 col-md-12">
<h2>Contact</h2>
<p>If you have any problems or have the need to contact us to ask a question,
you can use the <span>integrated support system</span> in your control panel to create a support ticket.</p>
<p>We will reply to your question as soon as possible.</p>
<p>For technical support please look at the <a href="http://byet.net" target="_blank">Knowledge Base</a></p>
</div>
<div class="col-sm-12 col-md-12">
<h2><?php echo $LANG['address']; ?></h2>
<p>Shanghai China.</p>
</div>
<div class="col-sm-12 col-md-12">
<h2>Others</h2>
<p class="alert alert-warning"><i class="glyphicon glyphicon-info-sign"></i> Crogram Inc.</p>
</div>
</div>
</div>
<?php include ("include/footer.php"); ?>

276
controllers/admin.php Normal file
View file

@ -0,0 +1,276 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: ../admin.php");
exit;
}
$session_name = session_name();
if (!isset($_COOKIE[$session_name])) {
foreach ($_COOKIE as $key => $val) {
$key = strtoupper($key);
if (strpos($key, $session_name)) {
session_id($_COOKIE[$key]);
}
}
}
session_start();
$is_admin = isset($_SESSION["is_login"]) && $_SESSION["is_login"] == true;
$section = !$is_admin ? "login" : (empty($_GET["s"]) ? "main" : $_GET["s"]);
// print(session_id());
// echo $_COOKIE["session_id"];
// print($_COOKIE(["session_id"]));
// print($is_admin);
$message = [];
$section_title = "Main";
switch ($section) {
case "main":
$section_title = "Main";
break;
case "check_domain":
$section_title = "Check domain";
if (isset($_POST["do_check_domain"])) {
$tsData = array(
"domain" => setProtect(strtolower($_POST["domain"])),
);
if (!isset($tsData["domain"]) || empty($tsData["domain"])) {
$message = [0, "The domain is required."];
} elseif (strlen($tsData["domain"]) < 4) {
$message = [0, "Enter a domain name or sub-domain."];
} elseif (strlen($tsData["domain"]) > 50) {
$message = [0, "The domain can not exceed 50 characters."];
} elseif (!mb_ereg("^([a-zA-Z0-9]+).([a-zA-Z0-9-]+).([a-zA-Z]{2,4})$", $tsData["domain"])) {
$message = [0, "The domain does not have a valid extension. Check it."];
} elseif (preg_match("/(^.*)\.(tk)$/i", $tsData["domain"])) {
// To not allow domains.tk
$message = [0, "The domain extension is not allowed on this server."];
} else {
$client = Api::init($config);
$client->availability(["domain" => $tsData["domain"]]);
$message = $client->message;
}
}
break;
case "account_add":
$section_title = "Account Add";
if (isset($_POST["do_reg_account"])) {
$tsData = [
"username" => setProtect(strtolower($_POST["username"])),
"password" => setProtect($_POST["password"]),
"domain" => setProtect(strtolower($_POST["domain"])),
"email" => setProtect(strtolower($_POST["email"])),
"plan" => setProtect($_POST["plan"]),
];
if (!isset($tsData["username"]) || empty($tsData["username"])) {
$message = [0, "The Username is required"];
} elseif (strlen($tsData["username"]) < 8 || strlen($tsData["username"]) > 12) {
$message = [0, "The username must be 8 characters."];
} elseif (!preg_match("/^[a-zA-Z0-9]{4,16}$/", $tsData["username"])) {
$message = [0, "The username does not allow strange characters."];
} elseif (strlen($tsData["password"]) < 6 || strlen($tsData["password"]) > 35) {
$message = [0, "Enter a minimum password of 6 to 35 characters."];
} elseif (strlen($tsData["domain"]) < 4) {
$message = [0, "Enter a domain name or sub-domain."];
} elseif (strlen($tsData["domain"]) > 35) {
$message = [0, "The domain can not exceed 35 characters."];
} elseif (!mb_ereg("^([a-zA-Z0-9]+).([a-zA-Z0-9-]+).([a-zA-Z]{2,4})$", $tsData["domain"])) {
$message = [0, "The domain does not have a valid extension. Check it."];
} elseif (preg_match("/(^.*)\.(tk)$/i", $tsData["domain"])) {
// To not allow domains.tk
$message = [0, "Domain extension is not allowed on this server."];
} elseif (!mb_ereg("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $tsData["email"])) {
$message = [0, "The email does not have a valid format, check it."];
} elseif (strlen($tsData["email"]) > 35) {
$message = [0, "The email can not exceed 35 characters."];
} elseif (empty($tsData["plan"])) {
$message = [0, "You must select a hosting plan."];
} else {
$client = Api::init($config);
$client->createAccount([
"username" => $tsData["username"], // A unique, 8 character identifier of the account.
"password" => $tsData["password"], // A password to login to the control panel, FTP MySQL and cPanel.
"domain" => $tsData["domain"], // Can be a subdomain or a custom domain.
"email" => $tsData["email"], // The email address of the user.
"plan" => $tsData["plan"], // A hosting plan for the account.
]);
$message = $client->message;
}
}
break;
case "account_password":
$section_title = "Account Password";
if (isset($_POST["do_set_password"])) {
$tsData = array(
"username" => setProtect(strtolower($_POST["username"])),
"password" => setProtect($_POST["password"]),
);
if (!isset($tsData["username"]) || empty($tsData["username"])) {
$message = [0, "The username is required"];
} elseif (strlen($tsData["username"]) < 4 || strlen($tsData["username"]) > 8) {
$message = [0, "The username must be 8 characters."];
} elseif (!preg_match("/^[a-zA-Z0-9]{4,16}$/", $tsData["username"])) {
$message = [0, "The username does not allow strange characters."];
} elseif (strlen($tsData["password"]) < 6 || strlen($tsData["password"]) > 35) {
$message = [0, "Enter a minimum password of 6 to 35 characters."];
} else {
$client = Api::init($config);
$client->password([
"username" => $tsData["username"],
"password" => $tsData["password"],
"enabledigest" => 1, // [enabledigest] Change the password in cPanel - FTP - MySQL
]);
$message = $client->message;
}
}
break;
case "account_disable":
$section_title = "Account Suspend";
if (isset($_POST["do_disable_account"])) {
$tsData = array(
"username" => setProtect(strtolower($_POST["username"])),
"reason" => setProtect($_POST["reason"]),
);
if (!isset($tsData["username"]) || empty($tsData["username"])) {
$message = [0, "The username is required."];
} elseif (strlen($tsData["username"]) < 4 || strlen($tsData["username"]) > 8) {
$message = [0, "The Username must be 8 characters"];
} elseif (!preg_match("/^[a-zA-Z0-9]{4,16}$/", $tsData["username"])) {
$message = [0, "The Username does not allow strange characters"];
} elseif (strlen($tsData["reason"]) < 10 || strlen($tsData["reason"]) > 60) {
$message = [0, "You must enter a reason with a maximum of 60 characters"];
} else {
$client = Api::init($config);
$client->suspend([
"username" => setProtect(strtolower($tsData["username"])),
"reason" => setProtect($tsData["reason"]),
]);
$message = $client->message;
}
}
break;
case "account_active":
$section_title = "Account Activate";
if (isset($_POST["do_activate_account"])) {
$tsData = array(
"username" => setProtect(strtolower($_POST["username"])),
);
if (!isset($tsData["username"]) || empty($tsData["username"])) {
$message = [0, "The username is required."];
} elseif (strlen($tsData["username"]) < 4 || strlen($tsData["username"]) > 8) {
$message = [0, "The username is invalid (8 characters maximum)."];
} elseif (!preg_match("/^[a-zA-Z0-9]{4,16}$/", $tsData["username"])) {
$message = [0, "The username does not allow strange characters.."];
} else {
$client = Api::init($config);
$client->unsuspend(["username" => setProtect(strtolower($tsData["username"]))]);
$message = $client->message;
}
}
break;
case "account_status":
$section_title = "Account Status";
if (isset($_POST["do_check_status"])) {
$tsData = array(
"username" => setProtect(strtolower($_POST["username"])),
);
if (!isset($tsData["username"]) || empty($tsData["username"])) {
$message = [0, "The username is required."];
} elseif (strlen($tsData["username"]) < 4 || strlen($tsData["username"]) > 18) {
$message = [0, "Enter a username that is valid."];
} elseif (!preg_match("/^[a-zA-Z0-9-_]{4,16}$/", $tsData["username"])) {
$message = [0, "The username does not allow strange characters."];
} else {
$client = Api::init($config);
$client->getUserDomains(["username" => $tsData["username"]]);
// if ($this->data != "null" && strpos($this->response, '[[') === 0) {
// $statuses = array_unique(array_map(function ($item) {
// return strtolower($item["status"]);
// }, $this->domain));
// // print_r($statuses);
// if (count($statuses) == 1) {
// return $statuses[0];
// } elseif (count($statuses) > 1) {
// return "The account domains have different statuses <b>" . $this->getUserName() . "</b>." . $this->data;
// } else {
// return null;
// }
// } else {
// return null;
// }
if ($client->getStatus() === "active") {
$message = [1, "<b>The account </b> " . $tsData["username"] . " is Actived"];
} elseif ($client->getStatus() === "suspend") {
$message = [1, "<b>The account </b> " . $tsData["username"] . " is Suspend"];
} else {
"Cannot find the specified associated account";
$message = [0, "The account <b>" . $tsData["username"] . "</b> does not have associated accounts."];
}
}
}
break;
case "account_domain":
$section_title = "Account Domains";
if (isset($_POST["do_get_domains"])) {
$tsData = array(
"username" => setProtect(strtolower($_POST["username"])),
);
if (!isset($tsData["username"]) || empty($tsData["username"])) {
$message = [0, "The username is required."];
} elseif (strlen($tsData["username"]) < 4 || strlen($tsData["username"]) > 18) {
$message = [0, "Enter a username that is valid."];
} elseif (!preg_match("/^[a-zA-Z0-9-_]{4,16}$/", $tsData["username"])) {
$message = [0, "The username does not allow strange characters."];
} else {
$client = Api::init($config);
$client->getUserDomains(["username" => $tsData["username"]]);
$message = $client->message;
}
}
break;
case "account_list":
$section_title = "Account List";
include_once $ROOT . "/data/member.php";
break;
case "login":
$section_title = "Admin Login";
if (isset($_POST["do_login"])) {
$username = setProtect(strtolower(trim($_POST["username"])));
$password = setProtect(strtolower(trim($_POST["password"])));
$captcha = setProtect(strtolower($_POST["captcha"]));
if (!isset($username) || empty($username)) {
$message = [0, "The username is required."];
} elseif (!isset($password) || empty($password)) {
$message = [0, "The password is required."];
} elseif (!isset($captcha) || empty($captcha)) {
$message = [0, "The captcha code is required."];
} else {
if (!isset($_SESSION["admincaptchacode"]) || $captcha != strtolower($_SESSION["admincaptchacode"])) {
$message = [0, "The captcha code is invalid."];
} elseif ($username == $admin["username"] && $password == $admin["password"]) {
$_SESSION["is_login"] = true;
$is_admin = true;
$message = [1, "Login successfully. 2 seconds later redirect to the main page"];
header("refresh:2;url=admin.php");
} else {
$is_admin = false;
$message = [0, "Login failed.Please check if the account or password is correct."];
}
}
}
break;
case "logout":
$section_title = "Admin Logout";
unset($_SESSION);
session_destroy();
$message = [1, "Logout successfully. 2 seconds later redirect to the login page"];
header("refresh:2;url=admin.php");
break;
default:
$section_title = "Main";
}

13
core.php Normal file
View file

@ -0,0 +1,13 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: index.php");
exit;
}
$ROOT = __DIR__;
include_once "{$ROOT}/data/config.php";
include_once "{$ROOT}/lib/language.php";
$rooturl = $_SERVER['HTTP_HOST'];
$domain = preg_replace('/^www\./', '', $rooturl);

31
data/config.php Normal file
View file

@ -0,0 +1,31 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: ../index.php");
exit;
}
$static_release = '1559728996134';
$brandName = "UIISC";
$iFastNetAff = 19474;
$CopyRightYear = "2013 - " . date("Y");
$title = "UIISC";
$title_s = "UIISC";
$author = 'Crogram Inc.';
$description = "uiisc, freewebhost, webhost, Crogram, iFastNet";
$google_site_verification = "5O6Wxt0gIyGb7btMuXiQqddZJ516n-xBOW_9RLMBeSY";
$admin = [
"username" => "admin",
"password" => "admin",
];
$config = [
"apiUsername" => "1",
"apiPassword" => "1",
"apiUrl" => "https://panel.myownfreehost.net:2087/xml-api/",
"plan" => [
"test_whm_api" => "test",
"ccc" => "test2",
],
];

23
data/member.php Normal file
View file

@ -0,0 +1,23 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: ../index.php");
exit;
}
// test data
$member = [
[
"branch" => "uiisc",
"account" => "testapi",
"username" => "uii_12345678",
"email" => "usitetest@uiisc.com",
"plan" => "test_whm_api",
"domain" => ["test1.uiisc.com", "testapi.uiisc.com"],
"password" => "abcAbc123",
"nameserver" => [
"ns1.byet.org",
"ns2.byet.org"
]
]
];

0
src/favicon.ico → favicon.ico Executable file → Normal file
View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

42
src/public/controllers/help.php → help.php Executable file → Normal file
View file

@ -1,9 +1,8 @@
<?php
if (!defined('IN_CRONLITE')) {
exit('Access Denied');
}
define('IN_SYS', true);
require_once "core.php";
$page_title = $page_title . ' - ' . $lang->I18N('help');
$title = $title . ' - ' . I18N('help');
$questions = [
[
@ -46,9 +45,34 @@ $questions = [
"title" => "What details should I post when asking for support ?",
"content" => "Don't post your account's password, including databases passwords! And just be specific."
]
];
]
require ROOT . '/public/views/common/header.php';
require ROOT . '/public/views/common/navbar.php';
require ROOT . '/public/views/help.php';
require ROOT . '/public/views/common/footer.php';
?>
<?php include("include/header.php"); ?>
<div class="container">
<div class="page-header">
<h1><?php echo I18N('help'); ?></h1>
</div>
</div>
<div class="container">
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<?php foreach ($questions as $key => $value) { ?>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="heading-<?php echo $key; ?>">
<a class="panel-title<?php echo $key == 0 ? '' : ' collapsed'; ?>" role="button" data-toggle="collapse" data-parent="#accordion" href="#questions-<?php echo $key; ?>" aria-expanded="<?php echo $key == 0 ? 'true' : 'false'; ?>" aria-controls="questions-<?php echo $key; ?>">
<?php echo $key + 1; ?>.<?php echo $value["title"]; ?>
</a>
</div>
<div id="questions-<?php echo $key; ?>" class="panel-collapse collapse<?php echo $key == 0 ? ' in' : ''; ?>" role="tabpanel" aria-labelledby="heading-<?php echo $key; ?>">
<div class="panel-body">
<p><?php echo $value["content"]; ?></p>
</div>
</div>
</div>
<?php } ?>
</div>
</div>
<?php include "include/footer.php"; ?>

18
include/about_crogram.php Normal file
View file

@ -0,0 +1,18 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: index.php");
exit;
}
?>
<div class="container">
<div class="bs-docs-header">
<h1><?php echo I18N('about'); ?> Crogram</h1>
</div>
</div>
<div class="container">
<div class="">
<a href="https://crogram.com" target="blank">Crogram</a>
</div>
</div>

View file

@ -0,0 +1,19 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: index.php");
exit;
}
?>
<div class="container">
<div class="bs-docs-header">
<h1><?php echo I18N('about'); ?> iFastNet</h1>
</div>
</div>
<div class="container">
<div class="">
<a href="https://ifastnet.com/portal/aff.php?aff=<?php echo $iFastNetAff; ?>" target="blank">iFastNet</a>
</div>
</div>

19
include/about_uiisc.php Normal file
View file

@ -0,0 +1,19 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: index.php");
exit;
}
?>
<div class="container">
<div class="bs-docs-header">
<h1><?php echo I18N('about'); ?> UIISC</h1>
</div>
</div>
<div class="container">
<div class="">
<a href="http://uiisc.com">UIISC</a>
</div>
</div>

45
include/admin_footer.php Normal file
View file

@ -0,0 +1,45 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: ../admin.php");
exit;
}
?>
<footer class="footer navbar navbar-default navbar-fixed-bottom">
<div class="container">
<div class="navbar-inner navbar-content-center" style="padding-top:15px;">
<ul class="navbar-left list-inline text-center text-muted credit">
<li>
<span class="co">&copy;&nbsp;<?php echo $CopyRightYear; ?>&nbsp;<a href="index.php"><?php echo $title_s;?></a>&nbsp;</span>
<span class="co">&nbsp;Powered by <a href="https://crogram.com" target="blank">Crogram</a>&nbsp;</span>
<span class="co">&nbsp;Partnered with <a href="https://ifastnet.com/" name="jump-ifastnet" target="blank">iFastNet</a>&nbsp;</span>
</li>
</ul>
<ul class="legal navbar-right list-inline text-center">
<li class="dropup">
<div class="dropdown-toggle" id="changelanguage" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="glyphicon glyphicon-globe"></span>
<a href="#"><?php echo $languages[$current_lang][0]; ?></a>
</div>
<ul class="dropdown-menu language-change" aria-labelledby="changelanguage">
<?php foreach ($languages as $key => $value) {
$actived = $key == $current_lang ? ' class="active"' : '';
echo '<li' .$actived . '><a class="language-change-click" data-language="' . $key . '" href="javascript://">' . $languages[$key][0] . '</a></li>';
}?>
</ul>
</li>
<li><a href="about.php"><?php echo I18N('about'); ?></a></li>
<li><a href="contact.php"><?php echo I18N('contact'); ?></a></li>
<li><a href="support.php"><?php echo I18N('support'); ?></a></li>
</ul>
</div>
</div>
</footer>
<script src="assets/jquery/jquery.min.js"></script>
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
<script src="assets/js/common.js?_=<?php echo $static_release; ?>"></script>
</body>
</html>

81
include/admin_header.php Normal file
View file

@ -0,0 +1,81 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: ../admin.php");
exit;
}
?>
<!DOCTYPE html>
<html lang="<?php echo $current_lang; ?>">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
<meta name="description" content="<?php echo $description; ?>">
<meta name="author" content="<?php echo $author; ?>">
<title><?php echo $title; ?> - Hosting Account Management System - <?php echo $section_title; ?></title>
<link href="assets/bootstrap/css/bootstrap.min.css?_=<?php echo $static_release; ?>" rel="stylesheet" />
<link href="assets/css/style.css?_=<?php echo $static_release; ?>" rel="stylesheet" />
<link href="assets/css/admin.css?_=<?php echo $static_release; ?>" rel="stylesheet" />
<link href="favicon.ico?_=<?php echo $static_release; ?>" type="image/x-icon" rel="icon" />
<link href="favicon.ico?_=<?php echo $static_release; ?>" type="image/x-icon" rel="shortcut icon" />
<!--[if lt IE 9]>
<script src="assets/html5shiv/html5shiv.min.js"></script>
<script src="assets/respond/respond.min.js"></script>
<![endif]-->
<script type="text/javascript">
var domain = "<?php echo $lang->getDomain(); ?>";
var cur_lang = "<?php echo $current_lang; ?>";
var ifastnet_aff = <?php echo $iFastNetAff; ?>;
</script>
</head>
<body>
<div class="container">
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="admin.php"><?php echo $brandName; ?></a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.php"><?php echo I18N('home'); ?></a></li>
<?php if ($is_admin) { ?>
<li class="dropdown">
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">Account&nbsp;<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li class="dropdown-header">Account Management</li>
<li><a href="admin.php?s=check_domain">Check Domain</a></li>
<li><a href="admin.php?s=account_list">Account List</a></li>
<li><a href="admin.php?s=account_add">Account Add</a></li>
<li><a href="admin.php?s=account_password">Account Password</a></li>
<li><a href="admin.php?s=account_active">Account Activate</a></li>
<li><a href="admin.php?s=account_status">Account Status</a></li>
<li><a href="admin.php?s=account_domain">Account Domains</a></li>
<li class="divider"></li>
<li><a href="admin.php?s=account_disable">Account Suspend</a></li>
</ul>
</li>
<?php } ?>
</ul>
<ul class="nav navbar-nav navbar-right">
<?php if ($is_admin) { ?>
<li><a href="admin.php?s=logout">Logout</a></li>
<?php } else { ?>
<li><a href="admin.php?s=login"><?php echo I18N('login'); ?></a></li>
<?php } ?>
<li><a href="index.php"><?php echo I18N('home'); ?></a></li>
</ul>
</div>
</div>
<a class="hidden-xs" href="https://github.com/uiisc/uiisc.com" title="Source on Github" target="_blank"><svg class="octocat" viewBox="0 0 250 250" style="border: 0;color: #f4f5f6;fill: #5e6772;height: 5.2rem;width: 5.2rem;position: fixed;right: 0;top: 0;z-index: 1"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path class="octocat-arm" d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"></path><path class="octocat-body" d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"></path></svg></a>
</nav>
</div>

View file

21
include/common.php Normal file
View file

@ -0,0 +1,21 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: ../index.php");
exit;
}
/**
* Verify PHP version
*/
function getVersion()
{
if ((float)phpversion() < 5.5) {
exit('<center style="font-family:Verdana, Geneva, sans-serif;font-size:14px;margin:10% auto;"><p><b>Oops!</b> There was a problem. Apparently <br/>You are using the php <b>version ' . phpversion() . '</b> a lower version than the one indicated <br/></p><h2>Anake script requires the php version</h2><h1 style="font-size:4em;">5.5.+</h1></center>');
}
}
// Protect the entered data function
function setProtect($var)
{
return htmlentities(htmlspecialchars($var));
}

View file

47
include/footer.php Normal file
View file

@ -0,0 +1,47 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: ../index.php");
exit;
}
?>
<footer class="footer navbar navbar-default navbar-fixed-bottom">
<div class="container">
<div class="navbar-inner navbar-content-center" style="padding-top:15px;">
<ul class="navbar-left list-inline text-center text-muted credit">
<li>
<span class="co">&copy;&nbsp;<?php echo $CopyRightYear; ?>&nbsp;<a href="index.php"><?= $title_s ?></a>&nbsp;</span>
<span class="co">&nbsp;Powered by <a href="https://crogram.com" target="blank">Crogram</a>&nbsp;</span>
<span class="co">&nbsp;Partnered with <a href="https://ifastnet.com/" name="jump-ifastnet" target="blank">iFastNet</a>&nbsp;</span>
</li>
</ul>
<ul class="legal navbar-right list-inline text-center">
<li class="dropup">
<div class="dropdown-toggle" id="changelanguage" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="glyphicon glyphicon-globe"></span>
<a href="#"><?php echo $languages[$current_lang][0]; ?></a>
</div>
<ul class="dropdown-menu language-change" aria-labelledby="changelanguage">
<?php foreach ($languages as $key => $value) {
$actived = $key == $current_lang ? ' class="active"' : '';
echo '<li' . $actived . '><a class="language-change-click" data-language="' . $key . '" href="javascript://">' . $languages[$key][0] . '</a></li>';
} ?>
</ul>
</li>
<li><a href="about.php"><?php echo I18N('about'); ?></a></li>
<li><a href="contact.php"><?php echo I18N('contact'); ?></a></li>
<li><a href="support.php"><?php echo I18N('support'); ?></a></li>
</ul>
</div>
</div>
</footer>
<script src="assets/jquery/jquery.min.js"></script>
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
<script src="assets/js/common.js?_=<?php echo $static_release; ?>"></script>
<?php include("google_analytics.php"); ?>
</body>
</html>

View file

@ -5,4 +5,4 @@
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-28162642-10');
</script>
</script>

87
include/header.php Normal file
View file

@ -0,0 +1,87 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: ../index.php");
exit;
}
?>
<!DOCTYPE html>
<html lang="<?php echo $current_lang; ?>">
<head>
<meta charset="utf-8">
<title><?php echo $title; ?></title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
<meta name="description" content="<?php echo $description; ?>">
<meta name="author" content="<?php echo $author; ?>">
<?php if (!empty($google_site_verification)) { ?><meta name="google-site-verification" content="<?php echo $google_site_verification; ?>" />
<?php } ?>
<link href="favicon.ico?_=<?php echo $static_release; ?>" rel="icon">
<link href="assets/bootstrap/css/bootstrap.min.css?_=<?php echo $static_release; ?>" rel="stylesheet">
<link href="assets/css/style.css?_=<?php echo $static_release; ?>" rel="stylesheet">
<!--[if lt IE 9]>
<script src="assets/html5shiv/html5shiv.min.js"></script>
<script src="assets/respond/respond.min.js"></script>
<![endif]-->
<script type="text/javascript">
var domain = "<?php echo $lang->getDomain(); ?>";
var cur_lang = "<?php echo $current_lang; ?>";
var ifastnet_aff = <?php echo $iFastNetAff; ?>;
</script>
</head>
<body>
<div class="container">
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="javascript:void(0);"><?php echo $title_s; ?></a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="index.php"><?php echo $LANG['home']; ?></a></li>
<li><a href="solution.php"><?php echo $LANG['solution']; ?></a></li>
<li><a href="support.php"><?php echo $LANG['support']; ?></a></li>
<li class="dropdown">
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown"><?php echo $LANG['more']; ?>&nbsp;<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="contact.php"><?php echo $LANG['contact']; ?></a></li>
<li><a href="help.php"><?php echo $LANG['help']; ?></a></li>
<li><a href="support.php"><?php echo $LANG['support']; ?></a></li>
<li class="divider"></li>
<li class="dropdown-header"><?php echo $LANG['aboutus']; ?></li>
<li><a href="about.php"><?php echo $LANG['about']; ?> UIISC</a></li>
<li><a href="about.php?s=crogram"><?php echo $LANG['about']; ?> Crogram,Inc.</a></li>
<li><a href="about.php?s=ifastnet"><?php echo $LANG['about']; ?> iFastNet</a></li>
<li class="divider"></li>
<li><a href="cancellation-refund.php"><?php echo $LANG['cancellation_refund']; ?></a></li>
<li><a href="payment-methods.php"><?php echo $LANG['payment_methods']; ?></a></li>
<li class="divider"></li>
<li class="dropdown-header"><?php echo $LANG['legal_information']; ?></li>
<li><a href="legal.php?s=terms"><?php echo $LANG['tos']; ?></a></li>
<li><a href="legal.php?s=privacy"><?php echo $LANG['privacy_policy']; ?></a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="login.php"><?php echo $LANG['login']; ?></a></li>
<li><a href="register.php"><?php echo $LANG['register']; ?></a></li>
</ul>
</div>
</div>
<a class="hidden-xs" href="https://github.com/uiisc/uiisc.com" title="Source on Github" target="_blank"><svg class="octocat" viewBox="0 0 250 250" style="border: 0;color: #f4f5f6;fill: #5e6772;height: 5.2rem;width: 5.2rem;position: fixed;right: 0;top: 0;z-index: 1">
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
<path class="octocat-arm" d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"></path>
<path class="octocat-body" d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"></path>
</svg></a>
</nav>
</div>

2
include/index.php Normal file
View file

@ -0,0 +1,2 @@
<?php
header("Location: ../index.php");

77
include/legal_privacy.php Normal file
View file

@ -0,0 +1,77 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: ../index.php");
exit;
}
// $html = file_get_contents('https://ifastnet.com/privacy.php');
// preg_match('/<footer[^>]*id="footer"[^>]*>(.*?) <//footer>/si', $html, $match);
$title = $title . ' - ' . $LANG['privacy_policy'];
?>
<div class="container">
<div class="page-header">
<h1 class="text-center"><?php echo $LANG['privacy_policy']; ?></a></h1>
<p class="text-center">Privacy policy information</p>
</div>
</div>
<section class="section-wrap privacyInfo">
<div class="container">
<div class="row">
<div class="hidden-xs col-sm-12 col-md-12">
<h1>Privacy Policy</h1>
</div>
<div class="col-sm-12 col-md-12">
<h2>IFastNet LTD Privacy Policy</h2>
<p>In an effort to protect our clients' and site visitors privacy and rights, IFastNet LTD has
established a Privacy Policy which explains what information we gather on visitors and what we
do with information that we gather.</p>
<p>This Privacy Policy governs the manner in which IFastNet LTD collects, uses, maintains and
discloses information collected from users of this Web site (each, a "User").</p>
</div>
<div class="col-sm-12 col-md-12">
<h2>Privacy</h2>
<p>Users' privacy is very important to IFastNet LTD. We are committed to safeguarding the
information Users entrust to IFastNet LTD.</p>
</div>
<div class="col-sm-12 col-md-12">
<h2>The information we collect</h2>
<p>IFastNet LTD collects personally identifiable information from Users through online forms for
ordering products and services. We may also collect information about how Users use our Web
site, for example, by tracking the number of unique views received by the pages of the Web site
or the domains from which Users originate. We use "cookies" to track how Users use our Web
site.</p>
</div>
<div class="col-sm-12 col-md-12">
<h2>How we use information</h2>
<p>IFastNet LTD may use personally identifiable information collected through our Web site to
contact Users regarding products and services offered by IFastNet LTD and its trusted
affiliates, independent contractors and business partners, and otherwise to enhance Users'
experience with IFastNet LTD and such affiliates, independent contractors and business partners.
</p>
<p>At no time will IFastNet LTD's database of users ever be sold to any entity for the purpose of
marketing or mailing lists. Personal information will not be sold or otherwise transferred to
our business partners without your prior consent, except that we will disclose the information
we collect to third parties when, in our good faith judgment, we are obligated to do so under
applicable laws.</p>
</div>
<div class="col-sm-12 col-md-12">
<h2>Cookies</h2>
<p>Cookies are small digital signature files that are stored by your web browser that allow your
preferences to be recorded when visiting the website. Also they may be used to track your return
visits to the website.</p>
<p>3rd party advertising companies may also use cookies for tracking purposes.</p>
</div>
</div>
</div>
</section>

835
include/legal_terms.php Normal file
View file

@ -0,0 +1,835 @@
<?php
if (!defined('IN_SYS')) {
// exit('禁止访问');
header("Location: ../index.php");
exit;
}
// $html = file_get_contents('https://ifastnet.com/portal/terms.php');
// preg_match('/<footer[^>]*id="footer"[^>]*>(.*?) <//footer>/si', $html, $match);
$title = $title . ' - ' . $LANG['tos'];
?>
<div class="container">
<div class="page-header">
<h1 class="text-center"><?php echo $LANG['tos']; ?></a></h1>
<p class="text-center">Service Conditions and Policies</p>
</div>
</div>
<section class="section-wrap termsInfo">
<div class="container">
<div class="row">
<div class="hidden-xs col-sm-12 col-md-12"><h1>Terms of Service</h1></div>
<div class="col-sm-12 col-md-12 termsInfo">
<p>On this page you will find our terms of service as well as links to our privacy policies and payment information. Click on the links bellow to change between other legal information.</p>
</div>
<div class="col-sm-12 col-md-12 termsDiv">
<h2>1. ACCEPTANCE OF TERMS</h2>
<p>IFastNet LTD (from
now on named "IFastNet") welcomes you.</p>
<p>IFastNet provides
its service to you subject to the following Terms of Service ("TOS"),
which may be updated by us from time to time without notice to you.
In addition, when using particular IFastNet owned or operated
services, you and IFastNet shall be subject to any posted guidelines
or rules applicable to such services, which may be posted from time
to time.</p>
<p>All such guidelines
or rules (including, but not limited to our Spam Policy) are hereby
incorporated by reference into the TOS. IFastNet may also offer other
services that are governed by different Terms of Service.</p>
<h2>2. DESCRIPTION OF SERVICE</h2>
<p>IFastNet provides
users with access to a rich collection of resources, including
various communications tools, forums, shopping services, search
services, personalized content and branded programming through its
network of properties which may be accessed through any various
medium or device now known or hereafter developed (the "Service").</p>
<p>You also understand
and agree that the Service may include advertisements and that these
advertisements are necessary for IFastNet to provide the Service. You
also understand and agree that the Service may include certain
communications from IFastNet, such as service announcements,
administrative messages and the IFastNet Newsletter, and that these
communications are considered part of IFastNet membership and you
will not be able to opt out of receiving them. Unless explicitly
stated otherwise, any new features that augment or enhance the
current Service, including the release of new IFastNet properties,
shall be subject to the TOS.</p>
<p>You understand and
agree that the Service is provided "AS-IS" and that
IFastNet assumes no responsibility for the timeliness, deletion,
mis-delivery or failure to store any user communications or
personalization settings. You are responsible for obtaining access to
the Service, and that access may involve third-party fees (such as
Internet service provider or airtime charges). You are responsible
for those fees, including those fees associated with the display or
delivery of advertisements. In addition, you must provide and are
responsible for all equipment necessary to access the Service.</p>
<h2>3. YOUR REGISTRATION OBLIGATIONS</h2>
<p>In consideration of
your use of the Service, you represent that you are of legal age to
form a binding contract and are not a person barred from receiving
services under the laws of the United States or other applicable
jurisdiction.</p>
<p>You also agree to:</p>
<ol type="a">
<li><p>provide true,
accurate, current and complete information about yourself as
prompted by the Service's registration form (the "Registration
Data") and</p>
</li><li><p>maintain and
promptly update the Registration Data to keep it true, accurate,
current and complete. If you provide any information that is untrue,
inaccurate, not current or incomplete, or IFastNet has reasonable
grounds to suspect that such information is untrue, inaccurate, not
current or incomplete, IFastNet has the right to suspend or
terminate your account and refuse any and all current or future use
of the Service (or any portion thereof).</p>
</li></ol>
<p>IFastNet is
concerned about the safety and privacy of all its users, particularly
children. Please remember that the Service is designed to appeal to a
broad audience. Accordingly, as the legal guardian, it is your
responsibility to determine whether any of the Service areas and/or
Content (as defined in Section 6 below) are appropriate for your
child.</p>
<h2>4. IFASTNET PRIVACY POLICY</h2>
<p>Registration Data
and certain other information about you is subject to our Privacy
Policy. For more information, see our full privacy policy at Privacy
Policy , You understand that through your use of the Service you
consent to the collection and use (as set forth in the Privacy
Policy) of this information, including the transfer of this
information to the United States and/or other countries for storage,
processing and use by IFastNet and its affiliates.</p>
<h2>5. MEMBER ACCOUNT, PASSWORD AND SECURITY</h2>
<p>You will receive a
password and account designation upon completing the Service's
registration process. You are responsible for maintaining the
confidentiality of the password and account and are fully responsible
for all activities that occur under your password or account. You
agree to:</p>
<ol type="a">
<li><p>immediately
notify IFastNet of any unauthorized use of your password or account
or any other breach of security, and</p>
</li><li><p>ensure that you
exit from your account at the end of each session. IFastNet cannot
and will not be liable for any loss or damage arising from your
failure to comply with this Section 5.</p>
</li></ol>
<h2>6. MEMBER CONDUCT</h2>
<p>You understand that
all information, data, text, software, music, sound, photographs,
graphics, video, messages, tags, or other materials ("Content"),
whether publicly posted or privately transmitted, are the sole
responsibility of the person from whom such Content originated. This
means that you, and not IFastNet , are entirely responsible for all
Content that you upload, post, email, transmit or otherwise make
available via the Service. IFastNet does not control the Content
posted via the Service and, as such, does not guarantee the accuracy,
integrity or quality of such Content. You understand that by using
the Service, you may be exposed to Content that is offensive,
pornographic, indecent or objectionable.</p>
<p>Under no
circumstances will IFastNet be liable in any way for any Content,
including, but not limited to, any errors or omissions in any
Content, or any loss or damage of any kind incurred as a result of
the use of any Content posted, emailed, transmitted or otherwise made
available via the Service.</p>
<p>Utilization of the
myownfreehost product requires any abuse emails to be forwarded to
abuse@ifastnet.com, or abuse tickets escalating. Failure to comply is
a gross violation of these Terms.</p>
<p>You agree to not use
the Service to:</p>
<ul>
<li><p>upload, post,
email, transmit or otherwise make available any Content that is
unlawful, harmful, threatening, abusive, harassing, tortious,
defamatory, vulgar, obscene, libelous, invasive of another's
privacy, hateful, or racially, ethnically or otherwise
objectionable;</p>
</li><li><p>harm minors in
any way;</p>
</li><li><p>impersonate any
person or entity, including, but not limited to, a IFastNet
official, forum leader, guide or host, or falsely state or otherwise
misrepresent your affiliation with a person or entity;</p>
</li><li><p>forge headers
or otherwise manipulate identifiers in order to disguise the origin
of any Content transmitted through the Service;</p>
</li><li><p>upload, post,
email, transmit or otherwise make available any Content that you do
not have a right to make available under any law or under
contractual or fiduciary relationships (such as inside information,
proprietary and confidential information learned or disclosed as
part of employment relationships or under nondisclosure agreements);</p>
</li><li><p>upload, post,
email, transmit or otherwise make available any Content that
infringes any patent, trademark, trade secret, copyright or other
proprietary rights ("Rights") of any party; This includes
linking to or redirecting to any content or copyright files hosted
on a 3rd party resource / servers.</p>
</li><li><p>upload, post,
email, transmit or otherwise make available any unsolicited or
unauthorized advertising, promotional materials, "junk mail,"
"spam," "chain letters," "pyramid schemes,"
or any other form of solicitation, except in those areas (such as
shopping) that are designated for such purpose (please read our
complete Spam Policy);</p>
</li><li><p>upload, post,
email, transmit or otherwise make available any material that
contains software viruses or any other computer code, files or
programs designed to interrupt, destroy or limit the functionality
of any computer software or hardware or telecommunications
equipment;</p>
</li><li><p>upload, post,
email, transmit or otherwise make available any material that is of
broadcast / streaming types.</p>
</li><li><p>upload, post,
email, transmit or otherwise make available any material that is of</p>
</li><li><p>keylogging /
proxy service / irc / shell(s) if any type / file hosting / file
sharing types.</p>
</li><li><p>upload, post,
email, transmit or otherwise make available any material on free
hosting accounts that is of pornographic nature. This excludes
premium paid hosting accounts (cPanel/WHM hosting accounts).</p>
</li><li><p>interfere with
or disrupt the Service or servers or networks connected to the
Service, or disobey any requirements, procedures, policies or
regulations of networks connected to the Service;</p>
</li><li><p>intentionally
or unintentionally violate any applicable local, state, national or
international law, including, but not limited to, regulations
promulgated by the U.S. Securities and Exchange Commission, any
rules of any national or other securities exchange, including,
without limitation, the New York Stock Exchange, the American Stock
Exchange or the NASDAQ, and any regulations having the force of law;</p>
</li><li><p>provide
material support or resources (or to conceal or disguise the nature,
location, source, or ownership of material support or resources) to
any organization(s) designated by the United States government as a
foreign terrorist organization pursuant to section 219 of the
Immigration and Nationality Act;</p>
</li><li><p>"stalk"
or otherwise harass another; and/or</p>
</li><li><p>upload, post,
email, transmit or otherwise material for the purposes of file
distribution, relay, or streaming reasons.</p>
</li><li><p>collect or
store personal data about other users in connection with the
prohibited conduct and activities set forth in paragraphs 1 through
15 above.</p>
</li></ul>
<h3>USE OF COPYRIGHT MATERIAL AND PROOF OF OWNERSHIP
OF CONTENT</h3>
<p>Sites must not
contain Warez, copyright or other illegal material including links or
redirects to copyright material hosted on 3rd party websites /
resources. The onus is on you the customer to prove that you own the
rights to publish material, not for IFastNet to prove that you do
not. IFastNet does not allow the propagation or distribution of
copyright material, files or warez under any circumstances.</p>
<h3>ACCEPTABLE SERVER RESOURCE USE</h3>
<p>Sites must not use
excessive amounts of server resources. These include bandwidth,
processor utilization and / or disk space. Please see the 'High
Resource Use Policy' in the General Terms and Conditions.</p>
<h3>SCRIPT USAGE TERMS</h3>
<p>Scripts on the site
must be designed to produce web-based content, and not to use the
server as an application server. Using the server to generate large
volumes of email from a database is an example of activity that is
not allowed. Scripts should not attempt to manipulate the timeouts on
servers. These are set at the present values to ensure the
reliability of the server. Sites that reset these do so because they
are resource intensive, and adversely affect server performance and
are therefore not allowed. Scripts that are designed to provide proxy
services, anonymous or otherwise, are not allowed.</p>
<p>The primary purpose
of any script must be to produce a web page. Scripts that send a
single email based upon user entered information, or update a
database are acceptable. Scripts that send bulk email or perform
processor intensive database processes are not allowed. All outgoing
mail is monitored and filtered and must be sent to or from a IFastNet
-hosted domain.</p>
<p>Sites must not
contain scripts that attempt to access privileged server resources,
or other sites on the same server</p>
<h3>USAGE OF DISK SPACE TERMS</h3>
<p>IFastNet offers
large web space and bandwidth with hosting accounts. By this, we mean
space for legitimate web site content and bandwidth for visitors to
view it. All files on a domain must be part of the active website and
linked to the site. Sites should not contain any backups, downloads,
or other non-web based content. We will treat all password protected
archive (e.g. zip and rar) files as unacceptable. Multimedia content
such as audio and video is acceptable provided it is streamed to the
user, links to HTTP download of this content is not acceptable.</p>
<p>On unlimited disk
space plans we offer quotaless disk space access, however the disks
in servers are not unlimited so you may become limited if a hard
drive begins to fill to capacity.</p>
<p>INODE USAGE</p>
<p>In computing, an
inode is a data structure on a traditional Unix-style file system
such as UFS. An inode stores basic information about a regular file,
directory, or other file system object.</p>
<p><a href="https://en.wikipedia.org/wiki/Inode">en.wikipedia.org/wiki/Inode</a></p>
<p>IFastNet reserves
the right to limit INODEs usage on premium hosting plans to 380000 on starter premium plan, 840000 on super and ultimate premium plans, and unlimited inodes on Business hosting plans subject to acceptable
usage.</p>
<h3>RIGHT TO SUSPEND / TERMINATE HOSTING SERVICES</h3>
<p>You acknowledge that
IFastNet may or may not pre-screen Content, but that IFastNet and its
designees shall have the right (but not the obligation) in their sole
discretion to pre-screen, refuse, or remove any Content that is
available via the Service. Without limiting the foregoing, IFastNet
and its designees shall have the right to remove any Content that
violates the TOS or is otherwise objectionable. You agree that you
must evaluate, and bear all risks associated with, the use of any
Content, including any reliance on the accuracy, completeness, or
usefulness of such Content. In this regard, you acknowledge that you
may not rely on any Content created by IFastNet or submitted to
IFastNet , including without limitation information in IFastNet
Message Boards and in all other parts of the Service.</p>
<p>You acknowledge,
consent and agree that IFastNet may access, preserve and disclose
your account information and Content if required to do so by law or
in a good faith belief that such access preservation or disclosure is
reasonably necessary to:</p>
<ol type="a">
<li><p>comply with
legal process;</p>
</li><li><p>enforce the
TOS;</p>
</li><li><p>respond to
claims that any Content violates the rights of third parties;</p>
</li><li><p>respond to your
requests for customer service; or (e) protect the rights, property
or personal safety of IFastNet , its users and the public;</p>
</li></ol>
<p>You understand that
the technical processing and transmission of the Service, including
your Content, may involve</p>
<ol type="a">
<li><p>transmissions
over various networks; and</p>
</li><li><p>changes to
conform and adapt to technical requirements of connecting networks
or devices;</p>
</li></ol>
<p>You understand that
the Service and software embodied within the Service may include
security components that permit digital materials to be protected,
and that use of these materials is subject to usage rules set by
IFastNet and/or content providers who provide content to the Service.
You may not attempt to override or circumvent any of the usage rules
embedded into the Service. Any unauthorized reproduction,
publication, further distribution or public exhibition of the
materials provided on the Service, in whole or in part, is strictly
prohibited.</p>
<h2>7. INTERSTATE NATURE OF COMMUNICATIONS ON
IFASTNET NETWORK</h2>
<p>When you register
with IFastNet , you acknowledge that in using IFastNet services to
send electronic communications (including but not limited to email,
uploading photos and files and other Internet activities), you will
be causing communications to be sent through IFastNet 's computer
networks, portions of which are located in California, Ohio, UK, and
other locations in the United States and portions of which are
located abroad. As a result, and also as a result of IFastNet 's
network architecture and business practices and the nature of
electronic communications, even communications that seem to be
intrastate in nature can result in the transmission of interstate
communications regardless of where you are physically located at the
time of transmission. Accordingly, by agreeing to this Terms of
Service, you acknowledge that use of the service results in
interstate data transmissions.</p>
<h3>8. SPECIAL ADMONITIONS FOR INTERNATIONAL USE</h3>
<p>Recognizing the
global nature of the Internet, you agree to comply with all local
rules regarding online conduct and acceptable Content. Specifically,
you agree to comply with all applicable laws regarding the
transmission of technical data exported from the United States or the
country in which you reside.</p>
<h2>9. CONTENT SUBMITTED OR MADE AVAILABLE FOR
INCLUSION ON THE SERVICE</h2>
<p>IFastNet does not
claim ownership of Content you submit or make available for inclusion
on the Service. However, with respect to Content you submit or make
available for inclusion on publicly accessible areas of the Service,
you grant IFastNet the following worldwide, royalty-free and
non-exclusive license(s), as applicable:</p>
<ul>
<li><p>With respect to
Content you submit or make available for inclusion on publicly
accessible areas of IFastNet Servers, the license to use,
distribute, reproduce, modify, adapt, publicly perform and publicly
display such Content on the Service solely for the purposes of
providing and promoting the IFastNet Service to which such Content
was submitted or made available. This license exists only for as
long as you elect to continue to include such Content on the Service
and will terminate at the time you remove or IFastNet removes such
Content from the Service.</p>
</li><li><p>With respect to
photos, graphics, audio or video you submit or make available for
inclusion on publicly accessible areas of the Service other than
IFastNet Servers, the license to use, distribute, reproduce, modify,
adapt, publicly perform and publicly display such Content on the
Service solely for the purpose for which such Content was submitted
or made available. This license exists only for as long as you elect
to continue to include such Content on the Service and will
terminate at the time you remove or IFastNet removes such Content
from the Service.</p>
</li><li><p>With respect to
Content other than photos, graphics, audio or video you submit or
make available for inclusion on publicly accessible areas of the
Service other than ifastnet Servers, the perpetual, irrevocable and
fully sublicensable license to use, distribute, reproduce, modify,
adapt, publish, translate, publicly perform and publicly display
such Content (in whole or in part) and to incorporate such Content
into other works in any format or medium now known or later
developed.</p>
</li></ul>
<p>"Publicly
accessible" areas of the Service are those areas of the IFastNet
network of properties that are intended by IFastNet to be available
to the general public. By way of example, publicly accessible areas
of the Service would include IFastNet Message Boards and all areas
that are open to both members and visitors. However, publicly
accessible areas of the Service would not include portions of
IFastNet Servers that are limited to members, IFastNet services
intended for private communication such as IFastNet Mail or, or areas
off of the IFastNet network of properties such as portions of World
Wide Web sites that are accessible via hypertext or other links but
are not hosted or served by IFastNet .</p>
<h2>10. CONTRIBUTIONS TO IFASTNET</h2>
<p>By submitting ideas,
suggestions, documents, and/or proposals ("Contributions")
to ifastnet through its forum, or contact forums, you acknowledge and
agree that:</p>
<ol type="a">
<li><p>your
Contributions do not contain confidential or proprietary
information;</p>
</li><li><p>IFastNet is not
under any obligation of confidentiality, express or implied, with
respect to the Contributions;</p>
</li><li><p>IFastNet shall
be entitled to use or disclose (or choose not to use or disclose)
such Contributions for any purpose, in any way, in any media
worldwide;</p>
</li><li><p>IFastNet may
have something similar to the Contributions already under
consideration or in development;</p>
</li><li><p>your
Contributions automatically become the property of IFastNet without
any obligation of IFastNet to you; and</p>
</li><li><p>you are not
entitled to any compensation or reimbursement of any kind from
IFastNet under any circumstances.</p>
</li></ol>
<h2>11. INDEMNITY</h2>
<p>You agree to
indemnify and hold IFastNet and its subsidiaries, affiliates,
officers, agents, employees, partners and licensors harmless from any
claim or demand, including reasonable attorneys' fees, made by any
third party due to or arising out of Content you submit, post,
transmit or otherwise make available through the Service, your use of
the Service, your connection to the Service, your violation of the
TOS, or your violation of any rights of another.</p>
<h2>12. NO RESALE OF SERVICE</h2>
<p>You agree not to
reproduce, duplicate, copy, sell, trade, resell or exploit for any
commercial purposes, any portion of the Service (including your
IFastNet ID), use of the Service, or access to the Service, unless
you are a member of the IFastNet Reseller Service, utilising the
reselling platform to resell to end users.</p>
<h2>13. GENERAL PRACTICES REGARDING USE AND STORAGE</h2>
<p>You acknowledge that
IFastNet may establish general practices and limits concerning use of
the Service, including without limitation the maximum number of days
that idle hosting accounts, message board postings or other uploaded
Content will be retained by the Service, the maximum number of email
messages that may be sent from or received by an account on the
Service, the maximum size of any email message that may be sent from
or received by an account on the Service, the maximum disk space that
will be allotted on IFastNet 's servers on your behalf, and the
maximum number of times (and the maximum duration for which) you may
access the Service in a given period of time. You agree that IFastNet
has no responsibility or liability for the deletion or failure to
store any messages and other communications or other Content
maintained or transmitted by the Service. You acknowledge that
IFastNet reserves the right to log off accounts that are inactive for
an extended period of time. You further acknowledge that ifastnet
reserves the right to modify these general practices and limits from
time to time.</p>
<h2>14. MODIFICATIONS TO SERVICE</h2>
<p>You agree that
IFastNet may, under certain circumstances and without prior notice,
immediately terminate your IFastNet account, any associated email
address, and access to the Service. Cause for such termination shall
include, but not be limited to:</p>
<ol type="a">
<li><p>breaches or
violations of the TOS or other incorporated agreements or guidelines</p>
</li><li><p>requests by law
enforcement or other government agencies</p>
</li><li><p>a request by
you (self-initiated account deletions)</p>
</li><li><p>discontinuance
or material modification to the Service (or any part thereof)</p>
</li><li><p>unexpected
technical or security issues or problems</p>
</li><li><p>extended
periods of inactivity</p>
</li><li><p>engagement by
you in fraudulent or illegal activities, and/or nonpayment of any
fees owed by you in connection with the Services.</p>
</li></ol>
<p>Termination of your
IFastNet account includes</p>
<ol type="a">
<li><p>removal of
access to all offerings within the Service, including but not
limited to Hosting accounts, Email Services, SQL databases</p>
</li><li><p>deletion of
your password and all related information, files and content
associated with or inside your account (or any part thereof), and</p>
</li><li><p>barring of
further use of the Service. Further, you agree that all terminations
for cause shall be made in IFastNet's sole discretion and that
IFastNet shall not be liable to you or any third party for any
termination of your account, any associated email address, or access
to the Service</p>
</li></ol>
<h3>Refund Policy</h3>
<p>Refunds are issued
at the sole discretion of IFastNet. IFastNet reserves the right not
to issue a refund. Customer agrees that hosting payments are
NONREFUNDABLE. For example, if Customer submits payment for twelve
(12) months of service, service will be provided for twelve (12)
months and will not be refunded if customer chooses to discontinue
service with IFastNet mid-way through the term. Payments which are
deemed to be fraud which can be verfied and certain to be fraud are
elligable to a refund, subject to the terms and conditions of the
payment provider such as PayPal or 2Checkout.</p>
<h2>16. DEALINGS WITH ADVERTISERS</h2>
<p>Your correspondence
or business dealings with, or participation in promotions of,
advertisers found on or through the Service, including payment and
delivery of related goods or services, and any other terms,
conditions, warranties or representations associated with such
dealings, are solely between you and such advertiser. You agree that
IFastNet shall not be responsible or liable for any loss or damage of
any sort incurred as the result of any such dealings or as the result
of the presence of such advertisers on the Service.</p>
<h2>17. LINKS</h2>
<p>The Service may
provide, or third parties may provide, links to other World Wide Web
sites or resources. Because IFastNet has no control over such sites
and resources, you acknowledge and agree that IFastNet is not
responsible for the availability of such external sites or resources,
and does not endorse and is not responsible or liable for any
Content, advertising, products or other materials on or available
from such sites or resources. You further acknowledge and agree that
IFastNet shall not be responsible or liable, directly or indirectly,
for any damage or loss caused or alleged to be caused by or in
connection with use of or reliance on any such Content, goods or
services available on or through any such site or resource.</p>
<h2>18. IFASTNET 'S PROPRIETARY RIGHTS</h2>
<p>You acknowledge and
agree that the Service and any necessary software used in connection
with the Service ("Software") contain proprietary and
confidential information that is protected by applicable intellectual
property and other laws. You further acknowledge and agree that
Content contained in sponsor advertisements or information presented
to you through the Service or by advertisers is protected by
copyrights, trademarks, service marks, patents or other proprietary
rights and laws. Except as expressly authorized by IFastNet or
advertisers, you agree not to modify, rent, lease, loan, sell,
distribute or create derivative works based on the Service or the
Software, in whole or in part.</p>
<h2>19 FREE DOMAIN WITH PAID HOSTING</h2>
<p>Free domain names
which are included with Paid Hosting accounts are the property of
ifastnet Internet. IFastNet will always retain ownership of free
domain names we register. If requested, IFastNet will allow the
'transfer' any free domains to an alternative hosting provider if a
transfer administration fee is paid, which amounts to $29.99. If the
service has been provisioned for over 12 months or sooner IFastNet
may waiver the above mentioned transfer fee. IFastNet reserves the
right to cancel / transfer domain names which are provided with paid
hosting accounts. We reserve the right to renew or allow the
expiration of domain names we register.</p>
<p>If a service is
cancelled and a refund requested the cost incurred of renewing or
providing the free domain name will be minused from the refund
amounts (this could sometimes lead to a negative value). The .INFO
domain name provided with the 'monthly standard' premium plan is free
for the 1st year only, to keep the domain after the 1st year, a
renewal fee needs to be paid. (This is a separate additional payment
to the monthly payments for the hosting) To renew the INFO domain
name, we require a payment of $11.00 USD to cover the cost of
renewing the domain with the registrars.</p>
<p>The free domain
included with the monthly ultimate account is free to renewal each
year providing you are in good billing status for all 12 monthly
payments over the year.</p>
<p>You are not allowed
to alter the name servers or transfer a free domain included with the
monthly ultimate plan until 2 (two) complete months of payment has
been made (2 x $6.99). We reserve the right to suspend any free
domain name associated with a monthly ultimate account which has not
been paid for 2 complete months.</p>
<h3>DOMAIN NAME GENERAL TERMS OF SERVICE</h3>
<p>We use
PublicDomainRegistry.com and ENOM to register domain names for our
clients.</p>
<p>If you are
registering or transferring a domain name you must also agree to the
Domain Name Registration Agreement which can be seen here:
<a href="http://www.enom.com/terms/agreement.aspx">http://www.enom.com/terms/agreement.aspx</a>
and here: <a href="http://www.enom.com/terms/agreement.aspx">http://www.enom.com/terms/agreement.aspx</a></p>
<p>Domains shall be
renewed at the same price as new registrations. The current pricing
is displayed on our website.</p>
<p>Domain renewal
reminders and invoices for renewal will be sent in advance of
expiration via email to the address stored in your client area once
paid the domain name will be renewed.</p>
<p>Domain names that
expire have a 'grace' period that they can be renewed. The grace
period differs per extension, the grace periods can be seen here:
<a href="https://ifastnet.com/portal/delete-autorenew.html">https://ifastnet.com/portal/delete-autorenew.html</a></p>
<p>Should an expired
domain enter the redemption period, the cost of restoring the domain
shall be no more than $240 the price does depend on the domain
extension, for exact pricing please see
<a href="http://doma151591.supersite2.myorderbox.com/domain-registration/domain-registration-price.php">http://doma151591.supersite2.myorderbox.com/domain-registration/domain-registration-price.php</a>
and click on 'Restoration' in the top right corner.</p>
<h2>19b. MYOWNFREEHOST RESELLER PAID PLAN LINKS</h2>
<p><b>MyOwnFreeHost.net</b>
resellers using the free or plan 2 service are required to have paid
hosting plan links to ifastnet.com present in a visible location on
the reseller domain home page. IFastNet reserves the right to suspend
and cancel resellers who do not have the paid plan links to
ifastnet.com. Resellers are entitled to use the securesignup
affiliate program for paid plan links.</p>
<p>MyOwnFreeHost.net
resellers using plan 3 or above may remove the paid plan links and
are exempt from the requirement for placing paid plan links.</p>
<h2>20. DISCLAIMER OF WARRANTIES</h2>
<p>YOU EXPRESSLY
UNDERSTAND AND AGREE THAT:</p>
<ul>
<li><p>Your use of the
service is at your sole risk. The service is provided on an "As
is" and "As Available" basis. IFastNet and its
subsidiaries, affiliates, officers, employees, agents, Partners and
licensors expressly disclaim all warranties of any kind, whether
express or Implied, including, but not limited to the implied
warranties of merchantability, fitness For a particular purpose and
non-infringement.</p>
</li><li><p>IFastNet and
its subsidiaries, affiliates, officers, employees, agents, partners
and Licensors make no warranty that (i) the service will meet your
requirements; (ii) the Service will be uninterrupted, timely, secure
or error-free; (iii) the results that may be Obtained from the use
of the service will be accurate or reliable; (iv) the quality of any
Products, services, information or other material purchased or
obtained by you through the Service will meet your expectations; and
(v) any errors in the software will be corrected.</p>
</li><li><p>Any material
downloaded or otherwise obtained through the use of the service is
accessed at Your own discretion and risk, and you will be solely
responsible for any damage to your Computer system or loss of data
that results from the download of any such material.</p>
</li><li><p>No advice or
information, whether oral or written, obtained by you from ifastnet
or through Or from the service shall create any warranty not
expressly stated in the tos.</p>
</li><li><p>A small
percentage of users may experience epileptic seizures when exposed
to certain light Patterns or backgrounds on a computer screen or
while using the service. Certain conditions May induce previously
undetected epileptic symptoms even in users who have no history of
Prior seizures or epilepsy. If you, or anyone in your family, have
an epileptic condition, Consult your physician prior to using the
service. Immediately discontinue use of the Service and consult your
physician if you experience any of the following symptoms while
Using the service: dizziness, altered vision, eye or muscle
twitches, loss of awareness, Disorientation, any involuntary
movement, or convulsions.</p>
<p></p>
</li></ul>
<h2>21.LIMITATION OF LIABILITY</h2>
<p>You expressly
understand and agree that ifastnet and its subsidiaries, affiliates,
officers, Employees, agents, partners and licensors shall not be
liable to you for any direct, indirect, Incidental, special,
consequential or exemplary damages, including, but not limited to,
damages For loss of profits, goodwill, use, data or other intangible
losses (even if ifastnet has been Advised of the possibility of such
damages), resulting from: ( I ) the use or the inability to use The
service; (ii) the cost of procurement of substitute goods and
services resulting from any Goods, data, information or services
purchased or obtained or messages received or transactions Entered
into through or from the service; (iii) unauthorized access to or
alteration of your Transmissions or data; (iv) statements or conduct
of any third party on the service; or (v) any Other matter relating
to the service.</p>
<h2>22. EXCLUSIONS AND LIMITATIONS</h2>
<p>Some jurisdictions
do not allow the exclusion of certain warranties or the limitation or
Exclusion of liability for incidental or consequential damages.
Accordingly, some of the above Limitations of sections 19 and 20 may
not apply to you.</p>
<h2>23. SPECIAL ADMONITION FOR SERVICES RELATING TO
FINANCIAL MATTERS</h2>
<p>If you intend to
create or join any service, receive or request any news, messages,
alerts or other information from the Service concerning companies,
stock quotes, investments or securities, please read the above
Sections 19 and 20 again. They go doubly for you. In addition, for
this type of information particularly, the phrase "Let the
investor beware" is apt. The Service is provided for
informational purposes only, and no Content included in the Service
is intended for trading or investing purposes. IFastNet and its
licensors shall not be responsible or liable for the accuracy,
usefulness or availability of any information transmitted or made
available via the Service, and shall not be responsible or liable for
any trading or investment decisions based on such information.</p>
<h2>24. NO THIRD-PARTY BENEFICIARIES</h2>
<p>You agree that,
except as otherwise expressly provided in this TOS, there shall be no
third-party beneficiaries to this agreement.</p>
<h2>25. NOTICE</h2>
<p>IFastNet may provide
you with notices, including those regarding changes to the TOS, by
email, regular mail or postings on the Service.</p>
<h2>26. TRADEMARK INFORMATION</h2>
<p>The IFastNet ,
IFastNet logo, IFastNet (in Chinese characters), trademarks and
service marks and other IFastNet logos and product and service names
are trademarks of IFastNet (the "IFastNet Marks"). Without
IFastNet 's prior permission, you agree not to display or use in any
manner the IFastNet Marks.</p>
<h2>27. NOTICE AND PROCEDURE FOR MAKING CLAIMS OF
COPYRIGHT OR INTELLECTUAL PROPERTY INFRINGEMENT</h2>
<p>IFastNet respects
the intellectual property of others, and we ask our users to do the
same. IFastNet may, in appropriate circumstances and at its
discretion, disable and/or terminate the accounts of users who may be
repeat infringers. If you believe that your work has been copied in a
way that constitutes copyright infringement, or your intellectual
property rights have been otherwise violated, please provide IFastNet
's Copyright Agent the following information:</p>
<ul>
<li><p>an electronic
or physical signature of the person authorized to act on behalf of
the owner of the copyright or other intellectual property interest;</p>
</li><li><p>a description
of the copyrighted work or other intellectual property that you
claim has been infringed;</p>
</li><li><p>a description
of where the material that you claim is infringing is located on the
site;</p>
</li><li><p>your address,
telephone number, and email address;</p>
</li><li><p>a statement by
you that you have a good faith belief that the disputed use is not
authorized by the copyright owner, its agent, or the law;</p>
</li><li><p>a statement by
you, made under penalty of perjury, that the above information in
your Notice is accurate and that you are the copyright or
intellectual property owner or authorized to act on the copyright or
intellectual property owner's behalf.</p>
</li></ul>
<p>IFastNet 's Agent
for Notice of claims of copyright or other intellectual property
infringement can be reached as follows:</p>
<ul>
<li><p><b>By mail</b>:</p>
</li></ul>
<p> Copyright Agent</p>
<p> 7 Old Gloucester
Street</p>
<p> London, London WC1N
3XX</p>
<p> United Kingdom</p>
<ul>
<li><p><b>By phone</b>:
441912478100</p>
</li><li><p><b>By fax</b>:
441912478100</p>
</li><li><p><b>By email</b>:
abuse@ifastnet.com</p>
</li></ul>
<h2>28. GENERAL INFORMATION</h2>
<h3>Entire Agreement</h3>
<p>The TOS constitutes
the entire agreement between you and IFastNet and governs your use of
the Service, superseding any prior agreements between you and
IFastNet with respect to the Service. You also may be subject to
additional terms and conditions that may apply when you use or
purchase certain other IFastNet services, affiliate services,
third-party content or third-party software.</p>
<h3>Choice of Law and Forum</h3>
<p>The TOS and the
relationship between you and IFastNet shall be governed by the laws
of the United Kingdom without regard to its conflict of law
provisions. You and IFastNet agree to submit to the personal and
exclusive jurisdiction of the courts located within the county of
Northumberland, United Kingdom.</p>
<h3>Waiver and Severability of Terms</h3>
<p>The failure of
IFastNet to exercise or enforce any right or provision of the TOS
shall not constitute a waiver of such right or provision. If any
provision of the TOS is found by a court of competent jurisdiction to
be invalid, the parties nevertheless agree that the court should
endeavor to give effect to the parties' intentions as reflected in
the provision, and the other provisions of the TOS remain in full
force and effect.</p>
<h3>No Right of Survivorship and Non-Transferability</h3>
<p>You agree that your
IFastNet account is non-transferable and any rights to your IFastNet
ID or contents within your account terminate upon your death. Upon
receipt of a copy of a death certificate, your account may be
terminated and all contents therein permanently deleted.</p>
<h3>Statute of Limitations.</h3>
<p>You agree that
regardless of any statute or law to the contrary, any claim or cause
of action arising out of or related to use of the Service or the TOS
must be filed within one (1) year after such claim or cause of action
arose or be forever barred.</p>
<p>The section titles
in the TOS are for convenience only and have no legal or contractual
effect.</p>
</div>
</div>
</div>
</section>

Some files were not shown because too many files have changed in this diff Show more