/**
     * @NoAdminRequired
     */
    public function getAddressBooks()
    {
        $active_addressbooks = array();
        $active_addressbooks = Addressbook::all($this->userId);
        if (count($active_addressbooks) === 0) {
            Addressbook::addDefault($this->userId);
            $active_addressbooks = Addressbook::all($this->userId);
        }
        $countCardsAddressbooks = Addressbook::getCountCardsAddressbook($this->userId);
        $contacts_addressbook = array();
        $ids = array();
        foreach ($active_addressbooks as $addressbook) {
            $ids[] = $addressbook['id'];
        }
        $idActiveAddressbook = $ids[0];
        $mySharees = ContactsApp::getAddressbookSharees();
        $bShareApi = \OC::$server->getAppConfig()->getValue('core', 'shareapi_enabled', 'yes');
        $output = '';
        foreach ($active_addressbooks as $addressbookInfo) {
            $activeClass = '';
            $checked = '';
            $rightsOutput = '';
            $share = (string) $this->l10n->t('Share Addressbook');
            $bShared = false;
            if ($addressbookInfo['active']) {
                $checked = 'checked="checked"';
            }
            if ($idActiveAddressbook === $addressbookInfo['id']) {
                $activeClass = 'isActiveABook';
            }
            $sync = '';
            //Ios syncs only one Addressbook
            if ($this->configInfo->getUserValue($this->userId, $this->appName, 'syncaddrbook') === $addressbookInfo['uri']) {
                $sync = ' <i class="ioc ioc-info toolTip" title="' . $this->l10n->t('Is active sync Book on Mac/ IOS') . '"></i> ';
            }
            if (is_array($mySharees) && array_key_exists($addressbookInfo['id'], $mySharees) && $mySharees[$addressbookInfo['id']]['myShare']) {
                $share = '<b>' . (string) $this->l10n->t('Shared with') . '</b><br>' . $mySharees[$addressbookInfo['id']]['shareTypeDescr'];
                $bShared = true;
            }
            $displayName = '<span  class="groupname">' . $addressbookInfo['displayname'] . $sync . '</span>';
            if ($addressbookInfo['userid'] !== $this->userId) {
                $rightsOutput = ContactsApp::permissionReader($addressbookInfo['permissions']);
                $displayName = '<span class="toolTip groupname" title="' . $notice . '(' . $rightsOutput . ')">' . $addressbookInfo['displayname'] . ' (' . (string) $this->l10n->t('by') . ' ' . $addressbookInfo['userid'] . ')</span>';
            }
            $checkBox = '<input class="regular-checkbox isActiveAddressbook" data-id="' . $addressbookInfo['id'] . '" style="float:left;" id="edit_active_' . $addressbookInfo['id'] . '" type="checkbox" ' . $checked . ' /><label style="float:left;margin-top:4px;margin-right:5px;" for="edit_active_' . $addressbookInfo['id'] . '"></label>';
            $shareLink = '';
            if ($addressbookInfo['permissions'] & \OCP\PERMISSION_SHARE && $bShareApi === 'yes') {
                $addCss = '';
                if ($bShared === true) {
                    $addCss = 'opacity:1';
                }
                $shareLink = '<a href="#" class="share icon-share toolTip" 
			  	data-item-type="' . ContactsApp::SHAREADDRESSBOOK . '" 
			    data-item="' . ContactsApp::SHAREADDRESSBOOKPREFIX . $addressbookInfo['id'] . '" 
			    data-link="false"
			    data-title="' . $addressbookInfo['displayname'] . '"
				data-possible-permissions="' . $addressbookInfo['permissions'] . '"
				title="' . $share . '"
				style="position:absolute;float:right;right:22px;margin-top:-6px;display:block;height:30px;width:30px;' . $addCss . '"
				>
				</a>';
            }
            $output .= '<li class="dropcontainerAddressBook ' . $activeClass . '" data-adrbid="' . $addressbookInfo['id'] . '"  data-perm="' . $addressbookInfo['permissions'] . '">' . $checkBox . $displayName . $shareLink . '<span class="groupcounter">' . $countCardsAddressbooks[$addressbookInfo['id']] . '</span></li>';
        }
        return $output;
    }
