inc/toolkit.inc.php
author rejo
Sun, 17 Feb 2008 15:28:21 +0000
changeset 75 a53200a76f9d
parent 74 43c31dc98305
child 76 0748816801b2
permissions -rwxr-xr-x
[feladat @ 122] Fixing a number of 'division by zero' errors introduced changeset:121. Changed from constant to a normal variable. May need to be reviewed in a future cleanup.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
71
e1b918eaf69a [feladat @ 118]
peter
parents: 65
diff changeset
     1
<?php
47
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
     2
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
     3
/*  PowerAdmin, a friendly web-based admin tool for PowerDNS.
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
     4
 *  See <https://rejo.zenger.nl/poweradmin> for more details.
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
     5
 *
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
     6
 *  Copyright 2007, 2008  Rejo Zenger <rejo@zenger.nl>
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
     7
 *
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
     8
 *  This program is free software: you can redistribute it and/or modify
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
     9
 *  it under the terms of the GNU General Public License as published by
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
    10
 *  the Free Software Foundation, either version 3 of the License, or
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
    11
 *  (at your option) any later version.
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
    12
 *
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
    13
 *  This program is distributed in the hope that it will be useful,
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
    14
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
    15
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
    16
 *  GNU General Public License for more details.
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
    17
 *
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
    18
 *  You should have received a copy of the GNU General Public License
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
    19
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
    20
 */
ae140472d97c [feladat @ 94]
rejo
parents: 37
diff changeset
    21
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    22
session_start();
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    23
74
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    24
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    25
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    26
if(!@include_once("config.inc.php"))
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    27
{
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    28
	error( _('You have to create a config.inc.php!') );
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    29
}
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    30
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    31
if(is_file( dirname(__FILE__) . '/../install.php'))
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    32
{
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    33
	error( _('You have to remove install.php before this program will run') );
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    34
}
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    35
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    36
if(is_file( dirname(__FILE__) . '/../migrator.php'))
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    37
{
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    38
        error( _('You have to remove migrator.php before this program will run') );
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    39
}
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    40
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    41
/*************
74
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    42
 * Constants *
43c31dc98305 [feladat @ 121]
peter
parents: 71
diff changeset
    43
 *************/
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    44
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    45
if (isset($_GET["start"])) {
75
a53200a76f9d [feladat @ 122]
rejo
parents: 74
diff changeset
    46
   define(ROWSTART, (($_GET["start"] - 1) * $rowamount));
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    47
   } else {
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    48
   define(ROWSTART, 0);
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    49
}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    50
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    51
if (isset($_GET["letter"])) {
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    52
   define(LETTERSTART, $_GET["letter"]);
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    53
   $_SESSION["letter"] = $_GET["letter"];
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    54
} elseif(isset($_SESSION["letter"])) {
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    55
   define(LETTERSTART, $_SESSION["letter"]);
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    56
} else {
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    57
   define(LETTERSTART, "a");
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    58
}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    59
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    60
/* Database connection */
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    61
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    62
require_once("database.inc.php");
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    63
// Generates $db variable to access database.
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    64
13
2ff220cfde13 [feladat @ 60]
rejo
parents: 6
diff changeset
    65
2ff220cfde13 [feladat @ 60]
rejo
parents: 6
diff changeset
    66
// Array of the available zone types
2ff220cfde13 [feladat @ 60]
rejo
parents: 6
diff changeset
    67
$server_types = array("MASTER", "SLAVE", "NATIVE");
2ff220cfde13 [feladat @ 60]
rejo
parents: 6
diff changeset
    68
2ff220cfde13 [feladat @ 60]
rejo
parents: 6
diff changeset
    69
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    70
/*************
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    71
 * Includes  *
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    72
 *************/
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    73
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    74
require_once("error.inc.php");
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    75
require_once("auth.inc.php");
3
64525a2eb098 [feladat @ 4]
rejo
parents: 1
diff changeset
    76
