كيف يمكن عمل سكريبت لتنصيب المشروع تلقائيا بعد الانتهاع منة.
مثل ذلك الاسكريبت الموجود في جوملا وكل تطبيقات المحتوى
كيف يمكن عمل سكريبت لتنصيب المشروع تلقائيا بعد الانتهاع منة.
مثل ذلك الاسكريبت الموجود في جوملا وكل تطبيقات المحتوى
هو انا خبرتي موش عالية قوي في المجال .. و ما جربتش اني اعمل ملف install قبل كده
بس متهيقلي ان انت هتكون محتاج ملف php محتوي على تعليمات sql .. أولا create table .. لكل جدول انت محتاج تبنيه ..
و بعدها مرحلة تعبئة الجداول عن طريق insert
..
ولو فيه معلومات كتيرة محتاج تدخلها في قاعدة البيانات أثناء التنصيب .. متهيقلي هتحتاج انك تستعين بملفات xml
..
ده مبدايا و لو عرفت حاجة هقولك
واتمنى ان الخبراء يفيدونا في ذلك
اللهم أعني على ذكرك و شكرك و حسن عبادتك
قد يفيدك هذا الموقع http://mkinstaller.nisu.org/
تقريبا سكريبت جاهز يقوم بعمل الInstaller الخاص ببرنامجك
..
والرابط ده قد يفيدك برضه
http://stackoverflow.com/questions/1115652/php-installer-script
تم تعديل هذه المشاركة بواسطة midoxpoem في 18 فبراير 2012 في 00:51
اللهم أعني على ذكرك و شكرك و حسن عبادتك
اقرا الكوود ده انا الي عامله لاسكربت قديم عندي و شوف هتفهم منه ايه , و بالتوفيق ان شاء الله .
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1256" />
<link type="text/css" rel="stylesheet" href="styles.css"/>
<meta name="author" content="HUSSEin AHMeD" />
<title>Install Articles script</title>
</head>
<body>
<div class="content">
<?php
/**
* @author hussein
* @copyright 2011
*/
$connnect = include"../include/config.php";
if($_POST['insertsett'])
{
$ns = $_POST['name_site'];
$us = $_POST['url_site'];
$es = $_POST['email_site'];
$os = $_POST['open_site'];
if($ns == '' && $us == '' && $es == '' && $os == '')
{
echo "<div class='head'>Congratulations</div>
Installation successfully completed
<br />Please consider removing the install folder from directory";
echo "<a href='../admin/login.php'>
<div class='title' align='right'><input type='submit' value='finish' /></div></a>";
exit;
}
$addsett = mysql_query("INSERT INTO setting (name_site, url_site, email_site, open_site)
VALUES ('$ns', '$us', '$es', '$os') ");
if(isset($addsett))
{
echo "<div class='head'>Congratulations</div>
Installation successfully completed
<br />Please consider removing the install folder from directory";
echo "<a href='../artciles/admin/login.php'>
<div class='title' align='right'><input type='submit' value='finish' /></div></a>";
exit;
}
}
if($_REQUEST['do'] == 'insertsett')
{
echo "<div class='head' align='left'>STEP 5: Insert Settings </div>";
echo "<br /> You can edit them later not required now";
?>
<form action="<?$_SERVER['PHP_SELF']?>" method="post">
<table width="100%" border="0">
<tr>
<td>Site Name</td>
<td class='text' align='left'><input type="text" name="name_site" /></td>
</tr>
<tr>
<td>Site URL <span style="color: red;">http://sitename.com</span></td>
<td class='text' align='left'><input type="text" name="url_site" />
<span style="color: red;">/articles</span></td>
</tr>
<tr>
<td>Site Email</td>
<td class='text' align='left'><input type="text" name="email_site" /></td>
</tr>
<tr>
<td>Site Status</td>
<td>
<select name="open_site">
<?
if ($open_site == 1)
{
echo "<option value='1'>Opened</option>
<option value='0'>Closed</option>";
}
else
{
echo "<option value='0'>Closed</option>
<option value='1'>Opened</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td><br /></td>
</tr>
<tr>
<td colspan="2" class="title" align="right"><input type="submit" name="insertsett" value="Save Settings" /></td>
</tr>
</table>
</form>
<?
exit;
}
if ($_POST['insertname'])
{
$adminname = addslashes(strip_tags(strtolower(trim($_POST['adminame']))));
$adminpass = addslashes(strip_tags(trim(md5($_POST['adminpass']))));
$adminemail = addslashes(strip_tags(trim($_POST['adminemail'])));
$adminstatus = 'admin';
$admindata = 0;
$adminpic = "articles/include/usersimg/default_profile.png";
if($adminname == '' || $adminpass == '' || $adminemail == '')
{
echo "<div class='no2'>All Fields Required !!</div>";
}
elseif(!preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*+[a-z]{2}/is', $adminemail))
{
echo "<div class='no2' align='center'>Please Insert a right email its required for security</div>";
}
elseif(strlen($adminname) > 50)
{
echo "<div class='no2' align='center'>Username must be < 50 letters !!</div>";
}
elseif(strlen($adminname) <= 3)
{
echo "<div class='no2' align='center'>Username must be > 3 letters !!</div>";
}
elseif(strlen($adminpass) > 50)
{
echo "<div class='no2' align='center'>Password must be < 50 letters !!</div>";
}
elseif(strlen($adminpass) <= 3)
{
echo "<div class='no2' align='center'>Password must be > 3 letters !!</div>";
}
else
{
$addadmin = mysql_query("INSERT INTO users (username, password, email, status, picture, data)
VALUES ('$adminname', '$adminpass', '$adminemail', $adminstatus, '$adminpic', '$admindata') ");
if(isset($addadmin))
{
echo "<div class='head' align='left'>STEP: Proceed to add site settings</div>";
echo "Administrator successfuly added PASSWORD is case sensitive";
echo "<br />You can Change your PASSWORD later in your profile";
echo "<form action='?do=insertsett' method='post'>
<div class='title' align='right'><input type='submit' value='proceed'></div>
</form>";
exit;
}
}
}
if($_REQUEST['do'] == 'insertadmin')
{
echo "<div class='head' align='left'>STEP 3: Insert Administrator</div>";
echo "<form action'".$_SERVER['PHP_SELF']."' method='post'>
<table width='100%'>
<tr>
<td>Administrator</td>
<td class='text' align='left'><input type='text' name='adminame' /></td>
</tr>
<tr>
<td>Password</td>
<td class='text'><input type='password' name='adminpass' /></td>
</tr>
<tr>
<td>E-mail</td>
<td class='text'><input type='text' name='adminemail' /></td>
</tr>
<tr>
<td><br /></td>
</tr>
<tr>
<td colspan='2' class='title' align='right'><input type='submit' value='add' name='insertname' /></td>
</tr>
</table></form>";
exit;
}
if($_POST['inserttable'])
{
//Table one ................................. Table structure for table `ads`
$table1 = mysql_query("CREATE TABLE `ads` (
`ads_id` int(11) NOT NULL auto_increment,
`ads_title` varchar(300) NOT NULL,
`ads_start` varchar(100) NOT NULL,
`ads_end` varchar(100) NOT NULL,
`ads_url` varchar(300) NOT NULL,
`ads_img` varchar(300) NOT NULL,
PRIMARY KEY (`ads_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ");
//Table two ................................. Table structure for table `article`
$table2 = mysql_query("CREATE TABLE `article` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(300) NOT NULL,
`time` varchar(150) NOT NULL,
`cat_id` int(11) NOT NULL,
`article` longtext NOT NULL,
`user_article` varchar(150) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1");
//Table three ................................. Table structure for table `cat`
$table3 = mysql_query("CREATE TABLE `cat` (
`cid` int(11) NOT NULL auto_increment,
`name_cat` varchar(300) NOT NULL,
`cid_cat` int(11) NOT NULL,
PRIMARY KEY (`cid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1");
//Table four ................................. Table structure for table `comments`
$table4 = mysql_query("CREATE TABLE `comments` (
`comm_id` int(11) NOT NULL auto_increment,
`comm_title` varchar(300) NOT NULL,
`comm_time` varchar(150) NOT NULL,
`art_id` varchar(11) NOT NULL,
`comment` text NOT NULL,
`user_comment` varchar(150) NOT NULL,
PRIMARY KEY (`comm_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1");
//Table five ................................. Table structure for table `notes`
$table5 = mysql_query("CREATE TABLE `notes` (
`note_id` int(11) NOT NULL auto_increment,
`note` text NOT NULL,
`admin` varchar(150) NOT NULL,
`time` varchar(150) NOT NULL,
PRIMARY KEY (`note_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1");
//Table six ................................. Table structure for table `send`
$table6 = mysql_query("CREATE TABLE `send` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100) NOT NULL,
`title` varchar(200) NOT NULL,
`email` varchar(150) NOT NULL,
`msg` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1");
//Table seven ................................. Table structure for table `setting`
$table7 = mysql_query("CREATE TABLE `setting` (
`name_site` varchar(300) NOT NULL,
`url_site` varchar(300) NOT NULL,
`email_site` varchar(150) NOT NULL,
`desc_site` text NOT NULL,
`key_site` text NOT NULL,
`open_site` int(2) NOT NULL,
`ads` int(2) NOT NULL,
`text_close_site` text NOT NULL,
`privacy` text NOT NULL,
`copyrights` varchar(150) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8");
//Table eight ................................. Table structure for table `users`
$table8 = mysql_query("CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`status` varchar(20) NOT NULL,
`username` varchar(150) NOT NULL,
`password` varchar(300) NOT NULL,
`email` varchar(150) NOT NULL,
`activationkey` varchar(200) NOT NULL,
`gender` int(5) NOT NULL,
`first_name` varchar(100) NOT NULL,
`last_name` varchar(100) NOT NULL,
`age` varchar(3) NOT NULL,
`picture` varchar(300) NOT NULL,
`data` int(5) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `email` (`email`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0");
if(isset($table1) && isset($table2) && isset($table3) && isset($table4) && isset($table5) && isset($table6)
&& isset($table7) && isset($table8))
{
echo "<div class='head' align='left'>STEP 2: Inserting Tables</div>";
echo "Tables successfully created
<div class='title'>List of tables created</div>
<br /> users table
<br /> settings table
<br /> notes table
<br /> send table
<br /> comments table
<br /> categories table
<br /> articles table
<br /> ads table";
echo "<form action='?do=insertadmin' method='post'>
<div class='title' align='right'><input type='submit' value='proceed' name='insertadmin'></div>
</form>";
exit;
}
}
if(isset($connnect))
{
echo "<div class='head' align='left'>STEP 1: Connecting to DB</div>";
echo "Successfully connected To DB
<form action='?do=inserttable' method='post'>
<div class='title' align='right'><input type='submit' value='proceed' name='inserttable'></div>
</form>";
}
else
{
die("Can't connect to DB please edit \"config.php\" file
with a correct data");
}
?>
</div>
</body>
</html>تم تعديل هذه المشاركة بواسطة HUSSEin-AHMeD في 18 فبراير 2012 في 04:58
يعتمد ذلك على نوع وحجم السكريبت ومايقدمه من خدمات , فمثلا برنامج مثل المفكره يمكن عمل تنصيب لها من خلال نسخ ولصق الملف التنفيذي ويمكن أيضا جعل الموضوع أكبر وذلك بجعل المستخدم يحدد مسار نسخ الملف وتظهر له تعليمات حول المنتج وطلب بيانات خاصه كما يمكن أن تحتاج لمعرفه نوع النظام ويندوز أو لينكس أو ماك وبعض البرامج تحتاج لمعرفه ماهو المتصفح الإفتراضي للإنترنت !! كل هذا يعتمد على نوع البرنامج , كذلك الأمر بالنسبه للسكريبت
معظم الأحيان تحتاج إلى شاشه البدايه والتي تطلب منك معلومات قاعدة البيانات حتى يتم الإتصال بها وتخزين ملف سيكول بها يعمل على إنشاء الجداول وإضافه البيانات
ثم تظهر نافذه أخرى تطلب اسم المستخدم وكلمه السر للنظام أو يتم إظهار رمز الدخول إسم المستخدم الإفتراضي
هناك أيضا عمليه التأكد من ملفات معينه وماتحتويه مكان وجود السكريبت وكتابة ملفات مثل الكونف فايل وال .htaccess
يمكن أيضا أن تتأكد من نوع النظام الذي سيعمل عليه السكريبت لتنزيل برامج معيه