|
|
|
@ -481,11 +481,10 @@ class Plugin |
|
|
|
|
public function addTab($tabName, $url) |
|
|
|
|
{ |
|
|
|
|
$sql = "SELECT * FROM settings_current |
|
|
|
|
WHERE |
|
|
|
|
variable = 'show_tabs' AND |
|
|
|
|
subkey like 'custom_tab_%'"; |
|
|
|
|
WHERE |
|
|
|
|
variable = 'show_tabs' AND |
|
|
|
|
subkey like 'custom_tab_%'"; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
$customTabsNum = Database::num_rows($result); |
|
|
|
|
|
|
|
|
|
$tabNum = $customTabsNum + 1; |
|
|
|
@ -493,6 +492,22 @@ class Plugin |
|
|
|
|
//Avoid Tab Name Spaces |
|
|
|
|
$tabNameNoSpaces = preg_replace('/\s+/', '', $tabName); |
|
|
|
|
$subkeytext = "Tabs" . $tabNameNoSpaces; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Check if it is already added |
|
|
|
|
$checkCondition = array( |
|
|
|
|
'where' => |
|
|
|
|
array( |
|
|
|
|
"variable = 'show_tabs' AND subkeytext = ?" => array( |
|
|
|
|
$subkeytext |
|
|
|
|
) |
|
|
|
|
) |
|
|
|
|
); |
|
|
|
|
$checkDuplicate = Database::select('*', 'settings_current', $checkCondition); |
|
|
|
|
if (!empty($checkDuplicate)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
//End Check |
|
|
|
|
$subkey = 'custom_tab_' . $tabNum; |
|
|
|
|
$attributes = array( |
|
|
|
|
'variable' => 'show_tabs', |
|
|
|
@ -517,7 +532,6 @@ class Plugin |
|
|
|
|
$whereCondition = array( |
|
|
|
|
'id = ?' => key($settings) |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
Database::update('settings_current', $setData, $whereCondition); |
|
|
|
|
|
|
|
|
|
return $resp; |
|
|
|
@ -526,6 +540,8 @@ class Plugin |
|
|
|
|
/** |
|
|
|
|
* Delete a tab to chamilo's platform |
|
|
|
|
* @param string $key |
|
|
|
|
* |
|
|
|
|
* @return boolean $resp |
|
|
|
|
*/ |
|
|
|
|
public function deleteTab($key) |
|
|
|
|
{ |
|
|
|
|