?
Path : /home/admin/public_html/old/administrator/components/com_xijc/ |
Current File : /home/admin/public_html/old/administrator/components/com_xijc/install.xijc.php |
<?php defined('_JEXEC') or die('Restricted access'); function com_install() { if(createTables() == false){ JError::raiseError('INSTERR', JText::_("NOT ABLE TO CREATE XIJC TABLES CORRECTLY")); return false; } if(insertDefaultValues() == false){ JError::raiseError('INSTERR', JText::_("NOT ABLE TO INSERT DEFAULT VALUES")); return false; } if(installPlugin() == false){ JError::raiseError('INSTERR', JText::_("NOT ABLE TO INSTALL PLUGINS")); return false; } return true; } function createTables() { $db=& JFactory::getDBO(); $allQueries = array(); $allQueries[] ='CREATE TABLE IF NOT EXISTS `#__xijc_manager` ( `option` varchar(250) NOT NULL, `enable` tinyint(1) NOT NULL, `params` text NOT NULL, PRIMARY KEY (`option`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8'; $allQueries[] = 'CREATE TABLE IF NOT EXISTS `#__xijc_whitelist` ( `id` int(21) NOT NULL auto_increment, `option` varchar(250) NOT NULL, `rulename` varchar(250) NOT NULL, `enable` tinyint(1) NOT NULL, `params` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8'; $allQueries[] = 'CREATE TABLE IF NOT EXISTS `#__xijc_blacklist` ( `id` int(21) NOT NULL auto_increment, `option` varchar(250) NOT NULL, `rulename` varchar(250) NOT NULL, `enable` tinyint(1) NOT NULL, `params` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8'; $allQueries[] = 'CREATE TABLE IF NOT EXISTS `#__xijc_config` ( `name` varchar(64) NOT NULL, `params` text NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8'; foreach($allQueries as $query) { $db->setQuery( $query ); if(!$db->query()) return false; } return true; } /*XITODO : insert default component support in disable mode */ function insertDefaultValues() { /* insert in captcha manager */ //insertInCaptchaManager(); /* insert in black list */ insertInBlackList(); /* insert in white list */ //insertInWhiteList(); return true; } function insertInCaptchaManager() { /*$db=& JFactory::getDBO(); $allQueries = array(); $allQueries[] = ''; foreach($allQueries as $query) { $db->setQuery( $query ); if(!$db->query()) return false; } return true;*/ } function insertInBlackList() { $db=& JFactory::getDBO(); $query = "SELECT COUNT(*) FROM ".$db->nameQuote('#__xijc_blacklist'); $db->setQuery($query); $count = $db->loadResult(); if(0 == $count) { $allQueries = array(); $allQueries[] = "INSERT INTO ".$db->nameQuote('#__xijc_blacklist') ." (`id`, `option`,`rulename` ,`enable`, `params`) VALUES" ."(1, 'com_user', 'User Registration', 0, 'task=register_save\n\n')," ."(2, 'com_user', 'User Reset Password', 0, 'task=requestreset\n\n')," ."(3, 'com_user', 'User Name Remind', 0, 'task=remindusername\n\n')," ."(4, 'com_contact', 'Contact Submit', 0, 'view=contact\ntask=submit\n\n')," ."(5, 'com_poll', 'Submit Poll', 0, 'task=vote\n\n')," ."(6, 'com_community', 'Comunity Register', 0, 'view=register\ntask=register_save\n\n')," ."(7, 'com_community', 'Create jomsocial group', 0, 'view=groups\ntask=create\naction=save\n\n')," ."(8, 'com_community', 'Change Jomsocial Privacy', 0, 'view=profile\ntask=privacy\naction=save\n\n')," ."(9, 'com_community', 'Write Message ( Jomsocial )', 0, 'view=inbox\ntask=write\naction=doSubmit\n\n')," ."(10, 'com_docman', 'Document Upload', 0, 'task=upload\nstep=3\n\n')," ."(11, 'com_virtuemart', 'Submit Virtue Mart Review', 0, 'func=addReview\n\n')," ."(12, 'com_virtuemart', 'Virtue Mart Registration', 0, 'func=shopperadd\n\n')," ."(13, 'com_virtuemart', 'Process Virtue Mart Order', 0, 'func=checkoutProcess\npage=checkout.thankyou\ncheckout_last_step=4\n\n')," ."(14, 'com_virtuemart', 'Add Virtue Mart shipping Address', 0, 'func=userAddressAdd\n\n')," ."(15, 'com_virtuemart', 'Update Virtue Mart Shipping Address', 0, 'func=userAddressUpdate\n\n')," ."(16, 'com_virtuemart', 'Remove Virtue Mart Shipping Address', 0, 'func=useraddressdelete\n\n')," ."(17, 'com_comprofiler', 'CB Edit User Detail', 0, 'task=saveUserEdit\n\n')," ."(18, 'com_comprofiler', 'CB Change User Avtar', 0, 'task=userAvatar\n\n')," ."(19, 'com_comprofiler', 'CB Register User', 0, 'task=saveregisters\n\n')," ."(20, 'com_comprofiler', 'CB Recover Username & Password', 0, 'task=sendNewPass\n\n')," ."(21, 'com_comprofiler', 'CB Login', 0, 'task=login\n\n')," ."(22, 'com_comprofiler', 'CB Send Email To User', 0, 'task=sendUserEmail\n\n')"; foreach($allQueries as $query) { $db->setQuery( $query ); if(!$db->query()) return false; } } return true; } function insertInWhiteList() { $db=& JFactory::getDBO(); /*$allQueries = array(); $allQueries[] = ''; foreach($allQueries as $query) { $db->setQuery( $query ); if(!$db->query()) return false; } return true;*/ } function installPlugin() { JLoader::import( 'com_xijc.libraries.dscinstaller', JPATH_ADMINISTRATOR.DS.'components' ); $installer =& JInstaller::getInstance(); $manifest = & $installer->getManifest(); // Get the manifest document root element $root =& $manifest->document; // Get the element of the tag names $element =& $root->getElementByPath('plugins'); if (!is_a($element, 'JSimpleXMLElement') || !count($element->children())) { // Either the tag does not exist or has no children therefore we return zero files processed. return true; } // Get the array of parameter nodes to process $plugins = $element->children(); if (count($plugins) == 0) { // No params to process return true; } // Process each plugin in the $plugins array. foreach ($plugins as $plugin) { $pname = $plugin->attributes('plugin'); $ppublish = $plugin->attributes('publish'); $pgroup = $plugin->attributes('group'); // Set the installation path if (!empty($pname) && !empty($pgroup)) { $installer->setPath('extension_root', JPATH_ROOT.DS.'plugins'.DS.$pgroup); } else { $installer->abort(JText::_('PLUGIN').' '.JText::_('INSTALL').': '.JText::_('INSTALL PLUGIN FILE MISSING')); return false; } /* * fire the dioscouriInstaller with the foldername and folder entryType */ $pathToFolder = $installer->getPath('source').DS.$pname; $dscInstaller = new dscInstaller(); if ($ppublish) { $dscInstaller->set( '_publishExtension', true ); } $result = $dscInstaller->installExtension($pathToFolder, 'folder'); // track the message and status of installation from dscInstaller if ($result) { $msg = JText::_( "INSTALLED" ); } else { $msg = JText::_( "FAILED" ); $error = $dscInstaller->getError(); $msg .= " - ".$error; return false; } } return true; }