Index: trunk/kernel/action.php
===================================================================
diff -u -N -r850 -r869
--- trunk/kernel/action.php (.../action.php) (revision 850)
+++ trunk/kernel/action.php (.../action.php) (revision 869)
@@ -464,6 +464,7 @@
case "m_user_addto_group":
if($ro_perm) break;
+ $objSession->SetVariable("HasChanges", 1);
$user = $_POST["UserId"];
if(is_numeric($user))
{
@@ -489,6 +490,7 @@
case "m_group_add_user":
if($ro_perm) break;
+ $objSession->SetVariable("HasChanges", 1);
$group = $_POST["GroupId"];
$EditGroups = new clsGroupList();
$EditGroups->SourceTable = $objSession->GetEditTable($objGroups->SourceTable);
@@ -507,6 +509,7 @@
break;
case "m_group_removeuser":
if($ro_perm) break;
+ $objSession->SetVariable("HasChanges", 1);
$group = $_POST["GroupId"];
$g = $objGroups->GetItem($group);
if($group>0)
@@ -520,6 +523,7 @@
break;
case "m_user_removegroup":
if($ro_perm) break;
+ $objSession->SetVariable("HasChanges", 1);
$user = $_POST["UserId"];
if($user>0)
{
@@ -1215,6 +1219,7 @@
case "m_template_edit":
if($ro_perm) break;
+ $objSession->SetVariable("HasChanges", 1);
$ThemeId = $_POST["ThemeId"];
$FileId = $_POST["FileId"];
$f = new clsThemeFile($FileId);
@@ -1226,6 +1231,7 @@
break;
case "m_template_add":
if($ro_perm) break;
+ $objSession->SetVariable("HasChanges", 1);
$ThemeId = $_POST["ThemeId"];
if( !is_object($f) ) $f = new clsThemeFile();
@@ -1265,6 +1271,7 @@
break;
case "m_template_delete":
if($ro_perm) break;
+ $objSession->SetVariable("HasChanges", 1);
$dummy = new clsThemeFile();
foreach($_POST["itemlist"] as $FileId)
{
@@ -1496,7 +1503,8 @@
}
break;
- case "m_phrase_edit":
+ case "m_phrase_edit":
+ $objSession->SetVariable("HasChanges", 1);
$objPhraseList = new clsPhraseList();
if((int)$_POST["direct"] != 1)
$objPhraseList->SourceTable = $objSession->GetEditTable("Phrase");
@@ -1561,6 +1569,7 @@
}
break;
case "m_phrase_delete":
+ $objSession->SetVariable("HasChanges", 1);
if (isset($_POST["itemlist"]))
{
foreach($_POST["itemlist"] as $id)
Index: trunk/kernel/include/itemdb.php
===================================================================
diff -u -N -r842 -r869
--- trunk/kernel/include/itemdb.php (.../itemdb.php) (revision 842)
+++ trunk/kernel/include/itemdb.php (.../itemdb.php) (revision 869)
@@ -163,7 +163,7 @@
if( !$this->HasField($name[$i]) || ($this->Data[$name[$i]] != $value[$i]))
{
if ($_GET['new'] != 1) {
- $this->DetectChanges($name, $value);
+ $this->DetectChanges($name[$i], $value[$value]);
}
$this->Data[$name[$i]] = $value[$i];
$this->m_dirtyFieldsMap[$name[$i]] = $value[$i];
@@ -308,6 +308,10 @@
return false;
}
+ if ($objSession->GetVariable("HasChanges") == 2) {
+ $objSession->SetVariable("HasChanges", 1);
+ }
+
/* if ($this->adodbConnection->Affected_Rows() > 0) {
$objSession->SetVariable("HasChanges", 1);
}*/
@@ -383,9 +387,11 @@
//print_pre($_POST);
//echo "$name: $value
";
if ($this->Data[$name] != $value && !strstr($name, 'Modif') && !strstr($name, 'Created')) {
- //echo "$name Modified ".$this->Data[$name]." $value
";
- if (!strstr($name, 'Hot') && !strstr($name, 'Pop')) {
- $objSession->SetVariable("HasChanges", 1);
+ //echo "$name Modified tt ".$this->Data[$name]." tt $value
";
+ if (!strstr($name, 'Hot') && !strstr($name, 'Pop') && !strstr($name, "Id") && !strstr($name, "ItemType")) {
+ if ($objSession->GetVariable("HasChanges") != 1) {
+ $objSession->SetVariable("HasChanges", 2);
+ }
}
}
}
@@ -412,9 +418,13 @@
$this->SetUniqueId($this->adodbConnection->Insert_ID());
+ if ($objSession->GetVariable("HasChanges") == 2) {
+ $objSession->SetVariable("HasChanges", 1);
+ }
+
/*if ($this->adodbConnection->Affected_Rows() > 0) {
$objSession->SetVariable("HasChanges", 1);
- } */
+ } */
return true;
}