예제 #1
0
 /**
  * Test KTAPI_Role getList(), getById(), getByName
  *
  */
 function testRoles()
 {
     // getList()
     $list = KTAPI_Role::getList();
     $this->assertTrue(count($list) > 0);
     // getById()
     $role = KTAPI_Role::getById(-2);
     $this->assertTrue($role->Name == 'Owner');
     // getByName()
     $role = KTAPI_Role::getByName('Publisher');
     $this->assertTrue($role->Id == 2);
 }
예제 #2
0
 /**
  * Get a list of available roles
  *
  * @author KnowledgeTree Team
  * @access public
  * @param string $filter The beginning letter(s) of the role being searched for
  * @return array Response.
  */
 public function get_roles($filter = null)
 {
     $response['status_code'] = 1;
     // check the filter
     if (!empty($filter)) {
         if (!is_string($filter)) {
             $response['message'] = _kt('Filter should be a string.');
             return $response;
         }
         // escape filter string - prevent sql injection
         $filter = addslashes($filter);
         $filter = "name like '{$filter}%'";
     }
     $listing = KTAPI_Role::getList($filter);
     if (PEAR::isError($listing)) {
         $response['message'] = $listing->getMessage();
         return $response;
     }
     // flatten role objects
     $roles = array();
     foreach ($listing as $ktapi_roll) {
         $roles[] = array('id' => $ktapi_roll->getId(), 'name' => $ktapi_roll->getName());
     }
     $response['status_code'] = 0;
     $response['results'] = $roles;
     return $response;
 }