<item modified_time="1130769960" url="dialplan/edit.php" uploadstatus="1" />
<item url="lib/" uploadstatus="1" />
<item url="lib/Driver/" uploadstatus="1" />
- <item modified_time="1130792001" url="lib/Driver/ldap.php" uploadstatus="1" />
+ <item modified_time="1130864652" url="lib/Driver/ldap.php" uploadstatus="1" />
<item modified_time="1130769961" url="lib/base.php" uploadstatus="1" />
<item modified_time="1121689003" url="lib/Dialplan.php" uploadstatus="1" />
<item modified_time="1130769960" url="lib/Driver.php" uploadstatus="1" />
<item modified_time="1121581536" url="templates/users/userlist.inc" uploadstatus="1" />
<item modified_time="1120174958" url="templates/common-header.inc" uploadstatus="1" />
<item modified_time="1120073766" url="templates/content_page" uploadstatus="1" />
- <item modified_time="1121689003" url="templates/menu.inc" uploadstatus="1" />
+ <item modified_time="1130864369" url="templates/menu.inc" uploadstatus="1" />
<item modified_time="1121578596" url="templates/table-limiter-begin.inc" uploadstatus="1" />
<item modified_time="1121578596" url="templates/table-limiter-end.inc" uploadstatus="1" />
<item url="themes/" uploadstatus="1" />
<item url="themes/graphics/" uploadstatus="1" />
<item modified_time="1121581526" url="themes/graphics/add-extension.gif" uploadstatus="1" />
- <item modified_time="1121300828" url="themes/graphics/add-user.gif" uploadstatus="1" />
+ <item modified_time="1130861777" url="themes/graphics/add-user.gif" uploadstatus="1" />
<item modified_time="1121578596" url="themes/screen.css" uploadstatus="1" />
<item url="users/" uploadstatus="1" />
<item modified_time="1122704539" url="users/add.php" uploadstatus="1" />
<uploadeditem upload_time="1121689003" url="lib/Dialplan.php" />
<uploadeditem upload_time="1130769960" url="lib/Driver.php" />
<uploadeditem upload_time="0" url="lib/Driver/" />
- <uploadeditem upload_time="1130792001" url="lib/Driver/ldap.php" />
+ <uploadeditem upload_time="1130864652" url="lib/Driver/ldap.php" />
<uploadeditem upload_time="1130769961" url="lib/Shout.php" />
<uploadeditem upload_time="1121689003" url="lib/System.php" />
<uploadeditem upload_time="1130769961" url="lib/User.php" />
- <uploadeditem upload_time="1130762122" url="lib/api.php" />
+ <uploadeditem upload_time="1130862539" url="lib/api.php" />
<uploadeditem upload_time="1130769961" url="lib/base.php" />
- <uploadeditem upload_time="1130762122" url="lib/defines.php" />
+ <uploadeditem upload_time="1130864200" url="lib/defines.php" />
<uploadeditem upload_time="0" url="main/" />
<uploadeditem upload_time="1121689003" url="main/dialplan.php" />
<uploadeditem upload_time="1121401845" url="main/moh.php" />
<uploadeditem upload_time="1121689030" url="templates/dialplan/priority-form-begin.inc" />
<uploadeditem upload_time="1121689030" url="templates/dialplan/priority-form-end.inc" />
<uploadeditem upload_time="1121689030" url="templates/dialplan/priority-form-line.inc" />
- <uploadeditem upload_time="1121689003" url="templates/menu.inc" />
+ <uploadeditem upload_time="1130864369" url="templates/menu.inc" />
<uploadeditem upload_time="1121578596" url="templates/table-limiter-begin.inc" />
<uploadeditem upload_time="1121578596" url="templates/table-limiter-end.inc" />
<uploadeditem upload_time="0" url="templates/users/" />
<uploadeditem upload_time="0" url="themes/" />
<uploadeditem upload_time="0" url="themes/graphics/" />
<uploadeditem upload_time="1121581526" url="themes/graphics/add-extension.gif" />
- <uploadeditem upload_time="1121300828" url="themes/graphics/add-user.gif" />
+ <uploadeditem upload_time="1130861777" url="themes/graphics/add-user.gif" />
<uploadeditem upload_time="1121578596" url="themes/screen.css" />
<uploadeditem upload_time="1122704475" url="users.php" />
<uploadeditem upload_time="0" url="users/" />
</uploadprofiles>
<templates>templates/</templates>
<toolbars>toolbars/</toolbars>
- <item modified_time="1130762122" url="lib/api.php" uploadstatus="1" />
+ <item modified_time="1130862539" url="lib/api.php" uploadstatus="1" />
<author>Ben Klang</author>
<email>ben@alkaloid.net</email>
<debuggerclient>No Debugger</debuggerclient>
<mailinglist address="" />
</teamdata>
<events/>
- <item modified_time="1130762122" url="lib/defines.php" uploadstatus="1" />
+ <item modified_time="1130864200" url="lib/defines.php" uploadstatus="1" />
<treestatus>
<openfolder url="config" />
<openfolder url="dialplan" />
<openfolder url="lib" />
<openfolder url="lib/Driver" />
<openfolder url="main" />
+ <openfolder url="templates" />
<openfolder url="users" />
</treestatus>
</project>
if ($searchfilters == SHOUT_CONTEXT_ALL) {
$searchfilter="(objectClass=asteriskObject)";
} else {
- $searchfilter = "(|";
+ $searchfilter = "(&";
# FIXME Change this to non-V-Office specific objectClass
if ($searchfilters & SHOUT_CONTEXT_CUSTOMERS) {
+ # FIXME what does this objectClass really do for us?
$searchfilter.="(objectClass=vofficeCustomer)";
- } else {
- $searchfilter.="(!(objectClass=vofficeCustomer))";
}
-
if ($searchfilters & SHOUT_CONTEXT_EXTENSIONS) {
$searchfilter.="(objectClass=asteriskExtensions)";
- } else {
- $searchfilter.="(!(objectClass=asteriskExtensions))";
}
-
if ($searchfilters & SHOUT_CONTEXT_MOH) {
$searchfilter.="(objectClass=asteriskMusicOnHold)";
- } else {
- $searchfilter.="(!(objectClass=asteriskMusicOnHold))";
}
-
if ($searchfilters & SHOUT_CONTEXT_CONFERENCE) {
$searchfilter.="(objectClass=asteriskMeetMe)";
- } else {
- $searchfilter.="(!(objectClass=asteriskMeetMe))";
}
$searchfilter .= ")";
}
+ $attributes = array(SHOUT_ACCOUNT_ID_ATTRIBUTE, 'objectClass', 'context');
+
# Collect all the possible contexts from the backend
$res = @ldap_search($this->_LDAP,
SHOUT_ASTERISK_BRANCH.','.$this->_params['basedn'],
$entries[$searchfilters] = array();
while ($i < $res['count']) {
$context = $res[$i]['context'][0];
- @$domain = $res[$i]['associateddomain'][0];
+ $type = SHOUT_CONTEXT_NONE;
+ foreach ($res[$i][strtolower('objectClass')] as $objectClass) {
+ switch ($objectClass) {
+ case SHOUT_CONTEXT_CUSTOMERS_OBJECTCLASS:
+ # FIXME What does this objectClass really get us?
+ $type = $type | SHOUT_CONTEXT_CUSTOMERS;
+ break;
+ case SHOUT_CONTEXT_EXTENSIONS_OBJECTCLASS:
+ $type = $type | SHOUT_CONTEXT_EXTENSIONS;
+ break;
+ case SHOUT_CONTEXT_MOH_OBJECTCLASS:
+ $type = $type | SHOUT_CONTEXT_MOH;
+ break;
+ case SHOUT_CONTEXT_CONFERENCE_OBJECTCLASS:
+ $type = $type | SHOUT_CONTEXT_CONFERENCE;
+ break;
+ case SHOUT_CONTEXT_VOICEMAIL_OBJECTCLASS:
+ $type = $type | SHOUT_CONTEXT_VOICEMAIL;
+ break;
+ }
+ }
if (Shout::checkRights("shout:contexts:$context", $filterperms)) {
$entries[$searchfilters][$context] =
- array('domain' => $domain);
+ array(
+ 'custid' => SHOUT_ACCOUNT_ID_ATTRIBUTE,
+ 'type' => $type,
+ );
}
$i++;
}
foreach ($res[0]['objectclass'] as $objectClass) {
switch ($objectClass) {
case "vofficeCustomer":
+ # FIXME What does this objectClass really do for us?
$properties = $properties | SHOUT_CONTEXT_CUSTOMERS;
break;
'type' => '{urn:horde}stringArray'
);
-$_services['getUsersByDomain'] = array(
- 'args' => array('domain' => 'string', 'timestamp' => 'int'),
- 'type' => '{urn:horde}stringArray',
-);
-
function _shout_perms()
{
static $perms = array();
@define(SHOUT_USERS_BRANCH, "ou=Customers");
@define(SHOUT_USER_OBJECTCLASS, "asteriskUser");
-@define(SHOUT_CONTEXT_ALL, 0xF);
-@define(SHOUT_CONTEXT_NONE, 0);
-@define(SHOUT_CONTEXT_CUSTOMERS, 1 << 0);
-@define(SHOUT_CONTEXT_EXTENSIONS, 1 << 1);
-@define(SHOUT_CONTEXT_MOH, 1 << 2);
-@define(SHOUT_CONTEXT_CONFERENCE, 1 << 3);
\ No newline at end of file
+@define('SHOUT_CONTEXT_ALL', 0xFFF);
+@define('SHOUT_CONTEXT_NONE', 0);
+@define('SHOUT_CONTEXT_CUSTOMERS', 1 << 0);
+@define('SHOUT_CONTEXT_EXTENSIONS', 1 << 1);
+@define('SHOUT_CONTEXT_MOH', 1 << 2);
+@define('SHOUT_CONTEXT_CONFERENCE', 1 << 3);
+@define('SHOUT_CONTEXT_VOICEMAIL', 1 << 4);
+
+# FIXME Maybe these should be params instead?
+@define('SHOUT_CONTEXT_CUSTOMERS_OBJECTCLASS', 'vofficeCustomer');
+@define('SHOUT_CONTEXT_EXTENSIONS_OBJECTCLASS', 'asteriskExtensions');
+@define('SHOUT_CONTEXT_MOH_OBJECTCLASS', 'asteriskMusiconHold');
+@define('SHOUT_CONTEXT_CONFERENCE_OBJECTCLASS', 'asteriskMeetMe');
+@define('SHOUT_CONTEXT_VOICEMAIL_OBJECTCLASS', 'asteriskVoicemail');
+
+# FIXME Maybe these should be params instead?
+@define('SHOUT_ACCOUNT_ID_ATTRIBUTE', 'vofficeCustomerNumber');
\ No newline at end of file
<select id="context" name="context" onchange="contextSubmit()">
<?php
$contexts = &$shout->getContexts();
- foreach ($contexts as $item) {
- print "<option name=\"$item\"";
- if ($item == $context) {
+ foreach ($contexts as $c => $cdata) {
+ print "<option name=\"$c\"";
+ if ($c == $context) {
print " selected";
}
- print ">$item</option>\n";
+ print ">$c</option>\n";
}
?>
</select>