Skip to content

Instantly share code, notes, and snippets.

@neil96
Last active April 7, 2017 03:12
Show Gist options
  • Save neil96/ae01f387aff8f8391e7c62895d4b5e50 to your computer and use it in GitHub Desktop.
Save neil96/ae01f387aff8f8391e7c62895d4b5e50 to your computer and use it in GitHub Desktop.
Install phpFox app from file

How to use this tool

Edit variable:

$sphpFoxDir: path of your phpFox Dir $aSupportedApps: Array of app you'd like to install (key and app name). Key is case value. Name is name display in html

Update script

Change switch case sentences base on variable $aSupportedApps with:

  • $sAppsName is App Dir (Dir name saved in PF.Site/Apps)
  • $sClassName is Class Name of you app
  • Edit line init class Install. You my example below for detail

Run

Goodluck

<?php
$sphpFoxDir = '/Users/neil/www/core/live/';
$aSupportedApps = [
'core-CKEditor' => "CKEdior",
'core-better-ads' => "Better Ads",
'core-shoutbox' => "Shoutbox",
'delete_demo_data' => "Delete Demo Data",
];
if (isset($_GET['id'])) {
//Include phpFox api
define('PHPFOX_NO_RUN', true);
//define('PHPFOX_DEBUG', true);
require($sphpFoxDir . 'PF.Base/start.php');
define('TESTING_MODE', true);
//End include phpFox api
switch ($_GET['id']) {
case 'core-CKEditor':
$sAppsName = 'core-CKEditor';
$sClassName = 'phpFox_CKEditor';
$autoloader = include PHPFOX_DIR . 'vendor' . PHPFOX_DS. 'autoload.php';
$autoloader->addPsr4("Apps\\" . $sClassName . "\\", PHPFOX_PARENT_DIR . "PF.Site/Apps/" . $sAppsName);
$a = new \Apps\phpFox_CKEditor\Install();
break;
case 'core-better-ads':
$sAppsName = 'core-better-ads';
$sClassName = 'Core_BetterAds';
$autoloader = include PHPFOX_DIR . 'vendor' . PHPFOX_DS. 'autoload.php';
$autoloader->addPsr4("Apps\\" . $sClassName . "\\", PHPFOX_PARENT_DIR . "PF.Site/Apps/" . $sAppsName);
$a = new \Apps\Core_BetterAds\Install();
break;
case 'core-shoutbox':
$sAppsName = 'core-shoutbox';
$sClassName = 'phpFox_Shoutbox';
$autoloader = include PHPFOX_DIR . 'vendor' . PHPFOX_DS. 'autoload.php';
$autoloader->addPsr4("Apps\\" . $sClassName . "\\", PHPFOX_PARENT_DIR . "PF.Site/Apps/" . $sAppsName);
$a = new \Apps\phpFox_Shoutbox\Install();
break;
case 'delete_demo_data':
$sAppsName = 'delete_demo_data';
$sClassName = 'delete_demo_data';
$autoloader = include PHPFOX_DIR . 'vendor' . PHPFOX_DS. 'autoload.php';
$autoloader->addPsr4("Apps\\" . $sClassName . "\\", PHPFOX_PARENT_DIR . "PF.Site/Apps/" . $sAppsName);
$a = new \Apps\delete_demo_data\Install();
break;
default:
# code...
break;
}
$a->processInstall();
exit('Done');
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Installation app from file</title>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="list-group">
<?php foreach ($aSupportedApps as $key => $value):?>
<a href="http://localhost/app.php?id=<?php echo $key;?>" class="list-group-item"><?php echo $value;?></a>
<?php endforeach ?>
</div>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment