Subversion Repositories spk

Rev

Rev 93 | Rev 121 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 93 Rev 105
Line 38... Line 38...
38
	if ( _getFile(f) )
38
	if ( _getFile(f) )
39
		return true;
39
		return true;
40
	return false;
40
	return false;
41
}
41
}
42
 
42
 
-
 
43
void COriginalFiles::installed(CBaseFile *package)
-
 
44
{
-
 
45
	for ( CListNode<C_File> *oNode = _lFiles.Front(); oNode; oNode = oNode->next() )
-
 
46
	{
-
 
47
		C_File *of = oNode->Data();
-
 
48
		for ( CListNode<C_File> *checkNode = package->GetFileList()->Front(); checkNode; checkNode = checkNode->next() )
-
 
49
		{
-
 
50
			C_File *f = checkNode->Data();
-
 
51
 
-
 
52
			// match the same filetype
-
 
53
			if ( of->GetFileType() != f->GetFileType() )
-
 
54
				continue;
-
 
55
 
-
 
56
			// same file
-
 
57
			if ( of->GetFilename().Compare(f->GetFilename()) )
-
 
58
				_storeOverride(f);
-
 
59
		}
-
 
60
	}
-
 
61
}
-
 
62
 
43
void COriginalFiles::backup(CBaseFile *package, CyStringList *errors)
63
void COriginalFiles::backup(CBaseFile *package, CyStringList *errors)
44
{
64
{
45
	// backup any original files before installing
65
	// backup any original files before installing
46
	CLog::log(CLog::Log_Install, 3, "Checking for any original files to backup");
66
	CLog::log(CLog::Log_Install, 3, "Checking for any original files to backup");
47
	CDirIO oDir(_sDir + "/PluginManager/Original");
67
	CDirIO oDir(_sDir + "/PluginManager/Original");
Line 158... Line 178...
158
			original = true;
178
			original = true;
159
			if ( of.Rename(_sDir + "/" + f->GetNameDirectory(NULL).ToString()) )
179
			if ( of.Rename(_sDir + "/" + f->GetNameDirectory(NULL).ToString()) )
160
				AddLogEntry(SPKINSTALL_ORIGINAL_RESTORE, f->GetNameDirectory(NULL), errors);
180
				AddLogEntry(SPKINSTALL_ORIGINAL_RESTORE, f->GetNameDirectory(NULL), errors);
161
			else
181
			else
162
				AddLogEntry(SPKINSTALL_ORIGINAL_RESTORE_FAIL, f->GetNameDirectory(NULL), errors);
182
				AddLogEntry(SPKINSTALL_ORIGINAL_RESTORE_FAIL, f->GetNameDirectory(NULL), errors);
-
 
183
 
-
 
184
			CFileIO backupFile(_sDir + "/PluginManager/Original/Replacements/" + f->GetNameDirectory(NULL).ToString());
-
 
185
			if ( backupFile.exists() ) backupFile.remove();
-
 
186
 
163
		}
187
		}
164
	}
188
	}
165
 
189
 
166
	return original;
190
	return original;
167
}
191
}
Line 338... Line 362...
338
	of->SetFilename(_sDir + "/" + of->GetNameDirectory(NULL).ToString());
362
	of->SetFilename(_sDir + "/" + of->GetNameDirectory(NULL).ToString());
339
 
363
 
340
	_lFiles.push_back(of);
364
	_lFiles.push_back(of);
341
}
365
}
342
 
366
 
-
 
367
void COriginalFiles::_storeOverride(C_File *f)
-
 
368
{
-
 
369
	CDirIO oDir(_sDir + "/PluginManager/Original/Replacements");
-
 
370
	if ( !oDir.Exists() ) oDir.Create();
-
 
371
	CFileIO file(oDir.File(f->GetNameDirectory(NULL)));
-
 
372
	if ( !file.GetDirIO().Exists() ) file.GetDirIO().Create();
-
 
373
	CFileIO fromFile(f->GetFilePointer());
-
 
374
	fromFile.copy(file.fullFilename(), true);
-
 
375
}
-
 
376
 
343
}
377
}