Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
provision
Commits
f6dbda2b
Commit
f6dbda2b
authored
May 03, 2008
by
Adrian Rossouw
Committed by
adrian
May 03, 2008
Browse files
fix the error code handling.
parent
26b5dcf2
Changes
4
Hide whitespace changes
Inline
Side-by-side
platform/provision_drupal.module
View file @
f6dbda2b
...
@@ -75,6 +75,14 @@ function _provision_drupal_site_exists($url) {
...
@@ -75,6 +75,14 @@ function _provision_drupal_site_exists($url) {
return
file_exists
(
"sites/
$url
/settings.php"
);
return
file_exists
(
"sites/
$url
/settings.php"
);
}
}
function
_provision_drupal_site_installed
(
$url
)
{
if
(
_provision_drupal_site_exists
(
$url
))
{
if
(
$data
=
provision_load_site_data
(
$url
))
{
return
isset
(
$data
[
'site_installed'
])
?
$data
[
'site_installed'
]
:
FALSE
;
}
}
return
false
;
}
/**
/**
* Implentation of hook_provision_backup()
* Implentation of hook_provision_backup()
...
@@ -137,7 +145,7 @@ function _provision_drupal_create_directories($url, $profile = null) {
...
@@ -137,7 +145,7 @@ function _provision_drupal_create_directories($url, $profile = null) {
"sites/
$url
/files/images"
=>
02770
,
"sites/
$url
/files/images"
=>
02770
,
"sites/
$url
/files/pictures"
=>
02770
,
"sites/
$url
/files/pictures"
=>
02770
,
"sites/
$url
/themes"
=>
02750
,
"sites/
$url
/themes"
=>
02750
,
"sites/
$url
/modules"
=>
02750
,
"sites/
$url
/modules"
=>
02750
,
);
);
foreach
(
$paths
as
$path
=>
$perm
)
{
foreach
(
$paths
as
$path
=>
$perm
)
{
...
@@ -153,11 +161,10 @@ function _provision_drupal_create_directories($url, $profile = null) {
...
@@ -153,11 +161,10 @@ function _provision_drupal_create_directories($url, $profile = null) {
PROVISION_PERM_ERROR
|
PROVISION_INSTALL_ERROR
);
PROVISION_PERM_ERROR
|
PROVISION_INSTALL_ERROR
);
provision_check_path
(
$path
,
"chgrp"
,
provision_get_group_name
(),
provision_check_path
(
$path
,
"chgrp"
,
provision_get_group_name
(),
t
(
"Changed group ownership of <code>%path</code>"
,
array
(
"%path"
=>
$path
)),
t
(
"Changed group ownership of <code>%path</code>"
,
array
(
"%path"
=>
$path
)),
t
(
"Could not change group ownership <code>%path</code>"
,
array
(
"%path"
=>
$path
)),
t
(
"Could not change group ownership <code>%path</code>"
,
array
(
"%path"
=>
$path
)));
PROVISION_PERM_ERROR
|
PROVISION_INSTALL_ERROR
);
provision_check_path
(
$path
,
"chmod"
,
$perm
,
provision_check_path
(
$path
,
"chmod"
,
$perm
,
t
(
"Changed permissions of <code>%path</code> to %perms"
,
array
(
"%path"
=>
$path
,
'%perms'
=>
$perm
s
)),
t
(
"Changed permissions of <code>%path</code> to %perms"
,
array
(
"%path"
=>
$path
,
'%perms'
=>
$perm
)),
t
(
"Could not change
ownership
<code>%path</code> to %perms"
,
array
(
"%path"
=>
$path
,
'%perms'
=>
$perm
s
)),
t
(
"Could not change
permissions
<code>%path</code> to %perms"
,
array
(
"%path"
=>
$path
,
'%perms'
=>
$perm
)),
PROVISION_PERM_ERROR
|
PROVISION_INSTALL_ERROR
);
PROVISION_PERM_ERROR
|
PROVISION_INSTALL_ERROR
);
}
}
}
}
...
@@ -261,6 +268,7 @@ function _provision_drupal_force_load_modules($url = null) {
...
@@ -261,6 +268,7 @@ function _provision_drupal_force_load_modules($url = null) {
* Install the drupal schema and install profile
* Install the drupal schema and install profile
*/
*/
function
_provision_drupal_install_schema
(
$profile
)
{
function
_provision_drupal_install_schema
(
$profile
)
{
provision_log
(
"install"
,
t
(
"Installing Drupal schema"
));
// Load the profile.
// Load the profile.
require_once
"./profiles/
$profile
/
$profile
.profile"
;
require_once
"./profiles/
$profile
/
$profile
.profile"
;
...
@@ -284,7 +292,7 @@ function _provision_drupal_install_schema($profile) {
...
@@ -284,7 +292,7 @@ function _provision_drupal_install_schema($profile) {
if
(
!
$modules
)
{
if
(
!
$modules
)
{
return
false
;
return
false
;
}
}
// Perform actual installation defined in the profile.
// Perform actual installation defined in the profile.
drupal_install_profile
(
$profile
,
$modules
);
drupal_install_profile
(
$profile
,
$modules
);
...
...
provision.inc
View file @
f6dbda2b
...
@@ -83,8 +83,13 @@ function provision_invoke($hook, $url, &$data, $rollback = false) {
...
@@ -83,8 +83,13 @@ function provision_invoke($hook, $url, &$data, $rollback = false) {
*/
*/
function
provision_output
(
$url
=
null
,
$data
=
array
(),
$extra
=
null
)
{
function
provision_output
(
$url
=
null
,
$data
=
array
(),
$extra
=
null
)
{
$return
=
$extra
;
$return
=
$extra
;
$return
[
'site'
]
=
$data
;
$return
[
'site'
]
=
$data
;
$return
[
'error_status'
]
=
provision_get_error
();
// error code being returned
$error
=
provision_get_error
();
if
(
!
$error
)
{
$error
=
PROVISION_SUCCESS
;
// return 1 on success.
}
$return
[
'error_status'
]
=
$error
;
// error code being returned
$return
[
'log'
]
=
provision_get_log
();
// Append logging information
$return
[
'log'
]
=
provision_get_log
();
// Append logging information
$return
[
'messages'
]
=
drupal_get_messages
();
$return
[
'messages'
]
=
drupal_get_messages
();
if
(
drush_get_option
(
array
(
'b'
,
'backend'
),
FALSE
))
{
if
(
drush_get_option
(
array
(
'b'
,
'backend'
),
FALSE
))
{
...
@@ -100,7 +105,7 @@ function provision_output($url = null, $data = array(), $extra = null) {
...
@@ -100,7 +105,7 @@ function provision_output($url = null, $data = array(), $extra = null) {
}
}
}
}
}
}
exit
(
provision_get_
error
()
);
exit
(
$
error
);
}
}
...
@@ -253,7 +258,7 @@ function provision_get_site_data($url) {
...
@@ -253,7 +258,7 @@ function provision_get_site_data($url) {
}
}
$site_data
[
'site_url'
]
=
$url
;
$site_data
[
'site_url'
]
=
$url
;
$site_data
[
'site_action_type'
]
=
$args
[
'commands'
][
1
];
$site_data
[
'site_action_type'
]
=
$args
[
'commands'
][
1
];
$docroot
=
drush_get_option
(
"r"
,
$_SERVER
[
'PWD'
]);
$docroot
=
drush_get_option
(
array
(
"r"
,
"root"
)
,
$_SERVER
[
'PWD'
]);
$site_data
[
'publish_path'
]
=
(
$docroot
)
?
$docroot
:
$_SERVER
[
'DOCUMENT_ROOT'
];
$site_data
[
'publish_path'
]
=
(
$docroot
)
?
$docroot
:
$_SERVER
[
'DOCUMENT_ROOT'
];
$site_data
[
'site_profile'
]
=
(
$site_data
[
'site_profile'
])
?
$site_data
[
'site_profile'
]
:
variable_get
(
'provision_default_profile'
,
'default'
);
$site_data
[
'site_profile'
]
=
(
$site_data
[
'site_profile'
])
?
$site_data
[
'site_profile'
]
:
variable_get
(
'provision_default_profile'
,
'default'
);
$site_data
[
'site_ip'
]
=
variable_get
(
'provision_apache_server_ip'
,
'127.0.0.1'
);
$site_data
[
'site_ip'
]
=
variable_get
(
'provision_apache_server_ip'
,
'127.0.0.1'
);
...
@@ -383,7 +388,8 @@ function provision_confirm_drush() {
...
@@ -383,7 +388,8 @@ function provision_confirm_drush() {
* Get the backup path of the Provision installation
* Get the backup path of the Provision installation
*/
*/
function
_provision_backup_path
()
{
function
_provision_backup_path
()
{
$parts
=
explode
(
"/"
,
$_SERVER
[
'DOCUMENT_ROOT'
]);
$path
=
(
$_SERVER
[
'PWD'
])
?
$_SERVER
[
'PWD'
]
:
$_SERVER
[
'DOCUMENT_ROOT'
];
$parts
=
explode
(
"/"
,
rtrim
(
$path
,
'/'
));
array_pop
(
$parts
);
array_pop
(
$parts
);
return
variable_get
(
'provision_backup_path'
,
implode
(
"/"
,
$parts
)
.
'/backups'
);
return
variable_get
(
'provision_backup_path'
,
implode
(
"/"
,
$parts
)
.
'/backups'
);
}
}
...
@@ -394,7 +400,7 @@ function _provision_backup_path() {
...
@@ -394,7 +400,7 @@ function _provision_backup_path() {
*/
*/
function
_provision_config_path
()
{
function
_provision_config_path
()
{
$path
=
(
$_SERVER
[
'PWD'
])
?
$_SERVER
[
'PWD'
]
:
$_SERVER
[
'DOCUMENT_ROOT'
];
$path
=
(
$_SERVER
[
'PWD'
])
?
$_SERVER
[
'PWD'
]
:
$_SERVER
[
'DOCUMENT_ROOT'
];
$parts
=
explode
(
"/"
,
$path
);
$parts
=
explode
(
"/"
,
rtrim
(
$path
,
'/'
)
);
array_pop
(
$parts
);
array_pop
(
$parts
);
return
variable_get
(
'provision_config_path'
,
implode
(
"/"
,
$parts
)
.
'/config'
)
;
return
variable_get
(
'provision_config_path'
,
implode
(
"/"
,
$parts
)
.
'/config'
)
;
}
}
...
@@ -533,7 +539,7 @@ function provision_check_path($path, $type, $test = true, $succeed_message = '',
...
@@ -533,7 +539,7 @@ function provision_check_path($path, $type, $test = true, $succeed_message = '',
provision_set_error
(
$error_codes
);
provision_set_error
(
$error_codes
);
}
}
if
(
$fail_message
)
{
if
(
$fail_message
)
{
provision_log
(
"error"
,
$fail_message
.
" (
$value
!=
$test
"
);
provision_log
(
"error"
,
$fail_message
.
" (
$value
!=
$test
)
"
);
}
}
}
}
return
$status
;
return
$status
;
...
...
provision.module
View file @
f6dbda2b
...
@@ -320,8 +320,6 @@ function provision_drush_command() {
...
@@ -320,8 +320,6 @@ function provision_drush_command() {
* Will exit with a PROVISION_FRAMEWORK_ERROR if the command is incorrectly used.
* Will exit with a PROVISION_FRAMEWORK_ERROR if the command is incorrectly used.
*/
*/
function
provision_install_cmd
(
$url
)
{
function
provision_install_cmd
(
$url
)
{
#safety mechanism to ensure back end calls are not made via the front end.
if
(
!
provision_confirm_drush
())
return
null
;
global
$args
;
global
$args
;
$data
=
provision_get_site_data
(
$url
);
$data
=
provision_get_site_data
(
$url
);
...
@@ -335,9 +333,9 @@ function provision_install_cmd($url) {
...
@@ -335,9 +333,9 @@ function provision_install_cmd($url) {
}
}
$ops
=
array
(
'pre_install'
,
'install'
,
'post_install'
);
# these are the provision hooks that will get triggered.
$ops
=
array
(
'pre_install'
,
'install'
,
'post_install'
);
# these are the provision hooks that will get triggered.
if
(
$data
[
'site-installed'
]
==
TRUE
)
{
if
(
_provision_drupal_site_installed
(
$url
))
{
print
"The site
$url
is already installed.
\n
If you want to re-install it, you will need to delete it first."
;
provision_set_error
(
PROVISION_SITE_INSTALLED
);
provision_set_error
(
PROVISION_SITE_INSTALLED
);
provision_log
(
"error"
,
t
(
"Site has already been installed. Exiting."
));
provision_output
(
$url
,
$data
);
provision_output
(
$url
,
$data
);
}
}
...
@@ -365,10 +363,7 @@ function provision_install_cmd($url) {
...
@@ -365,10 +363,7 @@ function provision_install_cmd($url) {
* Boolean denoting whether the provision_invoke rolled back changes made.
* Boolean denoting whether the provision_invoke rolled back changes made.
*/
*/
function
_provision_pre_install
(
$url
,
&
$data
)
{
function
_provision_pre_install
(
$url
,
&
$data
)
{
#safety mechanism to ensure back end calls are not made via the front end.
if
(
!
provision_confirm_drush
())
return
null
;
$rolled_back
=
provision_invoke
(
"pre_install"
,
$url
,
$data
);
$rolled_back
=
provision_invoke
(
"pre_install"
,
$url
,
$data
);
if
(
!
provision_get_error
())
{
if
(
!
provision_get_error
())
{
// This is the actual drupal provisioning requirements.
// This is the actual drupal provisioning requirements.
_provision_drupal_create_directories
(
$url
,
$data
[
'profile'
]);
_provision_drupal_create_directories
(
$url
,
$data
[
'profile'
]);
...
@@ -424,11 +419,9 @@ function _provision_install($url, &$data) {
...
@@ -424,11 +419,9 @@ function _provision_install($url, &$data) {
* Boolean denoting whether the provision_invoke rolled back changes made.
* Boolean denoting whether the provision_invoke rolled back changes made.
*/
*/
function
_provision_post_install
(
$url
,
&
$data
)
{
function
_provision_post_install
(
$url
,
&
$data
)
{
#safety mechanism to ensure back end calls are not made via the front end.
if
(
!
provision_confirm_drush
())
return
null
;
$rolled_back
=
provision_invoke
(
"post_install"
,
$url
,
$data
);
$rolled_back
=
provision_invoke
(
"post_install"
,
$url
,
$data
);
if
(
!
$rolled_back
)
{
if
(
!
$rolled_back
)
{
$data
[
'site
-
installed'
]
=
true
;
$data
[
'site
_
installed'
]
=
true
;
}
}
return
$rolled_back
;
return
$rolled_back
;
}
}
...
@@ -443,10 +436,8 @@ function _provision_post_install($url, &$data) {
...
@@ -443,10 +436,8 @@ function _provision_post_install($url, &$data) {
* Will exit with a PROVISION_SITE_NOT_FOUND error if the site does not exist.
* Will exit with a PROVISION_SITE_NOT_FOUND error if the site does not exist.
*/
*/
function
_provision_synch
(
$url
)
{
function
_provision_synch
(
$url
)
{
#safety mechanism to ensure back end calls are not made via the front end.
if
(
!
_provision_drupal_site_installed
(
$url
))
{
if
(
!
provision_confirm_drush
())
return
null
;
provision_log
(
"error"
,
"Site has not been installed yet."
);
if
(
!
_provision_drupal_site_exists
(
$url
))
{
provision_log
(
"Error"
,
"Site has not been installed yet."
);
provision_set_error
(
PROVISION_SITE_NOT_FOUND
);
provision_set_error
(
PROVISION_SITE_NOT_FOUND
);
provision_output
(
$url
,
$data
);
provision_output
(
$url
,
$data
);
}
}
...
@@ -470,7 +461,7 @@ function _provision_synch($url) {
...
@@ -470,7 +461,7 @@ function _provision_synch($url) {
* Will exit with a PROVISION_SITE_NOT_FOUND error if the site does not exist.
* Will exit with a PROVISION_SITE_NOT_FOUND error if the site does not exist.
*/
*/
function
_provision_backup
(
$url
)
{
function
_provision_backup
(
$url
)
{
if
(
!
_provision_drupal_site_
exists
(
$url
))
{
if
(
!
_provision_drupal_site_
installed
(
$url
))
{
provision_log
(
"Error"
,
"Site has not been installed yet."
);
provision_log
(
"Error"
,
"Site has not been installed yet."
);
provision_set_error
(
PROVISION_SITE_NOT_FOUND
);
provision_set_error
(
PROVISION_SITE_NOT_FOUND
);
provision_output
(
$url
,
$data
);
provision_output
(
$url
,
$data
);
...
@@ -528,8 +519,6 @@ function _provision_backup_site($url, &$data, $file = null) {
...
@@ -528,8 +519,6 @@ function _provision_backup_site($url, &$data, $file = null) {
* Will exit with a PROVISION_SITE_NOT_FOUND error if the site does not exist.
* Will exit with a PROVISION_SITE_NOT_FOUND error if the site does not exist.
*/
*/
function
_provision_import
(
$url
)
{
function
_provision_import
(
$url
)
{
#safety mechanism to ensure back end calls are not made via the front end.
if
(
!
provision_confirm_drush
())
return
null
;
if
(
!
_provision_drupal_site_exists
(
$url
))
{
if
(
!
_provision_drupal_site_exists
(
$url
))
{
provision_log
(
"Error"
,
"Site directory is not present, and can not be imported."
);
provision_log
(
"Error"
,
"Site directory is not present, and can not be imported."
);
...
@@ -622,7 +611,7 @@ function _provision_verify($url = '') {
...
@@ -622,7 +611,7 @@ function _provision_verify($url = '') {
}
}
function
_provision_restore
(
$site
,
$backup_file
)
{
function
_provision_restore
(
$site
,
$backup_file
)
{
if
(
!
_provision_drupal_site_
exists
(
$url
))
{
if
(
!
_provision_drupal_site_
installed
(
$url
))
{
provision_log
(
"Error"
,
"Site has not been installed yet."
);
provision_log
(
"Error"
,
"Site has not been installed yet."
);
provision_set_error
(
PROVISION_SITE_NOT_FOUND
);
provision_set_error
(
PROVISION_SITE_NOT_FOUND
);
provision_output
(
$url
,
$data
);
provision_output
(
$url
,
$data
);
...
...
provision_errors.inc
View file @
f6dbda2b
...
@@ -12,10 +12,10 @@
...
@@ -12,10 +12,10 @@
* @see provision_set_error(), provision_get_error(), provision_cmp_error()
* @see provision_set_error(), provision_get_error(), provision_cmp_error()
*/
*/
/** Succesful **/
define
(
'PROVISION_SUCCESS'
,
-
1
);
/** Queue not run */
/** Queue not run */
define
(
'PROVISION_QUEUED'
,
1
);
define
(
'PROVISION_QUEUED'
,
0
);
/** Succesful **/
define
(
'PROVISION_SUCCESS'
,
1
);
/** Drupal was unable to complete it's installation */
/** Drupal was unable to complete it's installation */
define
(
'PROVISION_INSTALL_ERROR'
,
2
);
define
(
'PROVISION_INSTALL_ERROR'
,
2
);
/** Could not create files due to permission error - potentially less severe */
/** Could not create files due to permission error - potentially less severe */
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment