Re-do the entire .blueprint folder structure.
Changing all documentation is going to suck lmao
|
@ -45,13 +45,13 @@ class BlueprintExtensionLibrary
|
||||||
*/
|
*/
|
||||||
public function notify($text) {
|
public function notify($text) {
|
||||||
$this->dbSet("blueprint", "notification:text", $text);
|
$this->dbSet("blueprint", "notification:text", $text);
|
||||||
shell_exec("cd /var/www/".$this->placeholder->folder().";echo \"$text\" > .blueprint/.storage/notification;");
|
shell_exec("cd /var/www/".$this->placeholder->folder().";echo \"$text\" > .blueprint/data/internal/db/notification;");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function notifyAfter($delay, $text) {
|
public function notifyAfter($delay, $text) {
|
||||||
$this->dbSet("blueprint", "notification:text", $text);
|
$this->dbSet("blueprint", "notification:text", $text);
|
||||||
shell_exec("cd /var/www/".$this->placeholder->folder().";echo \"$text\" > .blueprint/.storage/notification;");
|
shell_exec("cd /var/www/".$this->placeholder->folder().";echo \"$text\" > .blueprint/data/internal/db/notification;");
|
||||||
header("Refresh:$delay");
|
header("Refresh:$delay");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
180
blueprint.sh
|
@ -24,20 +24,20 @@ if [[ -d "/var/www/$FOLDER/blueprint" ]]; then mv /var/www/$FOLDER/blueprint /va
|
||||||
if [[ $PM_VERSION == "([(pterodactylmarket""_version)])" ]]; then
|
if [[ $PM_VERSION == "([(pterodactylmarket""_version)])" ]]; then
|
||||||
# This runs when the placeholder has not changed, indicating an issue with PterodactylMarket
|
# This runs when the placeholder has not changed, indicating an issue with PterodactylMarket
|
||||||
# or Blueprint being installed from other sources.
|
# or Blueprint being installed from other sources.
|
||||||
if [[ ! -f "/var/www/$FOLDER/.blueprint/.storage/versionschemefix.flag" ]]; then
|
if [[ ! -f "/var/www/$FOLDER/.blueprint/data/internal/db/version" ]]; then
|
||||||
sed -E -i "s*&bp.version&*$VER_FALLBACK*g" app/Services/Helpers/BlueprintPlaceholderService.php;
|
sed -E -i "s*&bp.version&*$VER_FALLBACK*g" app/Services/Helpers/BlueprintPlaceholderService.php;
|
||||||
sed -E -i "s*@version*$VER_FALLBACK*g" public/extensions/blueprint/index.html;
|
sed -E -i "s*@version*$VER_FALLBACK*g" public/extensions/blueprint/index.html;
|
||||||
touch /var/www/$FOLDER/.blueprint/.storage/versionschemefix.flag;
|
touch /var/www/$FOLDER/.blueprint/data/internal/db/version;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
VERSION=$VER_FALLBACK;
|
VERSION=$VER_FALLBACK;
|
||||||
elif [[ $PM_VERSION != "([(pterodactylmarket""_version)])" ]]; then
|
elif [[ $PM_VERSION != "([(pterodactylmarket""_version)])" ]]; then
|
||||||
# This runs in case it is possible to use the PterodactylMarket placeholder instead of the
|
# This runs in case it is possible to use the PterodactylMarket placeholder instead of the
|
||||||
# fallback version.
|
# fallback version.
|
||||||
if [[ ! -f "/var/www/$FOLDER/.blueprint/.storage/versionschemefix.flag" ]]; then
|
if [[ ! -f "/var/www/$FOLDER/.blueprint/data/internal/db/version" ]]; then
|
||||||
sed -E -i "s*&bp.version&*$PM_VERSION*g" app/Services/Helpers/BlueprintPlaceholderService.php;
|
sed -E -i "s*&bp.version&*$PM_VERSION*g" app/Services/Helpers/BlueprintPlaceholderService.php;
|
||||||
sed -E -i "s*@version*$PM_VERSION*g" public/extensions/blueprint/index.html;
|
sed -E -i "s*@version*$PM_VERSION*g" public/extensions/blueprint/index.html;
|
||||||
touch /var/www/$FOLDER/.blueprint/.storage/versionschemefix.flag;
|
touch /var/www/$FOLDER/.blueprint/data/internal/db/version;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
VERSION=$PM_VERSION;
|
VERSION=$PM_VERSION;
|
||||||
|
@ -57,7 +57,7 @@ source .blueprint/lib/telemetry.sh;
|
||||||
if [[ "$1" == *"-exec"* ]]; then
|
if [[ "$1" == *"-exec"* ]]; then
|
||||||
# Update the telemetry id to argument.
|
# Update the telemetry id to argument.
|
||||||
if [[ $2 == "key" ]]; then
|
if [[ $2 == "key" ]]; then
|
||||||
echo "$3" > .blueprint/.storage/telemetry_id;
|
echo "$3" > .blueprint/data/internal/db/telemetry_id;
|
||||||
fi;
|
fi;
|
||||||
exit 1;
|
exit 1;
|
||||||
fi;
|
fi;
|
||||||
|
@ -126,9 +126,9 @@ if [[ $1 != "-bash" ]]; then
|
||||||
log_bright "[INFO] chown -R www-data:www-data /var/www/$FOLDER/.*";
|
log_bright "[INFO] chown -R www-data:www-data /var/www/$FOLDER/.*";
|
||||||
chown -R www-data:www-data /var/www/$FOLDER/.*;
|
chown -R www-data:www-data /var/www/$FOLDER/.*;
|
||||||
|
|
||||||
# Remove placeholder .hello.txt file in .development.
|
# Remove placeholder .hello.txt file in dev.
|
||||||
log_bright "[INFO] rm .blueprint/.development/.hello.txt";
|
log_bright "[INFO] rm .blueprint/dev/.hello.txt";
|
||||||
rm .blueprint/.development/.hello.txt;
|
rm .blueprint/dev/.hello.txt;
|
||||||
|
|
||||||
# Put application into production.
|
# Put application into production.
|
||||||
log_bright "[INFO] php artisan up";
|
log_bright "[INFO] php artisan up";
|
||||||
|
@ -153,8 +153,8 @@ if [[ ( $2 == "-i" ) || ( $2 == "-install" ) ]]; then
|
||||||
if [[ $3 == "test␀" ]]; then
|
if [[ $3 == "test␀" ]]; then
|
||||||
dev=true;
|
dev=true;
|
||||||
n="dev";
|
n="dev";
|
||||||
mkdir .blueprint/.storage/tmp/dev;
|
mkdir .blueprint/tmp/dev;
|
||||||
cp -R .blueprint/.development/* .blueprint/.storage/tmp/dev/;
|
cp -R .blueprint/dev/* .blueprint/tmp/dev/;
|
||||||
else
|
else
|
||||||
dev=false;
|
dev=false;
|
||||||
n=$3;
|
n=$3;
|
||||||
|
@ -162,8 +162,8 @@ if [[ ( $2 == "-i" ) || ( $2 == "-install" ) ]]; then
|
||||||
if [[ ! -f "$FILE" ]]; then quit_red "[FATAL] $FILE could not be found.";fi;
|
if [[ ! -f "$FILE" ]]; then quit_red "[FATAL] $FILE could not be found.";fi;
|
||||||
|
|
||||||
ZIP=$n".zip";
|
ZIP=$n".zip";
|
||||||
cp $FILE .blueprint/.storage/tmp/$ZIP;
|
cp $FILE .blueprint/tmp/$ZIP;
|
||||||
cd .blueprint/.storage/tmp;
|
cd .blueprint/tmp;
|
||||||
unzip $ZIP;
|
unzip $ZIP;
|
||||||
rm $ZIP;
|
rm $ZIP;
|
||||||
if [[ ! -f "$n/*" ]]; then
|
if [[ ! -f "$n/*" ]]; then
|
||||||
|
@ -173,7 +173,7 @@ if [[ ( $2 == "-i" ) || ( $2 == "-install" ) ]]; then
|
||||||
cd tmp;
|
cd tmp;
|
||||||
|
|
||||||
mkdir ./$n;
|
mkdir ./$n;
|
||||||
cp ../../../$FILE ./$n/$ZIP;
|
cp ../../$FILE ./$n/$ZIP;
|
||||||
cd $n;
|
cd $n;
|
||||||
unzip $ZIP;
|
unzip $ZIP;
|
||||||
rm $ZIP;
|
rm $ZIP;
|
||||||
|
@ -185,7 +185,7 @@ if [[ ( $2 == "-i" ) || ( $2 == "-install" ) ]]; then
|
||||||
cd /var/www/$FOLDER;
|
cd /var/www/$FOLDER;
|
||||||
|
|
||||||
# Get all strings from the conf.yml file and make them accessible as variables.
|
# Get all strings from the conf.yml file and make them accessible as variables.
|
||||||
eval $(parse_yaml .blueprint/.storage/tmp/$n/conf.yml)
|
eval $(parse_yaml .blueprint/tmp/$n/conf.yml)
|
||||||
|
|
||||||
# Add aliases for the info config values to make working with them easier.
|
# Add aliases for the info config values to make working with them easier.
|
||||||
name=$info_name;
|
name=$info_name;
|
||||||
|
@ -207,12 +207,12 @@ if [[ ( $2 == "-i" ) || ( $2 == "-install" ) ]]; then
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
if [[ $dev ]]; then
|
if [[ $dev ]]; then
|
||||||
mv .blueprint/.storage/tmp/$n .blueprint/.storage/tmp/$identifier;
|
mv .blueprint/tmp/$n .blueprint/tmp/$identifier;
|
||||||
n=$identifier;
|
n=$identifier;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
if [[ ( $flags != *"ignorePlaceholders,"* ) && ( $flags != *"ignorePlaceholders" ) ]]; then
|
if [[ ( $flags != *"ignorePlaceholders,"* ) && ( $flags != *"ignorePlaceholders" ) ]]; then
|
||||||
DIR=.blueprint/.storage/tmp/$n/*;
|
DIR=.blueprint/tmp/$n/*;
|
||||||
|
|
||||||
if [[ ( $flags == *"ignoreAlphabetPlaceholders,"* ) || ( $flags == *"ignoreAlphabetPlaceholders" ) ]]; then
|
if [[ ( $flags == *"ignoreAlphabetPlaceholders,"* ) || ( $flags == *"ignoreAlphabetPlaceholders" ) ]]; then
|
||||||
SKIPAZPLACEHOLDERS=true;
|
SKIPAZPLACEHOLDERS=true;
|
||||||
|
@ -226,14 +226,14 @@ if [[ ( $2 == "-i" ) || ( $2 == "-install" ) ]]; then
|
||||||
sed -i "s~\^#author#\^~$author~g" $f;
|
sed -i "s~\^#author#\^~$author~g" $f;
|
||||||
sed -i "s~\^#identifier#\^~$identifier~g" $f;
|
sed -i "s~\^#identifier#\^~$identifier~g" $f;
|
||||||
sed -i "s~\^#path#\^~/var/www/$FOLDER~g" $f;
|
sed -i "s~\^#path#\^~/var/www/$FOLDER~g" $f;
|
||||||
sed -i "s~\^#datapath#\^~/var/www/$FOLDER/.blueprint/.storage/extensiondata/$identifier~g" $f;
|
sed -i "s~\^#datapath#\^~/var/www/$FOLDER/.blueprint/data/extensions/$identifier~g" $f;
|
||||||
|
|
||||||
if [[ $SKIPAZPLACEHOLDERS != true ]]; then
|
if [[ $SKIPAZPLACEHOLDERS != true ]]; then
|
||||||
sed -i "s~bpversionreplace~$version~g" $f;
|
sed -i "s~bpversionreplace~$version~g" $f;
|
||||||
sed -i "s~bpauthorreplace~$author~g" $f;
|
sed -i "s~bpauthorreplace~$author~g" $f;
|
||||||
sed -i "s~bpidentifierreplace~$identifier~g" $f;
|
sed -i "s~bpidentifierreplace~$identifier~g" $f;
|
||||||
sed -i "s~bppathreplace~/var/www/$FOLDER~g" $f;
|
sed -i "s~bppathreplace~/var/www/$FOLDER~g" $f;
|
||||||
sed -i "s~bpdatapathreplace~/var/www/$FOLDER/.blueprint/.storage/extensiondata/$identifier~g" $f;
|
sed -i "s~bpdatapathreplace~/var/www/$FOLDER/.blueprint/data/extensions/$identifier~g" $f;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
log_bright "[INFO] Done placeholders in '$f'.";
|
log_bright "[INFO] Done placeholders in '$f'.";
|
||||||
|
@ -241,27 +241,27 @@ if [[ ( $2 == "-i" ) || ( $2 == "-install" ) ]]; then
|
||||||
|
|
||||||
else log_bright "[INFO] Placeholders will be skipped due to the 'ignorePlaceholders' flag."; fi;
|
else log_bright "[INFO] Placeholders will be skipped due to the 'ignorePlaceholders' flag."; fi;
|
||||||
|
|
||||||
if [[ $name == "" ]]; then rm -R .blueprint/.storage/tmp/$n; quit_red "[FATAL] 'info_name' is a required configuration option.";fi;
|
if [[ $name == "" ]]; then rm -R .blueprint/tmp/$n; quit_red "[FATAL] 'info_name' is a required configuration option.";fi;
|
||||||
if [[ $identifier == "" ]]; then rm -R .blueprint/.storage/tmp/$n; quit_red "[FATAL] 'info_identifier' is a required configuration option.";fi;
|
if [[ $identifier == "" ]]; then rm -R .blueprint/tmp/$n; quit_red "[FATAL] 'info_identifier' is a required configuration option.";fi;
|
||||||
if [[ $description == "" ]]; then rm -R .blueprint/.storage/tmp/$n; quit_red "[FATAL] 'info_description' is a required configuration option.";fi;
|
if [[ $description == "" ]]; then rm -R .blueprint/tmp/$n; quit_red "[FATAL] 'info_description' is a required configuration option.";fi;
|
||||||
if [[ $version == "" ]]; then rm -R .blueprint/.storage/tmp/$n; quit_red "[FATAL] 'info_version' is a required configuration option.";fi;
|
if [[ $version == "" ]]; then rm -R .blueprint/tmp/$n; quit_red "[FATAL] 'info_version' is a required configuration option.";fi;
|
||||||
if [[ $target == "" ]]; then rm -R .blueprint/.storage/tmp/$n; quit_red "[FATAL] 'info_target' is a required configuration option.";fi;
|
if [[ $target == "" ]]; then rm -R .blueprint/tmp/$n; quit_red "[FATAL] 'info_target' is a required configuration option.";fi;
|
||||||
if [[ $icon == "" ]]; then rm -R .blueprint/.storage/tmp/$n; quit_red "[FATAL] 'info_icon' is a required configuration option.";fi;
|
if [[ $icon == "" ]]; then rm -R .blueprint/tmp/$n; quit_red "[FATAL] 'info_icon' is a required configuration option.";fi;
|
||||||
|
|
||||||
if [[ $admin_controller == "" ]]; then log_bright "[INFO] Admin controller field left blank, using default controller instead..";
|
if [[ $admin_controller == "" ]]; then log_bright "[INFO] Admin controller field left blank, using default controller instead..";
|
||||||
controller_type="default";else controller_type="custom";fi;
|
controller_type="default";else controller_type="custom";fi;
|
||||||
if [[ $admin_view == "" ]]; then rm -R .blueprint/.storage/tmp/$n; quit_red "[FATAL] 'admin_view' is a required configuration option.";fi;
|
if [[ $admin_view == "" ]]; then rm -R .blueprint/tmp/$n; quit_red "[FATAL] 'admin_view' is a required configuration option.";fi;
|
||||||
if [[ $target != $VERSION ]]; then log_yellow "[WARNING] This extension is built for version $target, but your version is $VERSION.";fi;
|
if [[ $target != $VERSION ]]; then log_yellow "[WARNING] This extension is built for version $target, but your version is $VERSION.";fi;
|
||||||
if [[ $identifier != $n ]]; then rm -R .blueprint/.storage/tmp/$n; quit_red "[FATAL] The extension file name must be the same as your identifier. (example: identifier.blueprint)";fi;
|
if [[ $identifier != $n ]]; then rm -R .blueprint/tmp/$n; quit_red "[FATAL] The extension file name must be the same as your identifier. (example: identifier.blueprint)";fi;
|
||||||
if [[ $identifier == "blueprint" ]]; then rm -R .blueprint/.storage/tmp/$n; quit_red "[FATAL] Extensions can not have the identifier 'blueprint'.";fi;
|
if [[ $identifier == "blueprint" ]]; then rm -R .blueprint/tmp/$n; quit_red "[FATAL] Extensions can not have the identifier 'blueprint'.";fi;
|
||||||
|
|
||||||
if [[ $identifier =~ [a-z] ]]; then log_bright "[INFO] Identifier a-z checks passed.";
|
if [[ $identifier =~ [a-z] ]]; then log_bright "[INFO] Identifier a-z checks passed.";
|
||||||
else rm -R .blueprint/.storage/tmp/$n; quit_red "[FATAL] The extension identifier should be lowercase and only contain characters a-z.";fi;
|
else rm -R .blueprint/tmp/$n; quit_red "[FATAL] The extension identifier should be lowercase and only contain characters a-z.";fi;
|
||||||
if [[ ! -f ".blueprint/.storage/tmp/$n/$icon" ]]; then
|
if [[ ! -f ".blueprint/tmp/$n/$icon" ]]; then
|
||||||
rm -R .blueprint/.storage/tmp/$n; quit_red "[FATAL] The 'info_icon' path points to a file that does not exist.";fi;
|
rm -R .blueprint/tmp/$n; quit_red "[FATAL] The 'info_icon' path points to a file that does not exist.";fi;
|
||||||
|
|
||||||
if [[ $database_migrations != "" ]]; then
|
if [[ $database_migrations != "" ]]; then
|
||||||
cp -R .blueprint/.storage/tmp/$n/$database_migrations/* database/migrations/ 2> /dev/null;
|
cp -R .blueprint/tmp/$n/$database_migrations/* database/migrations/ 2> /dev/null;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
if [[ $css != "" ]]; then
|
if [[ $css != "" ]]; then
|
||||||
|
@ -270,34 +270,34 @@ if [[ ( $2 == "-i" ) || ( $2 == "-install" ) ]]; then
|
||||||
|
|
||||||
if [[ $admin_requests != "" ]]; then
|
if [[ $admin_requests != "" ]]; then
|
||||||
mkdir app/Http/Requests/Admin/Extensions/$identifier;
|
mkdir app/Http/Requests/Admin/Extensions/$identifier;
|
||||||
cp -R .blueprint/.storage/tmp/$n/$admin_requests/* app/Http/Requests/Admin/Extensions/$identifier/ 2> /dev/null;
|
cp -R .blueprint/tmp/$n/$admin_requests/* app/Http/Requests/Admin/Extensions/$identifier/ 2> /dev/null;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
if [[ $data_public != "" ]]; then
|
if [[ $data_public != "" ]]; then
|
||||||
mkdir public/extensions/$identifier;
|
mkdir public/extensions/$identifier;
|
||||||
cp -R .blueprint/.storage/tmp/$n/$data_public/* public/extensions/$identifier/ 2> /dev/null;
|
cp -R .blueprint/tmp/$n/$data_public/* public/extensions/$identifier/ 2> /dev/null;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
cp -R .blueprint/.storage/defaults/extensions/admin.default .blueprint/.storage/defaults/extensions/admin.default.bak 2> /dev/null;
|
cp -R .blueprint/data/internal/build/extensions/admin.default .blueprint/data/internal/build/extensions/admin.default.bak 2> /dev/null;
|
||||||
if [[ $admin_controller == "" ]]; then # use default controller when admin_controller is left blank
|
if [[ $admin_controller == "" ]]; then # use default controller when admin_controller is left blank
|
||||||
cp -R .blueprint/.storage/defaults/extensions/controller.default .blueprint/.storage/defaults/extensions/controller.default.bak 2> /dev/null;
|
cp -R .blueprint/data/internal/build/extensions/controller.default .blueprint/data/internal/build/extensions/controller.default.bak 2> /dev/null;
|
||||||
fi;
|
fi;
|
||||||
cp -R .blueprint/.storage/defaults/extensions/route.default .blueprint/.storage/defaults/extensions/route.default.bak 2> /dev/null;
|
cp -R .blueprint/data/internal/build/extensions/route.default .blueprint/data/internal/build/extensions/route.default.bak 2> /dev/null;
|
||||||
cp -R .blueprint/.storage/defaults/extensions/button.default .blueprint/.storage/defaults/extensions/button.default.bak 2> /dev/null;
|
cp -R .blueprint/data/internal/build/extensions/button.default .blueprint/data/internal/build/extensions/button.default.bak 2> /dev/null;
|
||||||
|
|
||||||
mkdir .blueprint/.storage/extensiondata/$identifier;
|
mkdir .blueprint/data/extensions/$identifier;
|
||||||
if [[ $data_directory != "" ]]; then
|
if [[ $data_directory != "" ]]; then
|
||||||
cp -R .blueprint/.storage/tmp/$n/$data_directory/* .blueprint/.storage/extensiondata/$identifier/;
|
cp -R .blueprint/tmp/$n/$data_directory/* .blueprint/data/extensions/$identifier/;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
mkdir public/assets/extensions/$identifier;
|
mkdir public/assets/extensions/$identifier;
|
||||||
cp .blueprint/.storage/tmp/$n/$icon public/assets/extensions/$identifier/icon.jpg;
|
cp .blueprint/tmp/$n/$icon public/assets/extensions/$identifier/icon.jpg;
|
||||||
ICON="/assets/extensions/$identifier/icon.jpg";
|
ICON="/assets/extensions/$identifier/icon.jpg";
|
||||||
CONTENT=$(cat .blueprint/.storage/tmp/$n/$admin_view);
|
CONTENT=$(cat .blueprint/tmp/$n/$admin_view);
|
||||||
|
|
||||||
if [[ $INJECTCSS == "y" ]]; then
|
if [[ $INJECTCSS == "y" ]]; then
|
||||||
sed -i "s!/* blueprint reserved line */!/* blueprint reserved line */\n@import url(/assets/extensions/$identifier/$identifier.style.css);!g" public/themes/pterodactyl/css/pterodactyl.css;
|
sed -i "s!/* blueprint reserved line */!/* blueprint reserved line */\n@import url(/assets/extensions/$identifier/$identifier.style.css);!g" public/themes/pterodactyl/css/pterodactyl.css;
|
||||||
cp -R .blueprint/.storage/tmp/$n/$css/* public/assets/extensions/$identifier/$identifier.style.css 2> /dev/null;
|
cp -R .blueprint/tmp/$n/$css/* public/assets/extensions/$identifier/$identifier.style.css 2> /dev/null;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
if [[ $name == *"~"* ]]; then log_yellow "[WARNING] 'name' contains '~' and may result in an error.";fi;
|
if [[ $name == *"~"* ]]; then log_yellow "[WARNING] 'name' contains '~' and may result in an error.";fi;
|
||||||
|
@ -307,37 +307,37 @@ if [[ ( $2 == "-i" ) || ( $2 == "-install" ) ]]; then
|
||||||
if [[ $ICON == *"~"* ]]; then log_yellow "[WARNING] 'ICON' contains '~' and may result in an error.";fi;
|
if [[ $ICON == *"~"* ]]; then log_yellow "[WARNING] 'ICON' contains '~' and may result in an error.";fi;
|
||||||
if [[ $identifier == *"~"* ]]; then log_yellow "[WARNING] 'identifier' contains '~' and may result in an error.";fi;
|
if [[ $identifier == *"~"* ]]; then log_yellow "[WARNING] 'identifier' contains '~' and may result in an error.";fi;
|
||||||
|
|
||||||
sed -i "s~␀title␀~$name~g" .blueprint/.storage/defaults/extensions/admin.default.bak;
|
sed -i "s~␀title␀~$name~g" .blueprint/data/internal/build/extensions/admin.default.bak;
|
||||||
sed -i "s~␀name␀~$name~g" .blueprint/.storage/defaults/extensions/admin.default.bak;
|
sed -i "s~␀name␀~$name~g" .blueprint/data/internal/build/extensions/admin.default.bak;
|
||||||
sed -i "s~␀name␀~$name~g" .blueprint/.storage/defaults/extensions/button.default.bak;
|
sed -i "s~␀name␀~$name~g" .blueprint/data/internal/build/extensions/button.default.bak;
|
||||||
|
|
||||||
sed -i "s~␀description␀~$description~g" .blueprint/.storage/defaults/extensions/admin.default.bak;
|
sed -i "s~␀description␀~$description~g" .blueprint/data/internal/build/extensions/admin.default.bak;
|
||||||
|
|
||||||
sed -i "s~␀version␀~$version~g" .blueprint/.storage/defaults/extensions/admin.default.bak;
|
sed -i "s~␀version␀~$version~g" .blueprint/data/internal/build/extensions/admin.default.bak;
|
||||||
sed -i "s~␀version␀~$version~g" .blueprint/.storage/defaults/extensions/button.default.bak;
|
sed -i "s~␀version␀~$version~g" .blueprint/data/internal/build/extensions/button.default.bak;
|
||||||
|
|
||||||
sed -i "s~␀icon␀~$ICON~g" .blueprint/.storage/defaults/extensions/admin.default.bak;
|
sed -i "s~␀icon␀~$ICON~g" .blueprint/data/internal/build/extensions/admin.default.bak;
|
||||||
|
|
||||||
if [[ $website != "" ]]; then
|
if [[ $website != "" ]]; then
|
||||||
sed -i "s~␀website␀~$website~g" .blueprint/.storage/defaults/extensions/admin.default.bak;
|
sed -i "s~␀website␀~$website~g" .blueprint/data/internal/build/extensions/admin.default.bak;
|
||||||
sed -i "s~<!--websitecomment␀ ~~g" .blueprint/.storage/defaults/extensions/admin.default.bak;
|
sed -i "s~<!--websitecomment␀ ~~g" .blueprint/data/internal/build/extensions/admin.default.bak;
|
||||||
sed -i "s~ ␀websitecomment-->~~g" .blueprint/.storage/defaults/extensions/admin.default.bak;
|
sed -i "s~ ␀websitecomment-->~~g" .blueprint/data/internal/build/extensions/admin.default.bak;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
echo -e "$CONTENT\n@endsection" >> .blueprint/.storage/defaults/extensions/admin.default.bak;
|
echo -e "$CONTENT\n@endsection" >> .blueprint/data/internal/build/extensions/admin.default.bak;
|
||||||
|
|
||||||
|
|
||||||
if [[ $admin_controller == "" ]]; then
|
if [[ $admin_controller == "" ]]; then
|
||||||
sed -i "s~␀id␀~$identifier~g" .blueprint/.storage/defaults/extensions/controller.default.bak;
|
sed -i "s~␀id␀~$identifier~g" .blueprint/data/internal/build/extensions/controller.default.bak;
|
||||||
fi;
|
fi;
|
||||||
sed -i "s~␀id␀~$identifier~g" .blueprint/.storage/defaults/extensions/route.default.bak;
|
sed -i "s~␀id␀~$identifier~g" .blueprint/data/internal/build/extensions/route.default.bak;
|
||||||
sed -i "s~␀id␀~$identifier~g" .blueprint/.storage/defaults/extensions/button.default.bak;
|
sed -i "s~␀id␀~$identifier~g" .blueprint/data/internal/build/extensions/button.default.bak;
|
||||||
|
|
||||||
ADMINVIEW_RESULT=$(cat .blueprint/.storage/defaults/extensions/admin.default.bak);
|
ADMINVIEW_RESULT=$(cat .blueprint/data/internal/build/extensions/admin.default.bak);
|
||||||
ADMINROUTE_RESULT=$(cat .blueprint/.storage/defaults/extensions/route.default.bak);
|
ADMINROUTE_RESULT=$(cat .blueprint/data/internal/build/extensions/route.default.bak);
|
||||||
ADMINBUTTON_RESULT=$(cat .blueprint/.storage/defaults/extensions/button.default.bak);
|
ADMINBUTTON_RESULT=$(cat .blueprint/data/internal/build/extensions/button.default.bak);
|
||||||
if [[ $admin_controller == "" ]]; then
|
if [[ $admin_controller == "" ]]; then
|
||||||
ADMINCONTROLLER_RESULT=$(cat .blueprint/.storage/defaults/extensions/controller.default.bak);
|
ADMINCONTROLLER_RESULT=$(cat .blueprint/data/internal/build/extensions/controller.default.bak);
|
||||||
fi;
|
fi;
|
||||||
ADMINCONTROLLER_NAME=$identifier"ExtensionController.php";
|
ADMINCONTROLLER_NAME=$identifier"ExtensionController.php";
|
||||||
|
|
||||||
|
@ -351,35 +351,35 @@ if [[ ( $2 == "-i" ) || ( $2 == "-install" ) ]]; then
|
||||||
if [[ $admin_controller == "" ]]; then
|
if [[ $admin_controller == "" ]]; then
|
||||||
echo $ADMINCONTROLLER_RESULT > app/Http/Controllers/Admin/Extensions/$identifier/$ADMINCONTROLLER_NAME;
|
echo $ADMINCONTROLLER_RESULT > app/Http/Controllers/Admin/Extensions/$identifier/$ADMINCONTROLLER_NAME;
|
||||||
else
|
else
|
||||||
cp .blueprint/.storage/tmp/$n/$admin_controller app/Http/Controllers/Admin/Extensions/$identifier/$ADMINCONTROLLER_NAME;
|
cp .blueprint/tmp/$n/$admin_controller app/Http/Controllers/Admin/Extensions/$identifier/$ADMINCONTROLLER_NAME;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
if [[ $admin_controller != "" ]]; then
|
if [[ $admin_controller != "" ]]; then
|
||||||
cp .blueprint/.storage/tmp/$n/$admin_controller app/Http/Controllers/Admin/Extensions/$identifier/${identifier}ExtensionController.php;
|
cp .blueprint/tmp/$n/$admin_controller app/Http/Controllers/Admin/Extensions/$identifier/${identifier}ExtensionController.php;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
echo $ADMINROUTE_RESULT >> routes/admin.php;
|
echo $ADMINROUTE_RESULT >> routes/admin.php;
|
||||||
|
|
||||||
sed -i "s~<!--␀replace␀-->~$ADMINBUTTON_RESULT\n<!--␀replace␀-->~g" resources/views/admin/extensions.blade.php;
|
sed -i "s~<!--␀replace␀-->~$ADMINBUTTON_RESULT\n<!--␀replace␀-->~g" resources/views/admin/extensions.blade.php;
|
||||||
|
|
||||||
rm .blueprint/.storage/defaults/extensions/admin.default.bak;
|
rm .blueprint/data/internal/build/extensions/admin.default.bak;
|
||||||
if [[ $admin_controller == "" ]]; then
|
if [[ $admin_controller == "" ]]; then
|
||||||
rm .blueprint/.storage/defaults/extensions/controller.default.bak;
|
rm .blueprint/data/internal/build/extensions/controller.default.bak;
|
||||||
fi;
|
fi;
|
||||||
rm .blueprint/.storage/defaults/extensions/route.default.bak;
|
rm .blueprint/data/internal/build/extensions/route.default.bak;
|
||||||
rm .blueprint/.storage/defaults/extensions/button.default.bak;
|
rm .blueprint/data/internal/build/extensions/button.default.bak;
|
||||||
rm -R .blueprint/.storage/tmp/$n;
|
rm -R .blueprint/tmp/$n;
|
||||||
|
|
||||||
if [[ $database_migrations != "" ]]; then
|
if [[ $database_migrations != "" ]]; then
|
||||||
log_bright "[INFO] This extension comes with migrations. If you get prompted, answer 'yes'.\n";
|
log_bright "[INFO] This extension comes with migrations. If you get prompted, answer 'yes'.\n";
|
||||||
php artisan migrate;
|
php artisan migrate;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
chmod -R +x .blueprint/.storage/extensiondata/$identifier/*;
|
chmod -R +x .blueprint/data/extensions/$identifier/*;
|
||||||
|
|
||||||
if [[ ( $flags == *"hasInstallScript,"* ) || ( $flags == *"hasInstallScript" ) ]]; then
|
if [[ ( $flags == *"hasInstallScript,"* ) || ( $flags == *"hasInstallScript" ) ]]; then
|
||||||
log_yellow "[WARNING] This extension uses a custom installation script, proceed with caution."
|
log_yellow "[WARNING] This extension uses a custom installation script, proceed with caution."
|
||||||
bash .blueprint/.storage/extensiondata/$identifier/install.sh;
|
bash .blueprint/data/extensions/$identifier/install.sh;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
log_green "\n\n[SUCCESS] $identifier should now be installed. If something didn't work as expected, please let us know at ptero.shop/issue.";
|
log_green "\n\n[SUCCESS] $identifier should now be installed. If something didn't work as expected, please let us know at ptero.shop/issue.";
|
||||||
|
@ -417,30 +417,30 @@ if [[ $2 == "-init" ]]; then
|
||||||
else quit_red "[FATAL] Identifier should only contain a-z characters.";fi;
|
else quit_red "[FATAL] Identifier should only contain a-z characters.";fi;
|
||||||
|
|
||||||
log_bright "[INFO] Copying init defaults to tmp directory..";
|
log_bright "[INFO] Copying init defaults to tmp directory..";
|
||||||
mkdir .blueprint/.storage/tmp/init;
|
mkdir .blueprint/tmp/init;
|
||||||
cp -R .blueprint/.storage/defaults/init/* .blueprint/.storage/tmp/init/;
|
cp -R .blueprint/data/internal/build/init/* .blueprint/tmp/init/;
|
||||||
|
|
||||||
log_bright "[INFO] Applying variables.."
|
log_bright "[INFO] Applying variables.."
|
||||||
sed -i "s~␀name␀~$ASKNAME~g" .blueprint/.storage/tmp/init/conf.yml; #NAME
|
sed -i "s~␀name␀~$ASKNAME~g" .blueprint/tmp/init/conf.yml; #NAME
|
||||||
sed -i "s~␀identifier␀~$ASKIDENTIFIER~g" .blueprint/.storage/tmp/init/conf.yml; #IDENTIFIER
|
sed -i "s~␀identifier␀~$ASKIDENTIFIER~g" .blueprint/tmp/init/conf.yml; #IDENTIFIER
|
||||||
sed -i "s~␀description␀~$ASKDESCRIPTION~g" .blueprint/.storage/tmp/init/conf.yml; #DESCRIPTION
|
sed -i "s~␀description␀~$ASKDESCRIPTION~g" .blueprint/tmp/init/conf.yml; #DESCRIPTION
|
||||||
sed -i "s~␀ver␀~$ASKVERSION~g" .blueprint/.storage/tmp/init/conf.yml; #VERSION
|
sed -i "s~␀ver␀~$ASKVERSION~g" .blueprint/tmp/init/conf.yml; #VERSION
|
||||||
sed -i "s~␀author␀~$ASKAUTHOR~g" .blueprint/.storage/tmp/init/conf.yml; #AUTHOR
|
sed -i "s~␀author␀~$ASKAUTHOR~g" .blueprint/tmp/init/conf.yml; #AUTHOR
|
||||||
|
|
||||||
icnNUM=$(expr 1 + $RANDOM % 4);
|
icnNUM=$(expr 1 + $RANDOM % 4);
|
||||||
sed -i "s~␀num␀~$icnNUM~g" .blueprint/.storage/tmp/init/conf.yml;
|
sed -i "s~␀num␀~$icnNUM~g" .blueprint/tmp/init/conf.yml;
|
||||||
sed -i "s~␀version␀~$VERSION~g" .blueprint/.storage/tmp/init/conf.yml;
|
sed -i "s~␀version␀~$VERSION~g" .blueprint/tmp/init/conf.yml;
|
||||||
|
|
||||||
# Return files to folder.
|
# Return files to folder.
|
||||||
log_bright "[INFO] Copying output to .development directory."
|
log_bright "[INFO] Copying output to dev directory."
|
||||||
cp -R .blueprint/.storage/tmp/init/* .blueprint/.development/;
|
cp -R .blueprint/tmp/init/* .blueprint/dev/;
|
||||||
|
|
||||||
# Remove tmp files.
|
# Remove tmp files.
|
||||||
log_bright "[INFO] Purging tmp files."
|
log_bright "[INFO] Purging tmp files."
|
||||||
rm -R .blueprint/.storage/tmp;
|
rm -R .blueprint/tmp;
|
||||||
mkdir .blueprint/.storage/tmp;
|
mkdir .blueprint/tmp;
|
||||||
|
|
||||||
log_green "[SUCCESS] Your extension files have been generated and exported to '.blueprint/.development'.";
|
log_green "[SUCCESS] Your extension files have been generated and exported to '.blueprint/dev'.";
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
# -build, -test
|
# -build, -test
|
||||||
|
@ -456,17 +456,17 @@ fi;
|
||||||
|
|
||||||
# -export
|
# -export
|
||||||
if [[ $2 == "-export" ]]; then
|
if [[ $2 == "-export" ]]; then
|
||||||
log_bright "[INFO] Exporting extension files located in '.blueprint/.development'.";
|
log_bright "[INFO] Exporting extension files located in '.blueprint/dev'.";
|
||||||
|
|
||||||
cd .blueprint
|
cd .blueprint
|
||||||
eval $(parse_yaml .development/conf.yml); identifier=$info_identifier;
|
eval $(parse_yaml dev/conf.yml); identifier=$info_identifier;
|
||||||
cp -R .development/* .storage/tmp/;
|
cp -R dev/* tmp/;
|
||||||
cd .storage/tmp;
|
cd tmp;
|
||||||
zip -r extension.zip *;
|
zip -r extension.zip *;
|
||||||
cd /var/www/$FOLDER;
|
cd /var/www/$FOLDER;
|
||||||
cp .blueprint/.storage/tmp/extension.zip $identifier.blueprint;
|
cp .blueprint/tmp/extension.zip $identifier.blueprint;
|
||||||
rm -R .blueprint/.storage/tmp;
|
rm -R .blueprint/tmp;
|
||||||
mkdir .blueprint/.storage/tmp;
|
mkdir .blueprint/tmp;
|
||||||
|
|
||||||
# This will be replaced with a success/fail check in the future.
|
# This will be replaced with a success/fail check in the future.
|
||||||
log_bright "[INFO] Export finished.";
|
log_bright "[INFO] Export finished.";
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
All files you put in your datafolder are moved to .blueprint/.storage/extensiondata/youridentifier/..
|
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 226 KiB After Width: | Height: | Size: 226 KiB |
Before Width: | Height: | Size: 180 KiB After Width: | Height: | Size: 180 KiB |
Before Width: | Height: | Size: 164 KiB After Width: | Height: | Size: 164 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 6 KiB After Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 245 B |
Before Width: | Height: | Size: 171 B After Width: | Height: | Size: 171 B |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
1
blueprint/data/internal/build/init/data/hello.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
All files you put in your datafolder are moved to .blueprint/data/extensions/youridentifier/..
|
|
@ -3,10 +3,10 @@
|
||||||
# This script has been created as part of the Blueprint source code
|
# This script has been created as part of the Blueprint source code
|
||||||
# and may be intergrated directly into the core in the future.
|
# and may be intergrated directly into the core in the future.
|
||||||
|
|
||||||
FLDR="/var/www/&bp.folder&/.blueprint/.storage/db.md";
|
FLDR="/var/www/&bp.folder&/.blueprint/data/internal/db/database";
|
||||||
|
|
||||||
# If Blueprint does not replace the variable, default to "/var/www/pterodactyl" as root folder.
|
# If Blueprint does not replace the variable, default to "/var/www/pterodactyl" as root folder.
|
||||||
if [[ $FLDR == "/var/www/&b""p.folder&/.blueprint/.storage/db.md" ]]; then FLDR="/var/www/pterodactyl/.blueprint/.storage/db.md"; fi;
|
if [[ $FLDR == "/var/www/&b""p.folder&/.blueprint/data/internal/db/database" ]]; then FLDR="/var/www/pterodactyl/.blueprint/data/internal/db/database"; fi;
|
||||||
|
|
||||||
dbAdd() {
|
dbAdd() {
|
||||||
# dbAdd "database.record";
|
# dbAdd "database.record";
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# and may be intergrated directly into the core in the future.
|
# and may be intergrated directly into the core in the future.
|
||||||
|
|
||||||
sendTelemetry() {
|
sendTelemetry() {
|
||||||
key=$(cat .blueprint/.storage/telemetry_id);
|
key=$(cat .blueprint/data/internal/db/telemetry_id);
|
||||||
if [[ $key == "KEY_NOT_UPDATED" ]]; then exit 1;fi;
|
if [[ $key == "KEY_NOT_UPDATED" ]]; then exit 1;fi;
|
||||||
curl --location --silent "http://data.ptero.shop:3481/send/$key/$1" > /dev/null;
|
curl --location --silent "http://data.ptero.shop:3481/send/$key/$1" > /dev/null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<li><a href="{{ route('admin.extensions') }}" data-toggle="tooltip" data-placement="bottom" title="Extensions"><i class='fa fa-puzzle-piece <?php if(shell_exec("cd /var/www/&bp.folder&;cat .blueprint/.storage/onboarding.md") == "*blueprint*"){ echo "bx-flashing"; } ?>'></i></a></li>
|
<li><a href="{{ route('admin.extensions') }}" data-toggle="tooltip" data-placement="bottom" title="Extensions"><i class='fa fa-puzzle-piece <?php if(shell_exec("cd /var/www/&bp.folder&;cat .blueprint/data/internal/db/onboarding") == "*blueprint*"){ echo "bx-flashing"; } ?>'></i></a></li>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<li><a href="{{ route('index') }}" data-toggle="tooltip" data-placement="bottom" title="Exit Admin Control"><i class="fa fa-server"></i></a></li>
|
<li><a href="{{ route('index') }}" data-toggle="tooltip" data-placement="bottom" title="Exit Admin Control"><i class="fa fa-server"></i></a></li>
|
||||||
|
@ -158,22 +158,22 @@
|
||||||
@yield('content')
|
@yield('content')
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
if(shell_exec("cd /var/www/&bp.folder&;cat .blueprint/.storage/onboarding.md") == "*blueprint*") {
|
if(shell_exec("cd /var/www/&bp.folder&;cat .blueprint/data/internal/db/onboarding") == "*blueprint*") {
|
||||||
echo "
|
echo "
|
||||||
<div class=\"notification\">
|
<div class=\"notification\">
|
||||||
<p>Blueprint has now been installed, click the extension icon to take a look.</p>
|
<p>Blueprint has now been installed, click the extension icon to take a look.</p>
|
||||||
</div>";
|
</div>";
|
||||||
`cd /var/www/&bp.folder&;rm .blueprint/.storage/onboarding.md;`;
|
`cd /var/www/&bp.folder&;rm .blueprint/data/internal/db/onboarding;`;
|
||||||
}
|
}
|
||||||
|
|
||||||
$notification = shell_exec("cd /var/www/&bp.folder&;cat .blueprint/.storage/notification");
|
$notification = shell_exec("cd /var/www/&bp.folder&;cat .blueprint/data/internal/db/notification");
|
||||||
if($notification != null) {
|
if($notification != null) {
|
||||||
echo "<div class=\"notification\">
|
echo "<div class=\"notification\">
|
||||||
<p>".$notification."</p>
|
<p>".$notification."</p>
|
||||||
</div>
|
</div>
|
||||||
";
|
";
|
||||||
|
|
||||||
shell_exec("cd /var/www/&bp.folder&;rm .blueprint/.storage/notification;touch .blueprint/.storage/notification;");
|
shell_exec("cd /var/www/&bp.folder&;rm .blueprint/data/internal/db/notification;touch .blueprint/data/internal/db/notification;");
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</section>
|
</section>
|
||||||
|
|