skillset_inview-8.x-1.x-dev/skillset_inview.install
skillset_inview.install
<?php
/**
* @file
* Install database table and check need JS plugins for module install.
*/
/**
* Implements hook_schema().
*/
function skillset_inview_schema() {
$schema['skillset_inview'] = [
'description' => 'Table that contains logs of all skillset_inview rows.',
'fields' => [
'id' => [
'type' => 'serial',
'not null' => TRUE,
'description' => 'Primary Key: Unique [skill ID].',
],
'weight' => [
'type' => 'int',
'not null' => TRUE,
'description' => 'weight of skill',
],
'name' => [
'type' => 'text',
'size' => 'medium',
'not null' => FALSE,
'description' => 'name (title) of skill',
],
'percent' => [
'type' => 'int',
'not null' => TRUE,
'description' => 'width of skill (percent)',
],
],
'primary key' => ['id'],
];
return $schema;
}
/**
* Implements hook_requirements().
*/
function skillset_inview_requirements($phase) {
$requirements = [];
switch ($phase) {
case 'runtime':
case 'install':
$requirements['skillset_inview_inview']['title'] = t('Skillset Inview');
$requirements['skillset_inview_inview']['severity'] = REQUIREMENT_ERROR;
$requirements['skillset_inview_inview']['description'] = t('Download <a href="https://github.com/protonet/jquery.inview/tree/v1.1.2" target="_blank">github.com | jquery.inview [v1.1.2]</a> and install folder "/libraries/jquery.inview". <br>The "jquery.inview.min.js" is required before Skillset Inview can be used.');
if (skillset_inview_library_exist('jquery.inview', 'jquery.inview.min.js') !== FALSE) {
$requirements['skillset_inview_inview']['title'] = t('Skillset Inview');
$requirements['skillset_inview_inview']['severity'] = REQUIREMENT_OK;
$requirements['skillset_inview_inview']['description'] = t('The library </q>jquery.inview has been correctly installed.');
}
$requirements['skillset_inview_easing']['title'] = t('Skillset Inview');
$requirements['skillset_inview_easing']['severity'] = REQUIREMENT_ERROR;
$requirements['skillset_inview_easing']['description'] = t('Download <a href="https://github.com/gdsmith/jquery.easing/tree/1.3.2" target="_blank">github.com | jquery.easing [v1.3.2]</a> and install folder "/libraries/jquery.easing" <br>The "jquery.easing.min.js" file is required before Skillset Inview can be used.');
if (skillset_inview_library_exist('jquery.easing', 'jquery.easing.min.js') !== FALSE) {
$requirements['skillset_inview_easing']['title'] = t('Skillset Inview');
$requirements['skillset_inview_easing']['severity'] = REQUIREMENT_OK;
$requirements['skillset_inview_easing']['description'] = t('The library <q>jquery.easing</q> has been correctly installed.');
}
$requirements['skillset_inview_farbtastic']['title'] = t('Skillset Inview');
$requirements['skillset_inview_farbtastic']['severity'] = REQUIREMENT_ERROR;
$requirements['skillset_inview_farbtastic']['description'] = t('Download <a href="https://github.com/mattfarina/farbtastic/tree/1.3u" target="_blank">github.com | jquery.farbtastic [1.3u]</a> and install folder "/libraries/farbtastic" <br>The "/farbtastic.min.js" and the entire contents of that zipfile is required before Skillset Inview can be used.');
if (skillset_inview_library_exist('farbtastic', 'farbtastic.min.js') !== FALSE) {
$requirements['skillset_inview_farbtastic']['title'] = t('Skillset Inview');
$requirements['skillset_inview_farbtastic']['severity'] = REQUIREMENT_OK;
$requirements['skillset_inview_farbtastic']['description'] = t('The library <q>farbtastic</q> has been correctly installed.');
}
break;
}
return $requirements;
}
/**
* Checks folder/file exists.
*/
function skillset_inview_library_exist($folder = FALSE, $filename = FALSE) {
$path = \realpath(DRUPAL_ROOT . '/libraries/' . $folder);
return ($path !== FALSE && is_dir($path)) ? _skillset_inview_library_file_exist($path, $filename) : FALSE;
}
/**
* Checks folder/file exists, subfunction.
*/
function _skillset_inview_library_file_exist($path = FALSE, $filename = FALSE) {
$has_file = FALSE;
$file_path = $path . '/' . $filename;
if (@file_exists($file_path) === TRUE) {
$has_file = $file_path;
}
return $has_file;
}
