function ckeditor_skin_admin_main in CKEditor Skin 7
Override the default admin page to warn the user about missing skin.
Return value
string Page content.
1 string reference to 'ckeditor_skin_admin_main'
- ckeditor_skin_menu_alter in ./
ckeditor_skin.module - Implements hook_menu_alter().
File
- ./
ckeditor_skin.module, line 148 - CKEditor Skin
Code
function ckeditor_skin_admin_main() {
$page = ckeditor_admin_main();
if (!empty($page)) {
$skins = ckeditor_skin_get_skins();
$global_profile = ckeditor_profile_load('CKEditor Global Profile');
$skin_options = ckeditor_load_skin_options();
$original_message = t('The <em>CKEditor Global Profile</em> profile is using %skin skin which cannot be found. Please <a href="@profile_settings">update your settings</a>.', array(
'%skin' => $global_profile->settings['skin'],
'@profile_settings' => url('admin/config/content/ckeditor/editg'),
));
// Dirty hack.
if (!empty($_SESSION['messages']['warning'])) {
foreach ($_SESSION['messages']['warning'] as $id => $message) {
if ($message == $original_message) {
unset($_SESSION['messages']['warning'][$id]);
}
}
if (empty($_SESSION['messages']['warning'])) {
unset($_SESSION['messages']['warning']);
}
}
// Skin not found.
if (empty($skins[$global_profile->settings['skin']])) {
drupal_set_message($original_message, 'warning');
}
elseif (!empty($global_profile->settings['skin_api'])) {
$skin_api = $global_profile->settings['skin_api'];
if (!empty($skin_api['skin'])) {
$skin = $skin_api['skin'];
// Check for:
// - Skin not found.
// - skin.js not found.
if (empty($skins[$skin]) || !($skin_info = $skins[$skin]) || !empty($skin_info['js']) && !file_exists($skin_info['js'])) {
drupal_set_message(t('The <em>CKEditor Global Profile</em> profile is using %skin skin which cannot be found. Please <a href="@profile_settings">update your settings</a>.', array(
'%skin' => $skin,
'@profile_settings' => url('admin/config/content/ckeditor/editg'),
)), 'warning');
}
elseif ($skin_api != $skin_info) {
drupal_set_message(t('The <em>CKEditor Global Profile</em> profile is using old %skin skin which is deprecated. Please <a href="@profile_settings">update your settings</a>.', array(
'%skin' => $skin,
'@profile_settings' => url('admin/config/content/ckeditor/editg'),
)), 'warning');
}
}
}
}
return $page;
}