Тема для классов
Классы
Сообщений 1 страница 11 из 11
Поделиться22009-09-22 19:07:51
class pagedesign {
function head($status, $title, $style) {
if($status != 0) {
$metaneed = '
<meta name="description" content="'.$CONFIG['description'].'">
<meta name="keywords" content="'.$CONFIG['keywords'].'"> ';
}
else {
$metaneed = '';
}
if($title == 0) $title = $CONFIG['default_title'];
if($style == 0) $style = 'default';
echo '<!DOCTYPE HTML PUBLIC \'-//W3C//DTD HTML 4.01 Transitional//EN\'>
<html>
<head>
'.$metaneed.'
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>'.$title.'</title>
<link rel="stylesheet" type="text/css" href="/styles/'.$style.'/style.css" />
</head>
<body>';
}
function foot() {
echo '<div class="foot">'.$CONFIG['foot_layer'].'
<a href="http://MyLCMS.ru">©LCMS</a></div>
</body>
</html>';
}
}
Отредактировано Mars (2009-09-22 19:41:45)
Поделиться32009-09-22 20:00:03
class clean {
function go_string($str, $length) {
$str = trim(htmlspecialchars($str, ENT_QUOTES, "UTF-8"));
$magic_quotes = get_magic_quotes_gpc() ? 1 : 0;
if($magic_quotes)
{
$str = stripslashes($str);
}
$str = $mysqli->real_escape_string($str);
if ($length > 0) {
$str = iconv_substr($str, 0, $length, 'UTF-8');
}
return $str;
}
function go_intval($int, $length) {
$int = intval($int);
if ($length > 0) {
$int = iconv_substr($int, 0, $length, 'UTF-8');
}
}
}
Поделиться42009-09-22 20:01:49
<?php
class servis {
function online($int) {
return (TIME+(intval($int)));
}
function get_rid($string) {
return iconv_substr(md5(trim($string)), 0, 10);
}
function hash($string) {
return md5(md5(md5(trim($string))));
}
function get_ip() {
if ($_SERVER['HTTP_X_FORWARDED_FOR']) $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
else if ($_SERVER['HTTP_CLIENT_IP']) $ip = $_SERVER['HTTP_CLIENT_IP'];
else if ($_SERVER['REMOTE_ADDR']) $ip = $_SERVER['REMOTE_ADDR'];
else {
$ip = false;
}
if($ip) {
$ip = preg_replace("/[^0-9.]/", "", $ip);
$ip = mysql_real_escape_string(htmlspecialchars(stripslashes(trim($ip), ENT_QUOTES, "UTF-8")));
}
return $ip;
}
function rus_to_lat($string)
{
return str_replace(
array('Щ','Щ','щ','сч','Сч','СЧ','СЧ','э','ю','я','ё','э','ю','я','ч','ш','ж','ё','Ё','Ж','Ч','Ш','Э','Ю','Я','Ё','Ж','Ч','Ш','Э','Ю','Я','Ё','Ё','Э','Э','Ю','Ю','Я','Я','йа','йо','йе','йу','йа','ыо','ые','ыу','сх','цх','Йа','ЙА','Йо','ЙО','Йе','ЙЕ','Йу','ЙУ','Ыа','ЫА','Ыо','ЫО','Ые','ЫЕ','Ыу','ЫУ','Сх','СХ','Цх','ЦХ','А','Б','В','Г','Д','Е','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ы','Х','а','б','в','г','д','е','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ы','х','ь'),
array('Sch','SCH','sch','s.ch','S.ch','S.Ch','S.CH','ye','yu','ya','jo','je','ju','ja','ch','sh','zh','yo','YO','ZH','Ch','Sh','Ye','Yu','Ya','Yo','Zh','CH','SH','YE','YU','YA','Jo','JO','Je','JE','Ju','JU','Ja','JA','j.a','j.o','j.e','j.u','y.a','y.o','y.e','y.u','s.h','c.h','J.a','J.A','J.o','J.O','J.e','J.E','J.u','J.U','Y.a','Y.A','Y.o','Y.O','Y.e','Y.E','Y.u','Y.U','S.h','S.H','C.h','C.H','A','B','V','G','D','E','Z','I','J','K','L','M','N','O','P','R','S','T','U','F','X','C','Y','H','a','b','v','g','d','e','z','i','j','k','l','m','n','o','p','r','s','t','u','f','x','c','y','h',"'"),
$string);
}
}
?>
Поделиться52009-09-22 20:02:46
<?php
class session {
function start() {
session_start();
}
function delete($svar) {
unset($_SESSION[$svar]);
}
function destroy() {
if (!isset($_REQUEST[session_name()])) session_start();
session_destroy();
}
function check_value($int, $svar) {
if (!isset($_SESSION[$svar])) $_SESSION[$svar]=0;
if($_SESSION[$svar] > $int) {
return true;
}
else {
return false;
}
}
function up_value($svar) {
$_SESSION[$svar]++;
return 0;
}
function to_value($svar, $value, $defend) {
if($defend != 0) $value = trim(htmlspecialchars($value, ENT_QUOTES, "UTF-8"));
$_SESSION[$svar] = $value;
return 0;
}
}
?>
Поделиться62009-09-22 20:03:36
это класс для работы с гуглом, мб пригодится)
<?php
function StrToNum($Str, $Check, $Magic) {
$Int32Unit = 4294967296;
$length = strlen($Str);
for ($i = 0; $i < $length; $i++) {
$Check *= $Magic;
if ($Check >= $Int32Unit) {
$Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
$Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
}
$Check += ord($Str{$i});
}
return $Check;
}
function HashURL($String) {
$Check1 = StrToNum($String, 0x1505, 0x21);
$Check2 = StrToNum($String, 0, 0x1003F);
$Check1 >>= 2;
$Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F);
$Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF);
$Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF);
$T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 & 0xF0F );
$T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 );
return ($T1 | $T2);
}
function CheckHash($Hashnum) {
$CheckByte = 0;
$Flag = 0;
$HashStr = sprintf('%u', $Hashnum);
$length = strlen($HashStr);
for ($i = $length - 1; $i >= 0; $i --) {
$Re = $HashStr{$i};
if (1 === ($Flag % 2)) {
$Re += $Re;
$Re = (int)($Re / 10) + ($Re % 10);
}
$CheckByte += $Re;
$Flag ++;
}
$CheckByte %= 10;
if (0 !== $CheckByte) {
$CheckByte = 10 - $CheckByte;
if (1 === ($Flag % 2) ) {
if (1 === ($CheckByte % 2)) {
$CheckByte += 9;
}
$CheckByte >>= 1;
}
}
return '7'.$CheckByte.$HashStr;
}
function getch($url) { return CheckHash(HashURL($url)); }
function check_pr($url)
{
$googlehost='toolbarqueries.google.com';
$ch = getch($url);
if ($ch)
{
$googleurl='http://'.$googlehost.'/search?client=navclient-auto&ch='.$ch.'&features=Rank&q=info:'.$url;
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $googleurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$data = curl_exec($ch);
curl_close($ch);
if(!substr_count($data, "Rank_"))
return ('n/a');
else
{
$pos = strpos($data, "Rank_");
$pr=substr($data, $pos + 9);
$pr=trim($pr);
$pr=str_replace("\n",'',$pr);
return $pr;
}
}
}
?>
Поделиться72009-09-22 20:05:50
<?php
//Файл: protxt.antibot.php - класс для текстовой капчи
//Автор: Mars
class antibot {
function build() {
//задаём два массива, один будет содержать вопросы второй ответы:
$antibot = array();
$antibot_answer = array();
//параметры для некоторых вопросов:
$xa = rand(11, 100);
$xb = rand(1, 10);
$xqi = rand(1, 3);
if($xqi == 1) {
$xq = 'Сколько будет';
}
elseif($xqi == 2) {
$xq = 'Сколько получится если';
}
else {
$xq = 'Напишите результат вычисления';
}
$tupo_question_r = rand(1, 3);
if($tupo_question_r == 1) {
$tupo_question = 'Введите в ответ следующее слово:';
}
elseif($tupo_question_r == 2) {
$tupo_question = 'Напишите:';
}
else {
$tupo_question = 'Напишите текст:';
}
$tupo = array();
$tupo_mn = array();
$tupo[0] = 'велосипед';
$tupo_mn[0] = 'велосипеды';
$tupo[1] = 'каска';
$tupo_mn[1] = 'каски';
$tupo[2] = 'шлем';
$tupo_mn[2] = 'шлемы';
$tupo[3] = 'свеча';
$tupo_mn[3] = 'свечи';
$tupo[4] = 'шина';
$tupo_mn[4] = 'шины';
$tupo[5] = 'мотоцикл';
$tupo_mn[5] = 'мотоциклы';
$tupo[6] = 'день';
$tupo_mn[6] = 'дни';
$tupo[7] = 'кошка';
$tupo_mn[7] = 'кошки';
$tupo[8] = 'дятел';
$tupo_mn[8] = 'дятлы';
$tupo[9] = 'цветок';
$tupo_mn[9] = 'цветки';
$tupo[10] = 'дерево';
$tupo_mn[10] = 'деревья';
$tupo[11] = 'порт';
$tupo_mn[11] = 'порты';
$tupo[12] = 'молоток';
$tupo_mn[12] = 'молотки';
$tupo[13] = 'учебник';
$tupo_mn[13] = 'учебники';
$tupo[14] = 'дезодорант';
$tupo_mn[14] = 'дезодоранты';
$tupo[15] = 'собака';
$tupo_mn[15] = 'собаки';
$t_index = rand(0, 15);
$ttt = $tupo[$t_index];
$ttt_mn = $tupo_mn[$t_index];
$pnumber = rand(0, 9);
$pnumber_str = str_replace(
array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
array('ноль', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять'),
$pnumber
);
//построение списка:
$antibot[0] = 'Напишите ответ: два умножить на два, ответ напишите одной цифрой.';
$antibot_answer[0] = 4;
$antibot[1] = 'Как называется наша планета? Ответ напишите маленькими русскими буквами.';
$antibot_answer[1] = 'земля';
$antibot[2] = 'Сколько получится если десять разделить на два? Ответ напишите одной цифрой.';
$antibot_answer[2] = 5;
$antibot[3] = 'Напишите фамилию президента России в 2009 году? Ответ напишите русскими буквами.';
$antibot_answer[3] = 'Медведев';
$antibot[4] = "$xq $xa-$xb?";
$antibot_answer[4] = ($xa-$xb);
$antibot[5] = "$xq $xa+$xb?";
$antibot_answer[5] = ($xa+$xb);
$antibot[6] = "$xq 10*$xb?";
$antibot_answer[6] = (10*$xb);
$antibot[7] = 'Первая буква русского алфавита? Ответ напишите маленькой русской буквой.';
$antibot_answer[7] = 'а';
$antibot[8] = "$tupo_question $ttt";
$antibot_answer[8] = $ttt;
$antibot[9] = 'Столица Российской Федерации? Ответ напишите русскими буквами с большой буквы.';
$antibot_answer[9] = 'Москва';
$antibot[10] = 'Что по традиции раскрашивают в пасху? Ответ напишите маленькими русскими буквами во множественном числе.';
$antibot_answer[10] = 'яйца';
$antibot[11] = "Как будет слово $ttt во множественном числе? Ответ напишите маленькими русскими буквами.";
$antibot_answer[11] = $ttt_mn;
$antibot[12] = 'Напишите ответ: один умножить на два, ответ напишите одной цифрой.';
$antibot_answer[12] = 2;
$antibot[13] = 'Напишите ответ: ноль умножить на два, ответ напишите одной цифрой.';
$antibot_answer[13] = 0;
$antibot[14] = 'Напишите ответ: десять умножить на два, ответ напишите числом.';
$antibot_answer[14] = 20;
$antibot[15] = 'Напишите ответ: четыре умножить на два, ответ напишите одной цифрой.';
$antibot_answer[15] = 8;
$antibot[16] = "Напишите это число письменно, маленькими русскими буквами: $pnumber";
$antibot_answer[16] = $pnumber_str;
$antibot[17] = "Как будет слово $ttt во множественном числе? Ответ напишите маленькими русскими буквами.";
$antibot_answer[17] = $ttt_mn;
$antibot[18] = 'Последняя буква русского алфавита? Ответ напишите маленькой русской буквой.';
$antibot_answer[18] = 'я';
$antibot[19] = 'Введите адрес этого сайта без http://';
$antibot_answer[19] = $_SERVER['HTTP_HOST'];
//вопрос и ответ:
$v_index = rand(0, 19);
$return = array(
'vopros' => $antibot[$v_index],
'otvet' => $antibot_answer[$v_index]
);
return $return;
}
function cm_defend_key() {
//строка защиты:
$f = array();
$f[0] = ':';
$f[1] = 'Сколько';
$f[2] = 'span';
$f[3] = rand(0, 111);
$f[4] = 'input';
$f[5] = '.';
$f[6] = '?';
$f[7] = '*';
$f[8] = '-';
$f[9] = '+';
$prk = array();
$prk[0] = "$f[0] $f[1] $f[2] $f[3] $f[4] $f[5] $f[6] $f[7] $f[8] $f[9] $f[0] $f[1]";
$prk[1] = "$f[1] $f[0] $f[1] $f[3] $f[8] $f[5] $f[6] $f[7] $f[4] $f[9] $f[2] $f[2]";
$prk[2] = "$f[0] $f[0] $f[0] $f[0] $f[4] $f[0] $f[6] $f[7] $f[8] $f[9] $f[9] $f[1]";
$prk[3] = "$f[2] $f[1] $f[0] $f[3] $f[4] $f[3] $f[6] $f[7] $f[8] $f[9] $f[5] $f[7]";
$prk[4] = "$f[0] $f[1] $f[2] $f[0] $f[4] $f[5] $f[6] $f[7] $f[8] $f[9] $f[3] $f[8]";
$prk[5] = "$f[1] $f[0] $f[2] $f[8] $f[4] $f[5] $f[6] $f[7] $f[3] $f[9] $f[2] $f[4]";
$prk[6] = "$f[0] $f[1] $f[2] $f[0] $f[0] $f[0] $f[6] $f[7] $f[8] $f[9] $f[9] $f[9]";
$prk[7] = "$f[0] $f[1] $f[2] $f[3] $f[4] $f[5] $f[6] $f[7] $f[8] $f[9] $f[0] $f[9]";
$prk[8] = "$f[0] $f[1] $f[2] $f[3] $f[4] $f[5] $f[6] $f[7] $f[8] $f[9] $f[7] $f[1]";
$prk[9] = "$f[9] $f[1] $f[2] $f[3] $f[4] $f[5] $f[6] $f[7] $f[0] $f[0] $f[6] $f[8]";
$compl_dkey = $prk[rand(0, 9)];
echo "<!-- $compl_dkey -->";
return 0;
}
function echo_defend_key() {
//строка защиты:
$f = array();
$f[0] = ':';
$f[1] = 'Сколько';
$f[2] = 'span';
$f[3] = rand(0, 111);
$f[4] = 'input';
$f[5] = '.';
$f[6] = '?';
$f[7] = '*';
$f[8] = '-';
$f[9] = '+';
$prk = array();
$prk[0] = "$f[0] $f[1] $f[2] $f[3] $f[4] $f[5] $f[6] $f[7] $f[8] $f[9] $f[0] $f[1]";
$prk[1] = "$f[1] $f[0] $f[1] $f[3] $f[8] $f[5] $f[6] $f[7] $f[4] $f[9] $f[2] $f[2]";
$prk[2] = "$f[0] $f[0] $f[0] $f[0] $f[4] $f[0] $f[6] $f[7] $f[8] $f[9] $f[9] $f[1]";
$prk[3] = "$f[2] $f[1] $f[0] $f[3] $f[4] $f[3] $f[6] $f[7] $f[8] $f[9] $f[5] $f[7]";
$prk[4] = "$f[0] $f[1] $f[2] $f[0] $f[4] $f[5] $f[6] $f[7] $f[8] $f[9] $f[3] $f[8]";
$prk[5] = "$f[1] $f[0] $f[2] $f[8] $f[4] $f[5] $f[6] $f[7] $f[3] $f[9] $f[2] $f[4]";
$prk[6] = "$f[0] $f[1] $f[2] $f[0] $f[0] $f[0] $f[6] $f[7] $f[8] $f[9] $f[9] $f[9]";
$prk[7] = "$f[0] $f[1] $f[2] $f[3] $f[4] $f[5] $f[6] $f[7] $f[8] $f[9] $f[0] $f[9]";
$prk[8] = "$f[0] $f[1] $f[2] $f[3] $f[4] $f[5] $f[6] $f[7] $f[8] $f[9] $f[7] $f[1]";
$prk[9] = "$f[9] $f[1] $f[2] $f[3] $f[4] $f[5] $f[6] $f[7] $f[0] $f[0] $f[6] $f[8]";
$compl_dkey = $prk[rand(0, 9)];
echo $compl_dkey;
return 0;
}
}
?>
Поделиться82009-09-22 20:08:47
надо набрать
Поделиться92009-09-22 20:08:59
еще два сообщений
Поделиться102009-09-23 15:53:05
текстовая капча и работа с гугом пока не надо)
Хотя можно сделать поиск музыки и видео по инету как в виду граба.
Поделиться112009-09-25 22:17:05
<?php
# 1
define("LCMS", true, true);
define('HOSTNAME', 'localhost', true);
define('USERNAME', 'test', true);
define('PASSWORD', 'test', true);
define('DATABASE', 'test', true);
# 2
class boot {
function boot($d, $opt = array()) {
if(!LCMS) die("HAck attempt!!");
if($opt[0] != 0) require_once $d.'system/classes/mysqli.php';
if($opt[1] != 0) require_once $d.'system/classes/clean.php';
if($opt[2] != 0) require_once $d.'system/classes/servis.php';
if($opt[3] != 0) require_once $d.'system/header.php';
if($opt[4] != 0) require_once $d.'system/classes/session.php';
if($opt[5] != 0) require_once $dir.'system/classes/pagedesign.php';
}
}
?>
config.php
<?php
$dir = './';
$pagename = 'Главная'; // для онлайн и титла
require_once $dir.'system/config.php';
$pagestart = new boot($dir, array(1, 1, 1, 1, 1, 1));
$pagedesign -> head($CONFIG['meta'], $pagename, USER_STYLE);
?>
index.php