fusionpbx/resources/templates/provision/grandstream/gxv3240/phonebook.xml

200 lines
5.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<AddressBook>
{$contact_types = []}
{$id = 2}
{foreach $contacts as $contact}
{if isset($contact['contact_type'])}
{$contact_type = ucfirst($contact['contact_type'])}
{if !isset($contact_types[$contact_type])}
{$contact_types[$contact_type] = $id++}
{/if}
{/if}
{/foreach}
<pbgroup>
<id>1</id>
<name>Extensions</name>
<ringtones>system</ringtones>
</pbgroup>
{foreach $contact_types as $type => $id }
<pbgroup>
<id>{$id}</id>
<name>{$type}</name>
<ringtones>default ringtone</ringtones>
</pbgroup>
{/foreach}
{$grouped = []}
{foreach $contacts as $item}
{$uuid = $item['contact_uuid']}
{if (!isset($grouped[$uuid]))}
{$grouped[$uuid] = $item}
{else}
{$grouped[$uuid]['numbers'] = array_merge($grouped[$uuid]['numbers'], $item['numbers'])}
{/if}
{/foreach}
{$grouped = array_values($grouped)}
{$start_id=0}
{foreach $grouped as $row}
{if $row.category == "users"}
<Contact>
<id>{$start_id++}</id>
{if $row.contact_name_given != ""}
{if $row.contact_organization != ""}
<FirstName>{$row.contact_name_given}</FirstName>
<LastName>{$row.contact_name_family}</LastName>
<Company>{$row.contact_organization}</Company>
{else}
<FirstName>{$row.contact_name_given}</FirstName>
<LastName>{$row.contact_name_family}</LastName>
{/if}
{elseif $row.contact_name_family != ""}
<LastName>{$row.contact_name_family}</LastName>
{elseif $row.contact_organization != ""}
<FirstName>{$row.contact_organization}</FirstName>
{else}
<FirstName>{$row.effective_caller_id_name}</FirstName>
{/if}
<JobTitle></JobTitle>
<Frequent>0</Frequent>
{$i=0}
{foreach $row.numbers as $number}
{if $number.phone_primary == 1}
<Primary>{$i}</Primary>
{/if}
<!--{$i++}-->
{if $number.phone_number != ""}
{if $number.phone_label == "work"}
<Phone type="Work">
<phonenumber>{$number.phone_number}</phonenumber>
<accountindex>0</accountindex>
</Phone>
{elseif $number.phone_label == "home"}
<Phone type="Home">
<phonenumber>{$number.phone_number}</phonenumber>
<accountindex>0</accountindex>
</Phone>
{elseif $number.phone_label == "mobile"}
<Phone type="Cell">
<phonenumber>{$number.phone_number}</phonenumber>
<accountindex>0</accountindex>
</Phone>
{else}
<Phone type="Other">
<phonenumber>{$number.phone_number}</phonenumber>
<accountindex>0</accountindex>
</Phone>
{/if}
{/if}
{/foreach}
<Group>0</Group>
<Department></Department>
<Job></Job>
<Company></Company>
</Contact>
{elseif $row.category == "groups"}
<Contact>
<id>{$start_id++}</id>
{if $row.contact_name_given != ""}
{if $row.contact_organization != ""}
<FirstName>{$row.contact_name_given}</FirstName>
<LastName>{$row.contact_name_family}</LastName>
<Company>{$row.contact_organization}</Company>
{else}
<FirstName>{$row.contact_name_given}</FirstName>
<LastName>{$row.contact_name_family}</LastName>
{/if}
{elseif $row.contact_name_family != ""}
<LastName>{$row.contact_name_family}</LastName>
{elseif $row.contact_organization != ""}
<FirstName>{$row.contact_organization}</FirstName>
{else}
<FirstName>{$row.effective_caller_id_name}</FirstName>
{/if}
<JobTitle></JobTitle>
<Frequent>0</Frequent>
{$i=0}
{foreach $row.numbers as $number}
{if $number.phone_primary == 1}
<Primary>{$i}</Primary>
<!--{$i++}-->
{/if}
{if $number.phone_number != ""}
{if $number.phone_label == "work"}
<Phone type="Work">
<phonenumber>{$number.phone_number}</phonenumber>
<accountindex>0</accountindex>
</Phone>
{elseif $number.phone_label == "home"}
<Phone type="Home">
<phonenumber>{$number.phone_number}</phonenumber>
<accountindex>0</accountindex>
</Phone>
{elseif $number.phone_label == "mobile"}
<Phone type="Cell">
<phonenumber>{$number.phone_number}</phonenumber>
<accountindex>0</accountindex>
</Phone>
{else}
<Phone type="Other">
<phonenumber>{$number.phone_number}</phonenumber>
<accountindex>0</accountindex>
</Phone>
{/if}
{/if}
{/foreach}
{if $row.contact_type != ""}
<Group>{$contact_types[ucfirst($row.contact_type)]}</Group>
{/if}
<Department></Department>
<Job></Job>
<Company></Company>
</Contact>
{elseif $row.category == "extensions"}
<Contact>
<id>{$start_id++}</id>
{if $row.contact_name_given != ""}
{if $row.contact_organization != ""}
<FirstName>{$row.contact_name_given} {$row.contact_name_family}</FirstName>
<FirstName>{$row.contact_name_given} {$row.contact_name_family}</FirstName>
<Company>{$row.contact_organization}</Company>
{else}
<FirstName>{$row.contact_name_given}</FirstName>
<LastName>{$row.contact_name_family}</LastName>
{/if}
{else}
<FirstName>{$row.effective_caller_id_name}</FirstName>
{/if}
<JobTitle></JobTitle>
<Frequent>0</Frequent>
{if $row.phone_number != ""}
<Phone type="Work">
<phonenumber>{$row.phone_number}</phonenumber>
<accountindex>0</accountindex>
</Phone>
{else}
<Phone type="Work">
<phonenumber>{$row.phone_extension}</phonenumber>
<accountindex>0</accountindex>
</Phone>
{/if}
<Group>1</Group>
<Primary>0</Primary>
<Department></Department>
<Job></Job>
<Company></Company>
</Contact>
{/if}
{/foreach}
</AddressBook>