require_once("i18n.inc.php");
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    77
require_once("users.inc.php");
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    78
require_once("dns.inc.php");
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    79
require_once("record.inc.php");
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    80
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    81
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    82
/*************
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    83
 * Functions *
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    84
 *************/
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    85
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    86
/*
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    87
 * Display the page option: [1] [2] .. [n]
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    88
 */
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    89
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    90
function show_pages($amount,$rowamount,$id='')
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    91
{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    92
   if ($amount > $rowamount) {
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    93
      if (!isset($_GET["start"])) $_GET["start"]=1;
13
2ff220cfde13 [feladat @ 60]
rejo
parents: 6
diff changeset
    94
      echo _('Show page') . "<br>";
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    95
      for ($i=1;$i<=ceil($amount / $rowamount);$i++) {
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    96
         if ($_GET["start"] == $i) {
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    97
            echo "[ <b>".$i."</b> ] ";
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    98
         } else {
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
    99
            echo "[ <a href=\"".$_SERVER["PHP_SELF"]."?start=".$i;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   100
	    if ($id!='') echo "&id=".$id;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   101
	    echo "\">".$i."</a> ] ";
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   102
         }
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   103
      }
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   104
   }
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   105
}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   106
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   107
/*
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   108
 * Display the alphabetic option: [0-9] [a] [b] .. [z]
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   109
 */
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   110
29
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   111
function show_letters($letterstart,$userid=true)
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   112
{
29
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   113
        echo _('Show zones beginning with:') . "<br>";
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   114
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   115
	$letter = "[[:digit:]]";
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   116
	if ($letterstart == "0")
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   117
	{
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   118
		echo "[ <span class=\"lettertaken\">0-9</span> ] ";
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   119
	}
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   120
	elseif (zone_letter_start($letter,$userid))
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   121
	{
32
0c2497c1ac01 [feladat @ 79]
rejo
parents: 29
diff changeset
   122
		echo "[ <a href=\"".$_SERVER["PHP_SELF"]."?letter=1\">0-9</a> ] ";
29
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   123
	}
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   124
	else
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   125
	{
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   126
		echo "[ <span class=\"letternotavailble\">0-9</span> ] ";
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   127
	}
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   128
29
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   129
        foreach (range('a','z') as $letter)
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   130
        {
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   131
                if ($letter == $letterstart)
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   132
                {
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   133
                        echo "[ <span class=\"lettertaken\">".$letter."</span> ] ";
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   134
                }
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   135
                elseif (zone_letter_start($letter,$userid))
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   136
                {
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   137
                        echo "[ <a href=\"".$_SERVER["PHP_SELF"]."?letter=".$letter."\">".$letter."</a> ] ";
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   138
                }
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   139
                else
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   140
                {
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   141
                        echo "[ <span class=\"letternotavailble\">".$letter."</span> ] ";
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   142
                }
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   143
        }
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   144
}
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   145
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   146
function zone_letter_start($letter,$userid=true)
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   147
{
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   148
        global $db;
55
a885f557678f [feladat @ 102]
peter
parents: 47
diff changeset
   149
	global $sql_regexp;
29
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   150
        $sqlq = "SELECT domains.id AS domain_id,
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   151
        zones.owner,
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   152
        records.id,
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   153
        domains.name AS domainname
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   154
        FROM domains
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   155
        LEFT JOIN zones ON domains.id=zones.domain_id 
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   156
        LEFT JOIN records ON records.domain_id=domains.id
55
a885f557678f [feladat @ 102]
peter
parents: 47
diff changeset
   157
        WHERE 1=1";
29
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   158
        if((!level(5) || !$userid) && !level(10) && !level(5))
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   159
        {
37
b785e54690ce [feladat @ 84]
rejo
parents: 32
diff changeset
   160
		// First select the zones for which we have ownership on one or more records.
65
ce1c4d5e1576 [feladat @ 112]
peter
parents: 55
diff changeset
   161
		$query = 'SELECT records.domain_id FROM records, record_owners WHERE user_id = '.$db->quote($_SESSION['userid']).' AND records.id = record_owners.record_id';
37
b785e54690ce [feladat @ 84]
rejo
parents: 32
diff changeset
   162
		$result = $db->query($query);
b785e54690ce [feladat @ 84]
rejo
parents: 32
diff changeset
   163
		$zones = array();
b785e54690ce [feladat @ 84]
rejo
parents: 32
diff changeset
   164
		if (!PEAR::isError($result)) {
b785e54690ce [feladat @ 84]
rejo
parents: 32
diff changeset
   165
			$zones = $result->fetchCol();
b785e54690ce [feladat @ 84]
rejo
parents: 32
diff changeset
   166
		}
b785e54690ce [feladat @ 84]
rejo
parents: 32
diff changeset
   167
	
65
ce1c4d5e1576 [feladat @ 112]
peter
parents: 55
diff changeset
   168
                $sqlq .= " AND (zones.owner=".$db->quote($_SESSION["userid"]);
37
b785e54690ce [feladat @ 84]
rejo
parents: 32
diff changeset
   169
		if (count($zones) > 0) {
b785e54690ce [feladat @ 84]
rejo
parents: 32
diff changeset
   170
			$sqlq .= ' OR zones.domain_id IN ('.implode(',', $zones).') '; 
b785e54690ce [feladat @ 84]
rejo
parents: 32
diff changeset
   171
b785e54690ce [feladat @ 84]
rejo
parents: 32
diff changeset
   172
		}
b785e54690ce [feladat @ 84]
rejo
parents: 32
diff changeset
   173
		$sqlq .= ')';
29
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   174
        }
65
ce1c4d5e1576 [feladat @ 112]
peter
parents: 55
diff changeset
   175
        $sqlq .= " AND substring(domains.name,1,1) ".$sql_regexp." ".$db->quote("^".$letter);
ce1c4d5e1576 [feladat @ 112]
peter
parents: 55
diff changeset
   176
		$db->setLimit(1);
29
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   177
        $result = $db->query($sqlq);
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   178
        $numrows = $result->numRows();
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   179
        if ( $numrows == "1" ) 
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   180
        {
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   181
                return 1;
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   182
        }
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   183
        else
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   184
        {
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   185
                return 0;
e1c60f72d494 [feladat @ 76]
rejo
parents: 23
diff changeset
   186
        }
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   187
}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   188
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   189
/*
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   190
 * Print a nice useraimed error.
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   191
 */
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   192
function error($msg)
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   193
{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   194
	// General function for printing critical errors.
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   195
	if ($msg)
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   196
	{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   197
		include_once("header.inc.php");
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   198
	?>
71
e1b918eaf69a [feladat @ 118]
peter
parents: 65
diff changeset
   199
	<p><?php echo _('Oops! An error occured!'); ?></p>
e1b918eaf69a [feladat @ 118]
peter
parents: 65
diff changeset
   200
	<p><?php echo nl2br($msg) ?></p>
e1b918eaf69a [feladat @ 118]
peter
parents: 65
diff changeset
   201
	<?php
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   202
		include_once("footer.inc.php");
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   203
		die();
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   204
	}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   205
	else
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   206
	{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   207
		include_once("footer.inc.php");
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   208
		die("No error specified!");
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   209
	}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   210
}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   211
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   212
/*
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   213
 * Something has been done nicely, display a message and a back button.
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   214
 */
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   215
function message($msg)
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   216
{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   217
    include_once("header.inc.php");
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   218
    ?>
71
e1b918eaf69a [feladat @ 118]
peter
parents: 65
diff changeset
   219
    <P><TABLE CLASS="messagetable"><TR><TD CLASS="message"><H2><?php echo _('Success!'); ?></H2>
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   220
    <BR>
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   221
	<FONT STYLE="font-weight: Bold">
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   222
	<P>
71
e1b918eaf69a [feladat @ 118]
peter
parents: 65
diff changeset
   223
	<?php
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   224
    if($msg)
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   225
    {
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   226
        echo nl2br($msg);
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   227
    }
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   228
    else
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   229
    {
4
55ed92aa7cf5 [feladat @ 5]
rejo
parents: 3
diff changeset
   230
        echo _('Successful!');
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   231
    }
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   232
    ?>
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   233
    </P>
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   234
    <BR>
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   235
    <P>
71
e1b918eaf69a [feladat @ 118]
peter
parents: 65
diff changeset
   236
    <a href="javascript:history.go(-1)">&lt;&lt; <?php echo _('back'); ?></a></FONT>
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   237
    </P>
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   238
    </TD></TR></TABLE></P>
71
e1b918eaf69a [feladat @ 118]
peter
parents: 65
diff changeset
   239
    <?php
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   240
    include_once("footer.inc.php");
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   241
}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   242
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   243
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   244
/*
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   245
 * Reroute a user to a cleanpage of (if passed) arg
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   246
 */
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   247
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   248
function clean_page($arg='')
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   249
{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   250
	if (!$arg)
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   251
	{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   252
		header("Location: ".$_SERVER["PHP_SELF"]."?time=".time());
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   253
		exit;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   254
	}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   255
	else
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   256
	{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   257
		if (preg_match('!\?!si', $arg))
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   258
		{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   259
			$add = "&time=";
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   260
		}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   261
		else
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   262
		{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   263
			$add = "?time=";
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   264
		}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   265
		header("Location: $arg$add".time());
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   266
		exit;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   267
	}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   268
}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   269
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   270
function level($l)
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   271
{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   272
	if ($_SESSION["level"] >= $l)
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   273
	{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   274
		return 1;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   275
	}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   276
	else
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   277
	{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   278
		return 0;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   279
	}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   280
}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   281
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   282
function xs($zoneid)
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   283
{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   284
	global $db;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   285
	if (is_numeric($zoneid) && is_numeric($_SESSION["level"]))
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   286
	{
65
ce1c4d5e1576 [feladat @ 112]
peter
parents: 55
diff changeset
   287
		$result = $db->query("SELECT id FROM zones WHERE owner=".$db->quote($_SESSION["userid"])." AND domain_id=".$db->quote($zoneid));
ce1c4d5e1576 [feladat @ 112]
peter
parents: 55
diff changeset
   288
		$db->setLimit(1);
ce1c4d5e1576 [feladat @ 112]
peter
parents: 55
diff changeset
   289
		$result_extra = $db->query("SELECT record_owners.id FROM record_owners,records WHERE record_owners.user_id=".$db->quote($_SESSION["userid"])." AND records.domain_id = ".$db->quote($zoneid)." AND records.id = record_owners.record_id");
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   290
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   291
                if ($result->numRows() == 1 || $_SESSION["level"] >= 5)
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   292
                {
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   293
			$_SESSION[$zoneid."_ispartial"] = 0;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   294
			return true;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   295
		}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   296
		elseif ($result_extra->numRows() == 1)
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   297
		{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   298
			$_SESSION[$zoneid."_ispartial"] = 1;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   299
			return true;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   300
		}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   301
		else
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   302
		{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   303
			return false;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   304
		}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   305
	}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   306
	else
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   307
	{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   308
        	return false;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   309
        }
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   310
}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   311
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   312
function get_status($res)
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   313
{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   314
	if ($res == '0')
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   315
	{
4
55ed92aa7cf5 [feladat @ 5]
rejo
parents: 3
diff changeset
   316
		return "<FONT CLASS=\"inactive\">" . _('Inactive') . "</FONT>";
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   317
	}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   318
	elseif ($res == '1')
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   319
	{
4
55ed92aa7cf5 [feladat @ 5]
rejo
parents: 3
diff changeset
   320
		return "<FONT CLASS=\"active\">" . _('Active') . "</FONT>";
1
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   321
	}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   322
}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   323
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   324
function parse_template_value($val, $domain, $webip, $mailip)
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   325
{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   326
	$val = str_replace('##DOMAIN##', $domain, $val);
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   327
	$val = str_replace('##WEBIP##', $webip, $val);
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   328
	$val = str_replace('##MAILIP##', $mailip, $val);
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   329
	return $val;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   330
}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   331
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   332
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   333
/*
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   334
 * Validates an email address.
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   335
 * Checks if there is something before the at '@' sign and its followed by a domain and a tld of minimum 2
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   336
 * and maximum of 4 characters.
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   337
 */
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   338
function is_valid_email($email)
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   339
{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   340
	if(!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.([a-z]{2,6}$)", $email))
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   341
	{
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   342
		return false;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   343
	}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   344
	return true;
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   345
}
58094faf794d [feladat @ 2]
rejo
parents:
diff changeset
   346
?>