A huge rework of your app is here.
As of now support only 4.2 (but I'll port it to 4.4 soon). What is done - full rework of working with groups and as of now - disabled import (cause of full database redesign and I don't need this yet). Added also support of Snom. Actually adding of a new vendors is quite straightforward.
Plus, added security, auth done is through API keys (how to add it, could be found
here). But old style could be done via setting [Phonebook] - [auth] - [text] to [false] in Default Settings.
Only thing I don't like - how Group Selector looks like, and as I'm really far from HTML/CSS.... so if someone could help me on this - I'd be grateful.
Code, that responsible to this is
PHP:
foreach ($phonebook_groups_all as $phonebook_group) {
$checked = in_array($phonebook_group['group_uuid'], $phonebook_groups) ? "checked" : "";
echo "<tr id='permission_".$phonebook_group['group_uuid']."'>\n";
echo " <td valign='top' style='text-align: right;' nowrap='nowrap' class='".$row_style[$c]."' onclick=\"(document.getElementById('group_".$phonebook_group['group_uuid']."').checked) ? document.getElementById('group_".$phonebook_group['group_uuid']."').checked = false : document.getElementById('group_".$phonebook_group['group_uuid']."').checked = true;\">".$phonebook_group['group_name']."</td>\n";
echo " <td valign='top' class='row_stylebg' onclick=\"(document.getElementById('group_".$phonebook_group['group_uuid']."').checked) ? document.getElementById('group_".$phonebook_group['group_uuid']."').checked = false : document.getElementById('group_".$phonebook_group['group_uuid']."').checked = true;\">".$phonebook_group['group_desc']." </td>\n";
echo " <td valign='top' class='".$row_style[$c]."' style='text-align: center; padding: 3px 0px 0px 0px;'><input type='checkbox' name='phonebook_groups[]' id='group_".$phonebook_group['group_uuid']."' ".$checked." value='".$phonebook_group['group_uuid']."'></td>\n";
echo "</tr>\n";
$c = ($c == 0) ? 1 : 0;
}
All work is done currently
here on GitHub