Sfoglia il codice sorgente

modify ref only for ref table

Piotr Labudda 7 anni fa
parent
commit
e8faa07ebb
1 ha cambiato i file con 8 aggiunte e 2 eliminazioni
  1. 8 2
      SE/se-lib/ACL.php

+ 8 - 2
SE/se-lib/ACL.php

@@ -247,7 +247,10 @@ class ACL {
 		self::addListRef($namespace, $remoteTypeName, $pk, [ $remotePk ]);
 	}
 	static function addListRef($namespace, $remoteTypeName, $pk, $listRemotePk) {
-		$refTable = ACL::getRefTable($namespace, $remoteTypeName); // TODO: RefConfig::fetch($namespace, $remoteTypeName);
+		// $refTable = ACL::getRefTable($namespace, $remoteTypeName); // TODO: RefConfig::fetch($namespace, $remoteTypeName);
+		$refConfig = RefConfig::getRefConfig($namespace, $remoteTypeName);
+		if ('table' !== $refConfig->source) throw new HttpException("Not implemented ref source type", 501);
+		$refTable = $refConfig->tableName;
 		foreach ($listRemotePk as $remotePk) {
 			DB::getPDO()->insertIgnore($refTable, [ 'PRIMARY_KEY' => $pk, 'REMOTE_PRIMARY_KEY' => $remotePk ]);
 		}
@@ -266,7 +269,10 @@ class ACL {
 		self::removeListRef($namespace, $remoteTypeName, $pk, [ $remotePk ]);
 	}
 	static function removeListRef($namepace, $remoteTypeName, $pk, $listRemotePk) {
-		$refTable = ACL::getRefTable($namepace, $remoteTypeName); // TODO: RefConfig::fetch($namepace, $remoteTypeName);
+		// $refTable = ACL::getRefTable($namepace, $remoteTypeName); // TODO: RefConfig::fetch($namepace, $remoteTypeName);
+		$refConfig = RefConfig::getRefConfig($namespace, $remoteTypeName);
+		if ('table' !== $refConfig->source) throw new HttpException("Not implemented ref source type", 501);
+		$refTable = $refConfig->tableName;
 		foreach ($listRemotePk as $remotePk) {
 			DB::getPDO()->execSql(" delete from `{$refTable}` where PRIMARY_KEY = :pk and REMOTE_PRIMARY_KEY = :remote_pk ", [
 				':pk' => $pk,