Cascading deletion fix
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,3 +2,4 @@
|
|||||||
/.project
|
/.project
|
||||||
/log.html
|
/log.html
|
||||||
/globalsettings.php
|
/globalsettings.php
|
||||||
|
inc/log.html
|
||||||
|
|||||||
26
inc/Db.php
26
inc/Db.php
@@ -209,7 +209,7 @@ class Db extends PhpObject
|
|||||||
if($this->isId($sColumnName) && $sColumnName!=self::getId($sTableName))
|
if($this->isId($sColumnName) && $sColumnName!=self::getId($sTableName))
|
||||||
{
|
{
|
||||||
$asForeignKeyQueries[] = "ALTER TABLE ".$sTableName." ADD INDEX(`".$sColumnName."`)";
|
$asForeignKeyQueries[] = "ALTER TABLE ".$sTableName." ADD INDEX(`".$sColumnName."`)";
|
||||||
$asForeignKeyQueries[] = "ALTER TABLE ".$sTableName." ADD FOREIGN KEY (`".$sColumnName."`) REFERENCES ".self::getTable($sColumnName)."(`".$sColumnName."`)";
|
$asForeignKeyQueries[] = "ALTER TABLE ".$sTableName." ADD FOREIGN KEY (`".$sColumnName."`) REFERENCES ".$this->getTable($sColumnName)."(`".$sColumnName."`)";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -496,24 +496,14 @@ class Db extends PhpObject
|
|||||||
$bSuccess = true;
|
$bSuccess = true;
|
||||||
|
|
||||||
//linked tables
|
//linked tables
|
||||||
switch($sTableName)
|
if(array_key_exists('cascading_delete', $this->asOptions) && array_key_exists($sTableName, $this->asOptions['cascading_delete'])) {
|
||||||
{
|
foreach($this->asOptions['cascading_delete'][$sTableName] as $sTable) {
|
||||||
case (array_key_exists('cascading_delete', $this->asOptions) && array_key_exists($sTableName, $this->asOptions['cascading_delete'])) :
|
$bSuccess = $bSuccess && $this->deleteRow($sTable, $iTableId);
|
||||||
$asTables = array_merge(is_array($sTableName)?array_values($sTableName):array($sTableName), array_values($this->asOptions['cascading_delete'][$sTableName]));
|
}
|
||||||
break;
|
|
||||||
case is_string($sTableName) :
|
|
||||||
$asTables = array($sTableName);
|
|
||||||
break;
|
|
||||||
case is_array($sTableName):
|
|
||||||
$asTables = $sTableName;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
$asTables = array();
|
|
||||||
}
|
|
||||||
foreach($asTables as $sTable)
|
|
||||||
{
|
|
||||||
$bSuccess = $bSuccess && $this->setQuery("DELETE FROM ".$sTable." WHERE ".$this->getId($sTableName)." = ".$iTableId);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$bSuccess = $bSuccess && $this->setQuery("DELETE FROM ".$sTableName." WHERE ".$this->getId($sTableName)." = ".$iTableId);
|
||||||
|
|
||||||
return $bSuccess;
|
return $bSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -485,8 +485,8 @@ class ToolBox
|
|||||||
|
|
||||||
switch ($sLang) {
|
switch ($sLang) {
|
||||||
case 'en':
|
case 'en':
|
||||||
$asWeekDays = array('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'satursday', 'sunday');
|
$asWeekDays = array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Satursday', 'Sunday');
|
||||||
$asMonths = array('january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december');
|
$asMonths = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
|
||||||
break;
|
break;
|
||||||
case 'fr':
|
case 'fr':
|
||||||
$asWeekDays = array('lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche');
|
$asWeekDays = array('lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche');
|
||||||
@@ -510,7 +510,7 @@ class ToolBox
|
|||||||
elseif($sCurTimeStamp-$iTimeStamp<60*60*2) $sDesc = 'an hour ago';
|
elseif($sCurTimeStamp-$iTimeStamp<60*60*2) $sDesc = 'an hour ago';
|
||||||
elseif($sCurTimeStamp-$iTimeStamp<60*60*24 && $sDay==$sCurDay) $sDesc = 'at '.date('gA', $iTimeStamp);
|
elseif($sCurTimeStamp-$iTimeStamp<60*60*24 && $sDay==$sCurDay) $sDesc = 'at '.date('gA', $iTimeStamp);
|
||||||
elseif($sCurTimeStamp-$iTimeStamp<60*60*24) $sDesc = 'yesterday';
|
elseif($sCurTimeStamp-$iTimeStamp<60*60*24) $sDesc = 'yesterday';
|
||||||
elseif($sCurTimeStamp-$iTimeStamp<60*60*24*7 && $sWeek==$sCurWeek) $sDesc = $asWeekDays[$sWeekDay-1];
|
elseif($sCurTimeStamp-$iTimeStamp<60*60*24*7 && $sWeek==$sCurWeek) $sDesc = 'on '.$asWeekDays[$sWeekDay-1];
|
||||||
elseif($sCurTimeStamp-$iTimeStamp<60*60*24*7) $sDesc = 'last '.$asWeekDays[$sWeekDay-1];
|
elseif($sCurTimeStamp-$iTimeStamp<60*60*24*7) $sDesc = 'last '.$asWeekDays[$sWeekDay-1];
|
||||||
elseif($sCurTimeStamp-$iTimeStamp<60*60*24*9) $sDesc = 'a week ago';
|
elseif($sCurTimeStamp-$iTimeStamp<60*60*24*9) $sDesc = 'a week ago';
|
||||||
elseif($sCurTimeStamp-$iTimeStamp<60*60*24*12) $sDesc = '10 days ago';
|
elseif($sCurTimeStamp-$iTimeStamp<60*60*24*12) $sDesc = '10 days ago';
|
||||||
|
|||||||
4
script/jquery.js
vendored
4
script/jquery.js
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user