This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
MatritumCantat_Web/www/administrator/components/com_comprofiler/install.comprofiler.php
2012-09-18 20:02:43 +00:00

185 lines
8.6 KiB
PHP

<?php
/*************************************************************
* Mambo Community Builder
* Author MamboJoe
* @ Released under GNU/GPL License : http://www.gnu.org/copyleft/gpl.html
*************************************************************/
function com_install() {
global $database, $mosConfig_absolute_path;
# Show installation result to user
?>
<center>
<table width="100%" border="0">
<tr>
<td>
<img src="../components/com_comprofiler/images/smcblogo.gif" />
</td>
</tr>
<tr>
<td background="F0F0F0" colspan="2">
<code>Installation Process:<br />
<?php
# Set up new icons for admin menu
echo "Start correcting icons in administration backend.<br />";
$database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/content.png' WHERE admin_menu_link='option=com_comprofiler&task=showLists'");
$iconresult[0] = $database->query();
$database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/content.png' WHERE admin_menu_link='option=com_comprofiler&task=showField'");
$iconresult[1] = $database->query();
$database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/content.png' WHERE admin_menu_link='option=com_comprofiler&task=showTab'");
$iconresult[2] = $database->query();
$database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/config.png' WHERE admin_menu_link='option=com_comprofiler&task=showconfig'");
$iconresult[3] = $database->query();
$database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/users.png' WHERE admin_menu_link='option=com_comprofiler&task=showusers'");
$iconresult[4] = $database->query();
foreach ($iconresult as $i=>$icresult) {
if ($icresult) {
echo "<font color='green'>FINISHED:</font> Image of menu entry $i has been corrected.<br />";
} else {
echo "<font color='red'>ERROR:</font> Image of menu entry $i could not be corrected.<br />";
}
}
$database->setQuery("SELECT COUNT(*) FROM #__components WHERE link = 'option=com_comprofiler'");
$components = $database->loadresult();
IF($components > 1) {
$database->setQuery("SELECT id FROM #__components WHERE link = 'option=com_comprofiler' ORDER BY id DESC LIMIT 1");
$comid = $database->loadresult();
$database->setQuery("DELETE FROM #__components WHERE link = 'option=com_comprofiler' AND id != $comid ");
$database->query();
//print $database->getquery();
$database->setQuery("DELETE FROM #__components WHERE #__components.option = 'com_comprofiler' AND parent != $comid AND id != $comid ");
$database->query();
//print $database->getquery();
echo "<font color='green'>FINISHED:</font> Administrator Menu Corrected.<br />";
}
//Manage Database Upgrades
$MCBUpgrades = array();
//Beta 3 Upgrade
$MCBUpgrades[0]['test'] = "SELECT `default` FROM #__comprofiler_lists";
$MCBUpgrades[0]['updates'][0] = "ALTER TABLE `#__comprofiler_lists`"
."\n ADD `default` TINYINT( 1 ) DEFAULT '0' NOT NULL,"
."\n ADD `usergroupids` VARCHAR( 255 ),"
."\n ADD `sortfields` VARCHAR( 255 ),"
."\n ADD `ordering` INT( 11 ) DEFAULT '0' NOT NULL AFTER `published`";
$MCBUpgrades[0]['updates'][1] = "UPDATE #__comprofiler_lists SET `default`=1 WHERE published =1";
$MCBUpgrades[0]['updates'][2] = "UPDATE #__comprofiler_lists SET usergroupids = '29, 18, 19, 20, 21, 30, 23, 24, 25', sortfields = '`username` ASC'";
$MCBUpgrades[0]['updates'][3] = "ALTER TABLE `#__comprofiler` ADD `acceptedterms` TINYINT( 1 ) DEFAULT '0' NOT NULL AFTER `bannedreason`";
$MCBUpgrades[0]['message'] = "1.0 Beta 2 to 1.0 Beta 3";
//Beta 4 Upgrade
$MCBUpgrades[1]['test'] = "SELECT `firstname` FROM #__comprofiler";
$MCBUpgrades[1]['updates'][0] = "ALTER TABLE #__comprofiler ADD `firstname` VARCHAR( 100 ) AFTER `user_id` ,"
."\n ADD `middlename` VARCHAR( 100 ) AFTER `firstname` ,"
."\n ADD `lastname` VARCHAR( 100 ) AFTER `middlename` ";
$MCBUpgrades[1]['updates'][1] = "ALTER TABLE `#__comprofiler_fields` ADD `readonly` TINYINT( 1 ) DEFAULT '0' NOT NULL AFTER `profile`";
$MCBUpgrades[1]['updates'][3] = "ALTER TABLE `#__comprofiler_tabs` ADD `width` VARCHAR( 10 ) DEFAULT '.5' NOT NULL AFTER `ordering` ,"
."\n ADD `enabled` TINYINT( 1 ) DEFAULT '1' NOT NULL AFTER `width` ,"
."\n ADD `plugin` VARCHAR( 255 ) DEFAULT NULL AFTER `enabled`" ;
$MCBUpgrades[1]['message'] = "1.0 Beta 3 to 1.0 Beta 4";
//Apply Upgrades
foreach ($MCBUpgrades AS $MCBUpgrade) {
$database->setQuery($MCBUpgrade['test']);
//if it fails test then apply upgrade
if (!$database->query()) {
foreach($MCBUpgrade['updates'] as $MCBScript) {
$database->setQuery($MCBScript);
if(!$database->query()) {
//Upgrade failed
print("<font color=red>".$MCBUpgrade['message']." failed! SQL error:" . $database->stderr(true)."</font><br />");
return;
}
}
//Upgrade was successful
print "<font color=green>".$MCBUpgrade['message']." Upgrade Applied Successfully!</font>";
}
}
$sql="SELECT listid FROM #__comprofiler_lists ORDER BY published desc";
$database->setQuery($sql);
$lists = $database->loadObjectList();
$order=0;
foreach($lists AS $list) {
$database->setQuery("UPDATE #__comprofiler_lists SET ordering = $order WHERE listid='".$list->listid."'");
$database->query();
$order++;
}
?>
</td>
</tr>
<tr>
<td>
<?php
if(is_writable($mosConfig_absolute_path . "/images/")) {
$galleryFiles = array("airplane.gif"
,"ball.gif"
,"butterfly.gif"
,"car.gif"
,"dog.gif"
,"duck.gif"
,"fish.gif"
,"frog.gif"
,"guitar.gif"
,"kick.gif"
,"pinkflower.gif"
,"redflower.gif"
,"skater.gif"
,"index.html");
if(!file_exists($mosConfig_absolute_path . "/images/comprofiler/")){
if(mkdir($mosConfig_absolute_path . "/images/comprofiler/")) {
print "<font color=green>".$mosConfig_absolute_path . "/images/comprofiler/ Successfully added!</font><br />";
} else {
print "<font color=red>".$mosConfig_absolute_path . "/images/comprofiler/ Failed to be to be created, please do so manually!</font><br />";
}
} else {
print "<font color=green>".$mosConfig_absolute_path . "/images/comprofiler/ already exists!</font><br />";
}
if(!file_exists($mosConfig_absolute_path . "/images/comprofiler/gallery/")){
if(mkdir($mosConfig_absolute_path . "/images/comprofiler/gallery/")) {
print "<font color=green>".$mosConfig_absolute_path . "/images/comprofiler/gallery/ Successfully added!</font><br />";
} else {
print "<font color=red>".$mosConfig_absolute_path . "/images/comprofiler/gallery/ Failed to be to be created, please do so manually!</font><br />";
}
} else {
print "<font color=green>".$mosConfig_absolute_path . "/images/comprofiler/gallery/ already exists!</font><br />";
}
if(!is_writable($mosConfig_absolute_path . "/images/comprofiler/")){
if(!chmod($mosConfig_absolute_path . "/images/comprofiler/", 0777)) {
print "<font color=red>".$mosConfig_absolute_path . "/images/comprofiler/ Failed to be chmod'd to 777 please do so manually!</font><br />";
}
}
if(!is_writable($mosConfig_absolute_path . "/images/comprofiler/gallery/")){
if(!chmod($mosConfig_absolute_path . "/images/comprofiler/gallery/", 0777)) {
print "<font color=red>".$mosConfig_absolute_path . "/images/comprofiler/gallery/ Failed to be chmod'd to 777 please do so manually!</font><br />";
}
}
foreach($galleryFiles AS $galleryFile) {
IF(copy($mosConfig_absolute_path . "/components/com_comprofiler/images/gallery/".$galleryFile,$mosConfig_absolute_path . "/images/comprofiler/gallery/".$galleryFile)) {
print "<font color=green>".$galleryFile." Successfully added to the gallery!</font><br />";
} ELSE {
print "<font color=red>".$galleryFile." Failed to be added to the gallery please do so manually!</font><br />";
}
}
} else {
print "<font color=red>".$mosConfig_absolute_path . "/images/ is not writable!<br /> Manually do the following:<br /> 1.) create ".$mosConfig_absolute_path . "/images/comprofiler/ directory <br /> 2.) chmod it to 777 <br /> 3.) create ".$mosConfig_absolute_path . "/images/comprofiler/gallery/ <br /> 4.) chmod it to 777 <br />5.) copy ".$mosConfig_absolute_path . "/components/com_comprofiler/images/gallery/ and its contents to ".$mosConfig_absolute_path . "/images/gallery/ </font><br />";
}
?>
<font color="green"><b>Installation finished.</b></font></code>
</td>
</tr>
</table>
</center>
<?php
}
?>