AkmyradoffSoft
Salom dostlar! Bazi birlari forumda sovg'alar ulashyabti!
Men xam uxlab kolmay deb, bitta-ikkita JohnCMS uchun tuzgan modullarimni sovg'a qilishni niyat qildim! Unda boshladik!

1. @nik modi(sahifaga manzil yaratish):
Sayt ildizidagi Install/install.sql faylga pastgi kodlarni joylashtiring:
--
-- Структура таблицы `niksalgy`
--
DROP TABLE IF EXISTS `niksalgy`;

CREATE TABLE `niksalgy` (
`id` int(5) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(5) NOT NULL,
`nik` text NOT NULL,
`time` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

va Users ustuniga `anik` INT(11) NOT NULL DEFAULT '0',
kodni koshing!

Saytingiz ildiziga @nik.php faylni yarating va ichiga pastdagi kodlarni kiriting:

Kod · PHP203 qator
<?php

define('_IN_JOHNCMS', 1);

defined('_IN_JOHNCMS') or die('Error: restricted access');

require('incfiles/core.php');

$textl = 'Sahifaga manzil yasash';

require('incfiles/head.php');



if (!$user_id) {

echo '<div class="rmenu">Faqat azolar uchun!</div>';

} else {



switch(htmlspecialchars($_GET['act'])){







case 'al':

if (empty($_POST['nik'])) {

        echo '<div class="gmenu"><big>Matin kiritmadingiz!</big></div>';

break;

}





$nik = htmlspecialchars(trim($_POST['nik']));

$nik = mysql_real_escape_string($nik);

    

$result = mysql_query("SELECT count(*) AS total FROM niksalgy WHERE `nik`='".$nik."'");

$total = mysql_fetch_array($result);

$total = $total['total'];

if ($total > '0'){

        echo '<div class="gmenu"><big>Buday @sahifa saytda avval xam bor!<br/>Iltmos, boshqa @sahifa kiriting!</big></div>';

break;

}



$result = mysql_query("SELECT count(*) AS total FROM niksalgy WHERE `nik`='".$user_id."'");

$total = mysql_fetch_array($result);

$total = $total['total'];

if ($total > '0'){

echo "Kechirasiz, siz avval xam profilingiz uchun @sahifa koygansiz...";

break;

}



if ( !preg_match("/^[a-zA-Z0-9_]/" , $nik ) ){

echo '<div class="gmenu"><big>Nomalum belgilar!</big></div>';

break;

}





$drn = functions::check($_POST['nik']);

$mk = mkdir("@$drn", 0777);

        if ($mk == true) {

            chmod("@$drn", 0777);

        

       $fp=fopen("@$drn/index.php","w");

flock ($fp,LOCK_EX);

fputs($fp,"<?php

define('_IN_JOHNCMS', 1);

require_once('../incfiles/core.php');

require_once('../incfiles/head.php');



header('Refresh: 1; url=http://saytingiz.uz/users/profile.php?user=$user_id');



require_once('../incfiles/end.php');

?>");

flock ($fp,LOCK_UN);

fclose($fp);

if ($fp){

        

mysql_query("INSERT INTO `niksalgy` SET

              `user_id` = '".$user_id."',

              `nik` = '".$drn."',

              `time` = '". time() ."'

              ");

        mysql_query("update `users` SET `balans`=`balans` - 500 where `id` = '".$user_id."'");

mysql_query("UPDATE `users` SET `anik` = 1 WHERE `id` = '" . $user_id . "'");









echo "<div class='gmenu'>Tabriklaymiz! Profilingizga @sahifa ulandi!<br/><a href='".$home."/@".$drn."'>Mening @sahifam</a></div>"; 

}}

break;



default:

echo '<div class="phdr"><a href="../shop">Sayt dokoni</a> | <b>Sahifaga manzil yasash</b></div>';

echo '<div class="menu">';



if ($datauser['manat'] < 15){

echo '<big>Hozirgi vaqtda @sahifa yaratish uchun, hisobingizda yetarlicha ball yoq! Xizmat narxi: 500 ball<br/>Saytda faol bolib ballaringizni oshirshingiz mumkun!</big>';

}else{

echo '<font color="green"><big>'.$login.', siz bu yerda sahifangiz uchun @ manzil yaratishingiz mumkun! <br/> Hyzmat bahasy 15 manat!<br/>Sizde: '.$datauser['manat'].' manat bar!<br/>Eslatma: @sahifani faqat bir martda yaratish mumkun!</big></font><br/>

<b><big>Soz yoki Tahallus:</big></b>

<form action="@nik.php?act=al" method="POST">

<p>http://saytingiz.uz/@<input type="text" name="nik" value="" /></p>

<input type="submit" value="Tayyor" /></form>';

}

echo '</div>';



break;

}}



require('incfiles/end.php');

?>


Ozbekcha unchalik yozolmayman, gramatiki xatolar uchun uziraa...

Xozircha shu kod, albatda yanada foydali kodlarni ulashaman!
Iltmos offtop bolmasin!