Beispiel #1
0
 /**
  * Also deactivate the api_user when disabling the API application
  * 
  * @param string  $reason    reason for disabling
  * @param boolean $recursive set to true to disable recursively
  * 
  * @return boolean
  * 
  * @see ElggEntity::disable()
  */
 function disable($reason = "", $recursive = true)
 {
     if (isset($this->api_user_id)) {
         ws_pack_deactivate_api_user_from_id($this->api_user_id);
         unset($this->api_user);
     }
     return parent::disable($reason, $recursive);
 }
Beispiel #2
0
 public function testElggEntityRecursiveDisableAndEnable()
 {
     global $CONFIG;
     $obj1 = new \ElggObject();
     $obj1->container_guid = $this->entity->getGUID();
     $obj1->save();
     $obj2 = new \ElggObject();
     $obj2->container_guid = $this->entity->getGUID();
     $obj2->save();
     // disable $obj2 before disabling the container
     $this->assertTrue($obj2->disable());
     // disable entities container by $this->entity
     $this->assertTrue($this->entity->disable());
     $entity = get_data_row("SELECT * FROM {$CONFIG->dbprefix}entities WHERE guid = '{$obj1->guid}'");
     $this->assertIdentical($entity->enabled, 'no');
     // enable entities that were disabled with the container (but not $obj2)
     $this->assertTrue($this->entity->enable());
     $entity = get_data_row("SELECT * FROM {$CONFIG->dbprefix}entities WHERE guid = '{$obj1->guid}'");
     $this->assertIdentical($entity->enabled, 'yes');
     $entity = get_data_row("SELECT * FROM {$CONFIG->dbprefix}entities WHERE guid = '{$obj2->guid}'");
     $this->assertIdentical($entity->enabled, 'no');
     // cleanup
     $this->assertTrue($obj2->enable());
     $this->assertTrue($obj2->delete());
     $this->assertTrue($obj1->delete());
 }
Beispiel #3
0
 public function testElggEntityRecursiveDisableWhenLoggedOut()
 {
     $e1 = new \ElggObject();
     $e1->access_id = ACCESS_PUBLIC;
     $e1->owner_guid = 0;
     $e1->container_guid = 0;
     $e1->save();
     $guid1 = $e1->getGUID();
     $e2 = new \ElggObject();
     $e2->container_guid = $guid1;
     $e2->access_id = ACCESS_PUBLIC;
     $e2->owner_guid = 0;
     $e2->save();
     $guid2 = $e2->getGUID();
     // fake being logged out
     $old_user = $this->replaceSession();
     $ia = elgg_set_ignore_access(true);
     $this->assertTrue($e1->disable(null, true));
     // "log in" original user
     $this->replaceSession($old_user);
     elgg_set_ignore_access($ia);
     $this->assertFalse(get_entity($guid1));
     $this->assertFalse(get_entity($guid2));
     $db_prefix = elgg_get_config('dbprefix');
     $q = "SELECT * FROM {$db_prefix}entities WHERE guid = {$guid1}";
     $r = get_data_row($q);
     $this->assertEqual('no', $r->enabled);
     $q = "SELECT * FROM {$db_prefix}entities WHERE guid = {$guid2}";
     $r = get_data_row($q);
     $this->assertEqual('no', $r->enabled);
     access_show_hidden_entities(true);
     $e1->delete();
     $e2->delete();
     access_show_hidden_entities(false);
 }