예제 #2
0
    /**
     * @NoAdminRequired
     */
    public function getAddressBooks()
    {
        $active_addressbooks = array();
        $active_addressbooks = Addressbook::all($this->userId, false);
        if (count($active_addressbooks) === 0) {
            Addressbook::addDefault($this->userId);
            $active_addressbooks = Addressbook::all($this->userId, false);
        }
        $countCardsAddressbooks = Addressbook::getCountCardsAddressbook($this->userId);
        $contacts_addressbook = array();
        $ids = array();
        foreach ($active_addressbooks as $addressbook) {
            $ids[] = $addressbook['id'];
        }
        $idActiveAddressbook = $ids[0];
        $mySharees = ContactsApp::getAddressbookSharees();
        $bShareApi = \OC::$server->getAppConfig()->getValue('core', 'shareapi_enabled', 'yes');
        $output = '';
        foreach ($active_addressbooks as $addressbookInfo) {
            $activeClass = '';
            $checked = '';
            $rightsOutput = '';
            $share = (string) $this->l10n->t('Share Addressbook');
            $bShared = false;
            /*
            			if($addressbookInfo['active']){
            				 $checked = 'checked="checked"';
            			}*/
            if ($idActiveAddressbook === $addressbookInfo['id']) {
                $activeClass = 'isActiveABook';
            }
            $sync = '';
            //Ios syncs only one Addressbook
            if ($this->configInfo->getUserValue($this->userId, $this->appName, 'syncaddrbook') === $addressbookInfo['uri']) {
                $sync = ' <i class="ioc ioc-info toolTip" title="' . $this->l10n->t('Is active sync Book on Mac/ IOS') . '"></i> ';
            }
            if (is_array($mySharees) && array_key_exists($addressbookInfo['id'], $mySharees) && $mySharees[$addressbookInfo['id']]['myShare']) {
                $share = '<b>' . (string) $this->l10n->t('Shared with') . '</b><br>' . $mySharees[$addressbookInfo['id']]['shareTypeDescr'];
                $bShared = true;
            }
            $inActive = $addressbookInfo['active'] == 1 ? 'groupname' : 'groupinactive';
            $displayName = '<span  class="' . $inActive . '">' . $addressbookInfo['displayname'] . $sync . '</span>';
            if ($addressbookInfo['userid'] !== $this->userId) {
                $rightsOutput = ContactsApp::permissionReader($addressbookInfo['permissions']);
                $displayName = '<span class="toolTip groupname" title="' . $notice . '(' . $rightsOutput . ')">' . $addressbookInfo['displayname'] . ' (' . (string) $this->l10n->t('by') . ' ' . $addressbookInfo['userid'] . ')</span>';
            }
            //$checkBox='<input class="regular-checkbox isActiveAddressbook" data-id="'.$addressbookInfo['id'].'" style="float:left;" id="edit_active_'.$addressbookInfo['id'].'" type="checkbox" '.$checked.' /><label style="float:left;margin-top:4px;margin-right:5px;" for="edit_active_'.$addressbookInfo['id'].'"></label>';
            $shareLink = '';
            if ($addressbookInfo['permissions'] & \OCP\PERMISSION_SHARE && $bShareApi === 'yes') {
                $addCss = '';
                if ($bShared === true) {
                    $addCss = 'opacity:1';
                }
                $shareLink = '<a href="#" class="share icon-share toolTip" 
			  	data-item-type="' . ContactsApp::SHAREADDRESSBOOK . '" 
			    data-item="' . ContactsApp::SHAREADDRESSBOOKPREFIX . $addressbookInfo['id'] . '" 
			    data-link="false"
			    data-title="' . $addressbookInfo['displayname'] . '"
				data-possible-permissions="' . $addressbookInfo['permissions'] . '"
				title="' . $share . '"
				style="position:absolute;float:right;right:42px;margin-top:-6px;display:block;height:30px;width:30px;' . $addCss . '"
				>
				</a>';
            }
            $addrbookuri = $addressbookInfo['uri'];
            if ($addressbookInfo['userid'] !== $this->userId) {
                $addrbookuri = $addressbookInfo['uri'] . '_shared_by_' . $addressbookInfo['userid'];
            }
            $actionAddr = '';
            $checkBox = '';
            if ($addressbookInfo['userid'] === $this->userId) {
                $actionAddr = '<li class="ioc ioc-edit"></li><li class="ioc ioc-delete"></li>';
                $checked = $addressbookInfo['active'] == 1 ? ' checked="checked"' : '';
                $checkBox = '<input class="regular-checkbox isActiveAddressbook" data-id="' . $addressbookInfo['id'] . '" style="float:left;" id="active_aid_' . $addressbookInfo['id'] . '" type="checkbox" ' . $checked . ' /><label style="float:left;margin-left:8px;top:5px;" for="active_aid_' . $addressbookInfo['id'] . '"></label>';
            }
            $urlDl = \OC::$server->getURLGenerator()->linkToRoute($this->appName . '.export.exportContacts') . '?bookid=' . $addressbookInfo['id'];
            $downloadLink = '<a class="icon-download" style="margin-top:-6px;" href="' . $urlDl . '" title="' . $this->l10n->t('Download') . '"></a>';
            $addMenu = '<span style="position:absolute;float:right;right:20px;" class="app-navigation-entry-utils-menu-button"><button></button>
						  <span class="app-navigation-entry-menu" data-adrbid="' . $addressbookInfo['id'] . '">
							  <ul>
							  <li>' . $checkBox . '</li>
							  <li><i class="ioc ioc-globe"></i></li>
							  <li>' . $downloadLink . '</li>
							  ' . $actionAddr . '
							  </ul>
						  </span>
					  </span>';
            $output .= '<li class="dropcontainerAddressBook ' . $activeClass . '" data-adrbid="' . $addressbookInfo['id'] . '"  data-perm="' . $addressbookInfo['permissions'] . '" data-url="' . $addrbookuri . '" data-name="' . $addressbookInfo['displayname'] . '">' . $displayName . $shareLink . $addMenu . '<span class="groupcounter">' . $countCardsAddressbooks[$addressbookInfo['id']] . '</span></li>';
        }
        $output .= '<li class="app-navigation-entry-edit addrclone" id="addr-clone" data-addr="">
				<input type="text" name="adrbookname" id="adrbookname" value="" placeholder="' . $this->l10n->t('Displayname') . '" />
				<input type="text" name="carddavuri" readonly="readonly" value="" />
				<button class="icon-checkmark"></button>
			</li>	';
        return $output;
    }