コード例 #1
0
ファイル: BxDolTextModule.php プロジェクト: Arvindvi/dolphin
 function getBlockAction($sUri)
 {
     $aEntry = $this->_oDb->getEntries(array('sample_type' => 'uri', 'uri' => $sUri));
     $sModuleUri = $this->_oConfig->getUri();
     $sModuleBaseUri = $this->_oConfig->getBaseUri();
     if ($aEntry['status'] != BX_TD_STATUS_ACTIVE) {
         return MsgBox(_t('_' . $sModuleUri . '_msg_no_results'));
     }
     $sModuleUri = $this->_oConfig->getUri();
     $oSubscription = new BxDolSubscription();
     $aButton = $oSubscription->getButton($this->getUserId(), $this->_oConfig->getSubscriptionsSystemName(), '', $aEntry['id']);
     $aReplacement['sbs_' . $sModuleUri . '_title'] = $aButton['title'];
     $aReplacement['sbs_' . $sModuleUri . '_script'] = $aButton['script'];
     $aReplacement['del_' . $sModuleUri . '_title'] = '';
     if ($this->_isDeleteAllowed()) {
         $this->_oTemplate->addJsTranslation(array('_' . $sModuleUri . '_msg_success_delete', '_' . $sModuleUri . '_msg_failed_delete'));
         $aReplacement['del_' . $sModuleUri . '_title'] = _t('_' . $sModuleUri . '_actions_delete');
         $aReplacement['del_' . $sModuleUri . '_script'] = $this->_oConfig->getJsObject() . '.deleteEntry(' . $aEntry['id'] . ')';
     }
     $aReplacement['share_' . $sModuleUri . '_title'] = '';
     if ($this->_isShareAllowed($aEntry)) {
         $aReplacement['share_' . $sModuleUri . '_title'] = _t('_Share');
         $aReplacement['share_' . $sModuleUri . '_script'] = "showPopupAnyHtml('" . $sModuleBaseUri . "share_popup/" . $aEntry['id'] . "')";
     }
     return $oSubscription->getData() . $GLOBALS['oFunctions']->genObjectsActions($aReplacement, $this->_oConfig->getActionsViewSystemName());
 }
コード例 #2
0
 /**
  * News Letters block
  */
 function getBlockCode_Subscribe()
 {
     global $site;
     $iUserId = isLogged() ? getLoggedId() : 0;
     $oSubscription = new BxDolSubscription();
     $aButton = $oSubscription->getButton($iUserId, 'system', '');
     $sContent = $oSubscription->getData() . $GLOBALS['oSysTemplate']->parseHtmlByName('home_page_subscribe.html', array('message' => _t('_SUBSCRIBE_TEXT', $site['title']), 'button_title' => $aButton['title'], 'button_script' => $aButton['script']));
     return array($sContent, array(), array(), false);
 }
コード例 #3
0
 function getBlockCode_ActionList()
 {
     $sCode = null;
     bx_import('BxDolSubscription');
     $oSubscription = new BxDolSubscription();
     $aButton = $oSubscription->getButton($this->iProfileId, $this->oConfig->getMainPrefix(), '', (int) $this->aFileInfo['medID']);
     $aReplacement = array('favorited' => $this->aFileInfo['favorited'] == false ? '' : 'favorited', 'moduleUrl' => BX_DOL_URL_ROOT . $this->oConfig->getBaseUri(), 'fileUri' => $this->aFileInfo['medUri'], 'iViewer' => $this->iProfileId, 'ID' => (int) $this->aFileInfo['medID'], 'Owner' => (int) $this->aFileInfo['medProfId'], 'OwnerName' => $this->aFileInfo['NickName'], 'AlbumUri' => $this->aFileInfo['albumUri'], 'sbs_' . $this->oConfig->getMainPrefix() . '_title' => $aButton['title'], 'sbs_' . $this->oConfig->getMainPrefix() . '_script' => $aButton['script']);
     $sActionsList = $GLOBALS['oFunctions']->genObjectsActions($aReplacement, $this->oConfig->getMainPrefix());
     if (!is_null($sActionsList)) {
         $sCode = $oSubscription->getData() . $sActionsList;
     }
     return $sCode;
 }
コード例 #4
0
ファイル: BxStorePageView.php プロジェクト: Arvindvi/dolphin
 function getBlockCode_Actions()
 {
     global $oFunctions;
     if ($this->_oMain->_iProfileId || $this->_oMain->isAdmin()) {
         $oSubscription = new BxDolSubscription();
         $aSubscribeButton = $oSubscription->getButton($this->_oMain->_iProfileId, 'bx_store', '', (int) $this->aDataEntry['id']);
         $aInfo = array('BaseUri' => $this->_oMain->_oConfig->getBaseUri(), 'iViewer' => $this->_oMain->_iProfileId, 'ownerID' => (int) $this->aDataEntry['author_id'], 'ID' => (int) $this->aDataEntry['id'], 'URI' => (int) $this->aDataEntry['uri'], 'ScriptSubscribe' => $aSubscribeButton['script'], 'TitleSubscribe' => $aSubscribeButton['title'], 'TitleEdit' => $this->_oMain->isAllowedEdit($this->aDataEntry) ? _t('_bx_store_action_title_edit') : '', 'TitleDelete' => $this->_oMain->isAllowedDelete($this->aDataEntry) ? _t('_bx_store_action_title_delete') : '', 'TitleShare' => $this->_oMain->isAllowedShareProduct($this->aDataEntry) ? _t('_bx_store_action_title_share') : '', 'TitleBroadcast' => $this->_oMain->isAllowedBroadcast($this->aDataEntry) ? _t('_bx_store_action_title_broadcast') : '', 'AddToFeatured' => $this->_oMain->isAllowedMarkAsFeatured($this->aDataEntry) ? $this->aDataEntry['featured'] ? _t('_bx_store_action_remove_from_featured') : _t('_bx_store_action_add_to_featured') : '');
         if (!$aInfo['TitleEdit'] && !$aInfo['TitleDelete'] && !$aInfo['TitleShare'] && !$aInfo['AddToFeatured'] && !$aInfo['TitleBroadcast'] && !$aInfo['TitleSubscribe']) {
             return '';
         }
         return $oSubscription->getData() . $oFunctions->genObjectsActions($aInfo, 'bx_store');
     }
     return '';
 }
コード例 #5
0
ファイル: BxGroupsPageView.php プロジェクト: noormcs/studoro
 function getBlockCode_Actions()
 {
     global $oFunctions;
     if ($this->_oMain->_iProfileId || $this->_oMain->isAdmin()) {
         $oSubscription = new BxDolSubscription();
         $aSubscribeButton = $oSubscription->getButton($this->_oMain->_iProfileId, 'bx_groups', '', (int) $this->aDataEntry['id']);
         $isFan = $this->_oDb->isFan((int) $this->aDataEntry['id'], $this->_oMain->_iProfileId, 0) || $this->_oDb->isFan((int) $this->aDataEntry['id'], $this->_oMain->_iProfileId, 1);
         $aInfo = array('BaseUri' => $this->_oMain->_oConfig->getBaseUri(), 'iViewer' => $this->_oMain->_iProfileId, 'ownerID' => (int) $this->aDataEntry['author_id'], 'ID' => (int) $this->aDataEntry['id'], 'URI' => $this->aDataEntry['uri'], 'ScriptSubscribe' => $aSubscribeButton['script'], 'TitleSubscribe' => $aSubscribeButton['title'], 'TitleEdit' => $this->_oMain->isAllowedEdit($this->aDataEntry) ? _t('_bx_groups_action_title_edit') : '', 'TitleDelete' => $this->_oMain->isAllowedDelete($this->aDataEntry) ? _t('_bx_groups_action_title_delete') : '', 'TitleJoin' => $this->_oMain->isAllowedJoin($this->aDataEntry) ? $isFan ? _t('_bx_groups_action_title_leave') : _t('_bx_groups_action_title_join') : '', 'IconJoin' => $isFan ? 'signout' : 'signin', 'TitleInvite' => $this->_oMain->isAllowedSendInvitation($this->aDataEntry) ? _t('_bx_groups_action_title_invite') : '', 'TitleShare' => $this->_oMain->isAllowedShare($this->aDataEntry) ? _t('_bx_groups_action_title_share') : '', 'TitleBroadcast' => $this->_oMain->isAllowedBroadcast($this->aDataEntry) ? _t('_bx_groups_action_title_broadcast') : '', 'AddToFeatured' => $this->_oMain->isAllowedMarkAsFeatured($this->aDataEntry) ? $this->aDataEntry['featured'] ? _t('_bx_groups_action_remove_from_featured') : _t('_bx_groups_action_add_to_featured') : '', 'TitleManageFans' => $this->_oMain->isAllowedManageFans($this->aDataEntry) ? _t('_bx_groups_action_manage_fans') : '', 'TitleUploadPhotos' => $this->_oMain->isAllowedUploadPhotos($this->aDataEntry) ? _t('_bx_groups_action_upload_photos') : '', 'TitleUploadVideos' => $this->_oMain->isAllowedUploadVideos($this->aDataEntry) ? _t('_bx_groups_action_upload_videos') : '', 'TitleUploadSounds' => $this->_oMain->isAllowedUploadSounds($this->aDataEntry) ? _t('_bx_groups_action_upload_sounds') : '', 'TitleUploadFiles' => $this->_oMain->isAllowedUploadFiles($this->aDataEntry) ? _t('_bx_groups_action_upload_files') : '');
         if (!$aInfo['TitleEdit'] && !$aInfo['TitleDelete'] && !$aInfo['TitleJoin'] && !$aInfo['TitleInvite'] && !$aInfo['TitleShare'] && !$aInfo['TitleBroadcast'] && !$aInfo['AddToFeatured'] && !$aInfo['TitleManageFans'] && !$aInfo['TitleUploadPhotos'] && !$aInfo['TitleUploadVideos'] && !$aInfo['TitleUploadSounds'] && !$aInfo['TitleUploadFiles']) {
             return '';
         }
         return $oSubscription->getData() . $oFunctions->genObjectsActions($aInfo, 'bx_groups');
     }
     return '';
 }
コード例 #6
0
ファイル: BxFilesPageView.php プロジェクト: noormcs/studoro
 function getBlockCode_ActionList()
 {
     $sCode = null;
     bx_import('BxDolSubscription');
     $oSubscription = new BxDolSubscription();
     $aButton = $oSubscription->getButton($this->iProfileId, $this->oConfig->getMainPrefix(), '', (int) $this->aFileInfo['medID']);
     $aReplacement = array('featured' => (int) $this->aFileInfo['Featured'], 'featuredCpt' => '', 'moduleUrl' => BX_DOL_URL_ROOT . $this->oConfig->getBaseUri(), 'fileUri' => $this->aFileInfo['medUri'], 'iViewer' => $this->iProfileId, 'favorited' => $this->aFileInfo['favorited'] == false ? '' : 'favorited', 'ID' => (int) $this->aFileInfo['medID'], 'Owner' => (int) $this->aFileInfo['medProfId'], 'OwnerName' => $this->aFileInfo['NickName'], 'AlbumUri' => $this->aFileInfo['albumUri'], 'sbs_' . $this->oConfig->getMainPrefix() . '_title' => $aButton['title'], 'sbs_' . $this->oConfig->getMainPrefix() . '_script' => $aButton['script'], 'shareCpt' => $this->oModule->isAllowedShare($this->aFileInfo) ? _t('_Share') : '', 'downloadCpt' => $this->oModule->isAllowedDownload($this->aFileInfo) ? _t('_Download') : '');
     if (isAdmin($this->iProfileId)) {
         $sMsg = $aReplacement['featured'] > 0 ? 'un' : '';
         $aReplacement['featuredCpt'] = _t('_' . $this->oConfig->getMainPrefix() . '_action_' . $sMsg . 'feature');
     }
     $sActionsList = $GLOBALS['oFunctions']->genObjectsActions($aReplacement, $this->oConfig->getMainPrefix());
     if (!is_null($sActionsList)) {
         $sCode = $oSubscription->getData() . $sActionsList;
     }
     return $sCode;
 }
コード例 #7
0
ファイル: BxSitesPageView.php プロジェクト: Arvindvi/dolphin
    function getBlockCode_ViewActions()
    {
        global $oFunctions;
        if ($this->_oSites->iOwnerId || $this->_oSites->isAdmin()) {
            $aInfo = array('iViewer' => $this->_oSites->iOwnerId, 'ownerID' => (int) $this->_aSite['ownerid'], 'ID' => (int) $this->_aSite['id'], 'TitleEdit' => $this->_oSites->isAllowedEdit($this->_aSite) ? _t('_bx_sites_action_title_edit') : '', 'TitleDelete' => $this->_oSites->isAllowedDelete($this->_aSite) ? _t('_bx_sites_action_title_delete') : '', 'TitleShare' => $this->_oSites->isAllowedShareSite($this->_aSite) ? _t('_bx_sites_action_title_share') : '', 'AddToFeatured' => $this->_oSites->isAllowedMarkAsFeatured($this->_aSite) && (int) $this->_aSite['allowView'] == BX_DOL_PG_ALL ? (int) $this->_aSite['featured'] == 1 ? _t('_bx_sites_action_remove_from_featured') : _t('_bx_sites_action_add_to_featured') : '');
            $oSubscription = new BxDolSubscription();
            $aButton = $oSubscription->getButton($this->_oSites->iOwnerId, 'bx_sites', '', $this->_aSite['id']);
            $aInfo['sbs_sites_title'] = $aButton['title'];
            $aInfo['sbs_sites_script'] = $aButton['script'];
            if (!$aInfo['TitleEdit'] && !$aInfo['TitleDelete'] && !$aInfo['TitleShare'] && !$aInfo['AddToFeatured'] && !$aInfo['sbs_sites_title']) {
                return '';
            }
            $sScript = '';
            if ($aInfo['TitleShare']) {
                $sUrlSharePopup = BX_DOL_URL_ROOT . $this->_oSites->_oConfig->getBaseUri() . "share_popup/" . $this->_aSite['id'];
                $sScript = <<<EOF
                    <script type="text/javascript">
                    function bx_site_show_share_popup ()
                    {
                        if (!\$('#bx_sites_share_popup').length) {
                            \$('<div id="bx_sites_share_popup" style="display: none;"></div>').prependTo('body');
                        }

                        \$('#bx_sites_share_popup').load(
                            '{$sUrlSharePopup}',
                            function() {
                                \$(this).dolPopup({fog: {color: '#fff', opacity: .7}});
                            }
                        );
                    }
                    </script>
EOF;
            }
            return $oSubscription->getData() . $sScript . $oFunctions->genObjectsActions($aInfo, 'bx_sites');
        }
        return '';
    }
コード例 #8
0
ファイル: BxBaseMailBox.php プロジェクト: dalinhuang/shopexts
 /**
  * Function will generate the view message block ;
  *
  * @return   : Html presentation data ;
  */
 function getBlockCode_ViewMessage()
 {
     global $oSysTemplate;
     global $oFunctions;
     global $site;
     global $oTemplConfig;
     // init some needed variables;
     $sOutputHtml = null;
     $sActionsList = null;
     // generate page toggle ellements ;
     $aToggleItems = array('inbox' => _t('_Inbox'), 'outbox' => _t('_Outbox'), 'trash' => _t('_Trash'), 'compose' => _t('_Compose'));
     $sRequest = 'mail.php' . '?';
     foreach ($aToggleItems as $sKey => $sValue) {
         $aTopToggleEllements[$sValue] = array('href' => $sRequest . '&mode=' . $sKey, 'dynamic' => false, 'active' => false);
     }
     // language keys ;
     $aLanguageKeys = array('back_inbox' => _t('_Back') . ' ' . _t('_to') . ' ' . _t('_Inbox'), 'back_outbox' => _t('_Back') . ' ' . _t('_to') . ' ' . _t('_Outbox'), 'back_trash' => _t('_Back') . ' ' . _t('_to') . ' ' . _t('_Trash'), 'spam_message' => _t('_Spam report'), 'delete_message' => _t('_Delete'), 'reply_message' => _t('_Reply'), 'restore_message' => _t('_Restore'), 'are_you_sure' => _t('_Are you sure?'), 'more' => _t('_More actions'), 'mark_read' => _t('_Mark as old'), 'mark_unread' => _t('_Mark as New'));
     $sQuery = "\r\n                SELECT \r\n                    *,\r\n                    DATE_FORMAT(`Date`, '%d.%m.%Y %H:%i') AS `Date`\r\n                FROM \r\n                    `sys_messages` \r\n                WHERE \r\n                    `ID` = {$this->aMailBoxSettings['messageID']} \r\n                AND\r\n                    (\r\n                        `Sender` = {$this->aMailBoxSettings['member_id']}\r\n                            OR\r\n                        `Recipient` = {$this->aMailBoxSettings['member_id']}\r\n                    )\r\n            ";
     $rResult = db_res($sQuery);
     while (true == ($aRow = mysql_fetch_assoc($rResult))) {
         // ** generate member's information ;
         $sMemberIcon = get_member_thumbnail($aRow['Sender'], 'none');
         $aMemberInfo = getProfileInfo($aRow['Sender']);
         // define the back link;
         if ($aRow['Trash'] == 'recipient') {
             $sBackCaption = $aLanguageKeys['back_trash'];
             $sBackUrl = 'mail.php' . '?mode=trash';
         } else {
             if ($aRow['Sender'] == $this->aMailBoxSettings['member_id']) {
                 $sBackCaption = $aLanguageKeys['back_outbox'];
                 $sBackUrl = 'mail.php' . '?mode=outbox';
             } else {
                 $sBackCaption = $aLanguageKeys['back_inbox'];
                 $sBackUrl = 'mail.php' . '?mode=inbox';
             }
         }
         $sMemberNickName = $aMemberInfo['NickName'];
         $sMemberLocation = getProfileLink($aMemberInfo['ID']);
         $sMemberSexImage = isset($aMemberInfo['Sex']) ? $oFunctions->genSexIcon($aMemberInfo['Sex']) : null;
         $sMemberAge = isset($aMemberInfo['DateOfBirth']) && $aMemberInfo['DateOfBirth'] != "0000-00-00" ? _t("_y/o", age($aMemberInfo['DateOfBirth'])) : null;
         $sMemberCountry = isset($aMemberInfo['Country']) && $aMemberInfo['Country'] ? $aMemberInfo['Country'] : null;
         $sMemberFlag = $sMemberCountry ? $site['flags'] . strtolower($sMemberCountry) . $this->sMembersFlagExtension : null;
         if ($sMemberCountry) {
             $sMemberCountryFlag = '<img src="' . $sMemberFlag . '" alt="' . $sMemberCountry . '" />';
         }
         $sCity = isset($aMemberInfo['City']) && $aMemberInfo['City'] ? $aMemberInfo['City'] . ', ' : null;
         // member's city and country;
         $sMemberCountry = $sCity . $sMemberCountry;
         // generate the member's actions list;
         if ($aRow['Sender'] != $this->aMailBoxSettings['member_id']) {
             // prepare all needed keywords ;
             $aMemberInfo['window_width'] = $oTemplConfig->popUpWindowWidth;
             $aMemberInfo['window_height'] = $oTemplConfig->popUpWindowHeight;
             $aMemberInfo['anonym_mode'] = $oTemplConfig->bAnonymousMode;
             $aMemberInfo['member_pass'] = $aMemberInfo['Password'];
             $aMemberInfo['member_id'] = $aMemberInfo['ID'];
             $bDisplayType = getParam('enable_new_dhtml_popups') == 'on' ? 0 : 1;
             $aMemberInfo['display_type'] = $bDisplayType;
             $aMemberInfo['url'] = BX_DOL_URL_ROOT;
             //--- Subscription integration ---//
             $oSubscription = new BxDolSubscription();
             $sAddon = $oSubscription->getData();
             $aButton = $oSubscription->getButton((int) $this->aMailBoxSettings['member_id'], 'profile', '', (int) $aRow['Sender']);
             $aMemberInfo['sbs_profile_title'] = $aButton['title'];
             $aMemberInfo['sbs_profile_script'] = $aButton['script'];
             //--- Subscription integration ---//
             $aMemberInfo['cpt_edit'] = '';
             $aMemberInfo['cpt_send_letter'] = _t('_SendLetter');
             $aMemberInfo['cpt_remove_friend'] = _t('_Remove friend');
             $aMemberInfo['cpt_fave'] = _t('_Fave');
             $aMemberInfo['cpt_befriend'] = _t('_Befriend');
             $aMemberInfo['cpt_greet'] = _t('_Greet');
             $aMemberInfo['cpt_get_mail'] = _t('_Get E-mail');
             $aMemberInfo['cpt_share'] = _t('_Share');
             $aMemberInfo['cpt_report'] = _t('_Report');
             $aMemberInfo['cpt_block'] = _t('_Block');
             $aMemberInfo['cpt_unblock'] = _t('_Unblock');
             $aMemberInfo['member_id'] = $this->aMailBoxSettings['member_id'];
             $sActionsList = $sAddon . $oFunctions->genObjectsActions($aMemberInfo, 'Profile');
         }
         // try to define the message status ;
         if ($aRow['Sender'] == $this->aMailBoxSettings['member_id']) {
             if (strstr($aRow['Trash'], 'sender')) {
                 $this->aMailBoxSettings['mailbox_mode'] = 'trash';
             } else {
                 $this->aMailBoxSettings['mailbox_mode'] = 'outbox';
             }
             $sRelocateParameter = 'outbox';
         } else {
             if ($aRow['Sender'] != $this->aMailBoxSettings['member_id']) {
                 if (strstr($aRow['Trash'], 'recipient')) {
                     $this->aMailBoxSettings['mailbox_mode'] = 'trash';
                 } else {
                     $this->aMailBoxSettings['mailbox_mode'] = 'inbox';
                 }
                 $sRelocateParameter = 'inbox';
             }
         }
         // generate extended mailbox actions
         switch ($this->aMailBoxSettings['mailbox_mode']) {
             case 'inbox':
                 // generate actions for inbox mode ;
                 $aForm = array('form_attrs' => array('action' => null, 'method' => 'post'), 'params' => array('remove_form' => true, 'db' => array('submit_name' => 'do_submit')), 'inputs' => array('actions' => array('type' => 'input_set', 'colspan' => 'true', 0 => null, 1 => array('type' => 'button', 'value' => $aLanguageKeys['spam_message'], 'attrs' => array('onclick' => 'if ( typeof oMailBoxViewMessage != \'undefined\') oMailBoxViewMessage.spamMessages(\'\', ' . $aRow['Sender'] . ')')), 2 => array('type' => 'button', 'value' => $aLanguageKeys['delete_message'], 'attrs' => array('onclick' => 'if ( typeof oMailBoxViewMessage != \'undefined\') oMailBoxViewMessage.deleteMessages(' . $aRow['ID'] . ')')), 3 => array('type' => 'select', 'values' => array('' => $aLanguageKeys['more'], 'unread' => $aLanguageKeys['mark_unread'], 'read' => $aLanguageKeys['mark_read']), 'attrs' => array('onchange' => 'if ( typeof oMailBoxViewMessage != \'undefined\') oMailBoxViewMessage.markMessages(this.value, ' . $aRow['ID'] . ')')))));
                 if ($aRow['Sender'] != $this->aMailBoxSettings['member_id']) {
                     $aForm['inputs']['actions'][0] = array('type' => 'button', 'value' => $aLanguageKeys['reply_message'], 'attrs' => array('onclick' => 'oMailBoxViewMessage.replyMessage(' . $this->aMailBoxSettings['messageID'] . ', ' . $aRow['Sender'] . ');'));
                 }
                 $oForm = new BxTemplFormView($aForm);
                 $sMessageBoxActions = $oForm->getCode();
                 break;
             case 'outbox':
                 // generate actions for outbox mode ;
                 $aForm = array('form_attrs' => array('action' => null, 'method' => 'post'), 'params' => array('remove_form' => true, 'db' => array('submit_name' => 'do_submit')), 'inputs' => array('actions' => array('type' => 'input_set', 'colspan' => 'true', 0 => array('type' => 'button', 'value' => $aLanguageKeys['delete_message'], 'attrs' => array('onclick' => 'if (typeof oMailBoxViewMessage != \'undefined\') oMailBoxViewMessage.deleteMessages(' . $aRow['ID'] . ')')))));
                 $oForm = new BxTemplFormView($aForm);
                 $sMessageBoxActions = $oForm->getCode();
                 break;
             case 'trash':
                 // generate actions for outbox mode ;
                 $aForm = array('form_attrs' => array('action' => null, 'method' => 'post'), 'params' => array('remove_form' => true, 'db' => array('submit_name' => 'do_submit')), 'inputs' => array('actions' => array('type' => 'input_set', 'colspan' => 'true', 0 => null, 1 => array('type' => 'button', 'value' => $aLanguageKeys['restore_message'], 'attrs' => array('onclick' => 'if (typeof oMailBoxViewMessage != \'undefined\') oMailBoxViewMessage.restoreMessages(' . $aRow['ID'] . ');')))));
                 if ($aRow['Sender'] != $this->aMailBoxSettings['member_id']) {
                     $aForm['inputs']['actions'][0] = array('type' => 'button', 'value' => $aLanguageKeys['reply_message'], 'attrs' => array('onclick' => 'oMailBoxViewMessage.replyMessage(' . $this->aMailBoxSettings['messageID'] . ', ' . $aRow['Sender'] . ');'));
                 }
                 $oForm = new BxTemplFormView($aForm);
                 $sMessageBoxActions = $oForm->getCode();
                 break;
         }
         // prepare for output ;
         $aTemplateKeys = array('inbox_mode' => $sBackUrl, 'back_to_inbox' => $sBackCaption, 'back_img_src' => getTemplateIcon('back_to_inbox.png'), 'member_thumbnail' => $sMemberIcon, 'member_nick_name' => $sMemberNickName, 'member_location' => $sMemberLocation, 'member_sex_img' => $sMemberSexImage, 'member_sex' => $aMemberInfo['Sex'], 'member_age' => $sMemberAge, 'member_flag' => $sMemberCountryFlag, 'city_country' => $sMemberCountry, 'clock_img' => getTemplateIcon('clock.png'), 'date_create' => $aRow['Date'], 'message_subject' => $aRow['Subject'], 'member_actions_list' => $sActionsList, 'message_text' => $aRow['Text'], 'are_you_sure' => $aLanguageKeys['are_you_sure'], 'current_page' => 'mail.php', 'spam_message' => $aLanguageKeys['spam_message'], 'delete_message' => $aLanguageKeys['delete_message'], 'message_id' => $aRow['ID'], 'message_actions' => $sMessageBoxActions, 'page_mode' => $sRelocateParameter);
         // build and return final template ;
         $sOutputHtml = $oSysTemplate->parseHtmlByName($this->aUsedTemplates['view_message_box'], $aTemplateKeys);
     }
     // if message nothing found ;
     if (!mysql_num_rows($rResult)) {
         $sOutputHtml = MsgBox(_t('_Empty'));
     }
     return array($oTemplConfig->sTinyMceEditorJS . $sOutputHtml, $aTopToggleEllements);
 }
コード例 #9
0
ファイル: BxPollView.php プロジェクト: dalinhuang/shopexts
 /**
  * Function will generate block with actions;
  */
 function getBlockCode_ActionsBlock()
 {
     if (!$this->aPollInfo) {
         return MsgBox(_t('_Empty'));
     }
     $iOwnerId = (int) $this->aPollInfo['id_profile'];
     $aOwnerInfo = getProfileInfo($iOwnerId);
     // prepare all needed keys
     $aOwnerInfo['PollId'] = (int) $this->aPollInfo['id_poll'];
     $aOwnerInfo['ID'] = $this->iMemberId;
     $aOwnerInfo['BaseUri'] = $this->oModule->_oConfig->getBaseUri();
     $oSubscription = new BxDolSubscription();
     $aButton = $oSubscription->getButton($this->iMemberId, 'bx_poll', '', $this->aPollInfo['id_poll']);
     $aOwnerInfo['sbs_poll_title'] = $aButton['title'];
     $aOwnerInfo['sbs_poll_script'] = $aButton['script'];
     $sActions = $GLOBALS['oFunctions']->genObjectsActions($aOwnerInfo, 'bx_poll');
     return $oSubscription->getData() . $sActions;
 }
コード例 #10
0
ファイル: BxWallModule.php プロジェクト: noormcs/studoro
    function serviceViewBlock($mixed, $iStart = -1, $iPerPage = -1, $sFilter = '', $sTimeline = '', $sType = 'id', $aModules = array())
    {
        $sContent = '';
        $aOwner = $this->_oDb->getUser($mixed, $sType);
        $this->_iOwnerId = $aOwner['id'];
        $oSubscription = new BxDolSubscription();
        $aButton = $oSubscription->getButton($this->getUserId(), 'bx_wall', '', $this->_iOwnerId);
        $aTopMenu = array('wall-view-all' => array('href' => 'javascript:void(0)', 'onclick' => 'javascript:' . $this->_sJsViewObject . '.changeFilter(this)', 'title' => _t('_wall_view_all'), 'active' => 1), 'wall-view-owner' => array('href' => 'javascript:void(0)', 'onclick' => 'javascript:' . $this->_sJsViewObject . '.changeFilter(this)', 'title' => _t('_wall_view_owner', getNickName($aOwner['id']))), 'wall-view-other' => array('href' => 'javascript:void(0)', 'onclick' => 'javascript:' . $this->_sJsViewObject . '.changeFilter(this)', 'title' => _t('_wall_view_other')), 'wall-get-rss' => array('href' => BX_DOL_URL_ROOT . $this->_oConfig->getBaseUri() . 'rss/' . $aOwner['username'] . '/', 'target' => '_blank', 'title' => _t('_wall_get_rss')), 'wall-subscription' => array('href' => 'javascript:void(0);', 'onclick' => 'javascript:' . $aButton['script'] . '', 'title' => $aButton['title']));
        if ($iStart == -1) {
            $iStart = 0;
        }
        if ($iPerPage == -1) {
            $iPerPage = $this->_oConfig->getPerPage();
        }
        if (empty($sFilter)) {
            $sFilter = BX_WALL_FILTER_ALL;
        }
        //--- Prepare JavaScript paramaters ---//
        $oJson = new Services_JSON();
        ob_start();
        ?>
        var <?php 
        echo $this->_sJsViewObject;
        ?>
 = new BxWallView({
            sActionUrl: '<?php 
        echo BX_DOL_URL_ROOT . $this->_oConfig->getBaseUri();
        ?>
',
            sObjName: '<?php 
        echo $this->_sJsViewObject;
        ?>
',
            iOwnerId: <?php 
        echo $this->_iOwnerId;
        ?>
,
            sAnimationEffect: '<?php 
        echo $this->_oConfig->getAnimationEffect();
        ?>
',
            iAnimationSpeed: '<?php 
        echo $this->_oConfig->getAnimationSpeed();
        ?>
',
            oRequestParams: <?php 
        echo $oJson->encode(array('WallOwnerId' => $this->_iOwnerId, 'WallStart' => $iStart, 'WallPerPage' => $iPerPage, 'WallFilter' => $sFilter, 'WallTimeline' => $sTimeline, 'WallModules' => $aModules));
        ?>
        });
<?php 
        $sJsContent = ob_get_clean();
        //--- Is used with common Pagination
        //$oPaginate = $this->_getPaginate($sFilter, $sTimeline, $aModules);
        $aVariables = array('timeline' => $this->_getTimeline($iStart, $iPerPage, $sFilter, $sTimeline, $aModules), 'content' => $this->_getPosts('desc', $iStart, $iPerPage, $sFilter, $sTimeline, $aModules), 'view_js_content' => $sJsContent);
        $GLOBALS['oTopMenu']->setCurrentProfileID((int) $this->_iOwnerId);
        $this->_oTemplate->addCss(array('forms_adv.css', 'view.css'));
        $this->_oTemplate->addJs(array('main.js', 'view.js'));
        return array($this->_oTemplate->parseHtmlByName('view.html', $aVariables), $aTopMenu, LoadingBox('bx-wall-view-loading'), false, 'getBlockCaptionMenu');
    }
コード例 #11
0
ファイル: BxBlogsModule.php プロジェクト: Arvindvi/dolphin
 function getActionsBlock()
 {
     if ($this->iPostViewType == 3 && $this->iViewingPostID > 0) {
         $iMemberID = (int) $this->aViewingPostInfo['OwnerID'];
         $aOwnerInfo = getProfileInfo($iMemberID);
         $sOwnerNickname = getNickName($iMemberID);
         $aUser = array('Permalink' => $aOwnerInfo['NickName'], 'Link' => $iMemberID);
         $sOwnerBlogLinkSub = $this->genBlogLink('show_member_blog_home', $aUser, '', '', '', true);
         $sApproveC = _t('_Approve');
         $sDisApproveC = _t('_Disapprove');
         $sFeatureItC = _t('_Feature it');
         $sDeFeatureItC = _t('_De-Feature it');
         $bApproveAllowed = $this->isAllowedApprove() ? 'true' : 'false';
         if ($this->_iVisitorID == $iMemberID && $iMemberID > 0 || $this->bAdminMode || $bApproveAllowed) {
             $iFeaturedStatus = $this->_oDb->getFeaturedStatus($this->iViewingPostID);
             $sFeatureC = (int) $iFeaturedStatus == 1 ? $sDeFeatureItC : $sFeatureItC;
             if ($this->bAdminMode || $bApproveAllowed == 'true') {
                 $iApproved = 0;
                 //0 = not changed; 1 = app; 2 = disapp;
                 if (bx_get('sa') == 'approve') {
                     //approve this post
                     $this->_oDb->setPostStatus($this->iViewingPostID, 'approval');
                     $this->onPostApproveDisapprove($this->iViewingPostID, true);
                     $iApproved = 1;
                 }
                 if (bx_get('sa') == 'disapprove') {
                     //disapprove this post
                     $this->_oDb->setPostStatus($this->iViewingPostID);
                     $this->onPostApproveDisapprove($this->iViewingPostID, false);
                     $iApproved = 2;
                 }
                 $sCurPostStatus = $this->_oDb->getActiveStatus($this->iViewingPostID);
                 switch ($iApproved) {
                     case 0:
                         $sSAAction = $sCurPostStatus == 'disapproval' ? 'approve' : 'disapprove';
                         $sSACaption = $sCurPostStatus == 'disapproval' ? $sApproveC : $sDisApproveC;
                         break;
                     case 1:
                         $sSAAction = 'disapprove';
                         $sSACaption = $sDisApproveC;
                         break;
                     case 2:
                         $sSAAction = 'approve';
                         $sSACaption = $sApproveC;
                         break;
                 }
             }
         }
         $sLink = $this->genBlogLink('show_member_blog_home', $aUser);
         $sViewingPostUri = $this->_oDb->getPostUriByID($this->iViewingPostID);
         $aViewingPost = array('Permalink' => $sViewingPostUri, 'Link' => $this->iViewingPostID);
         $sViewingPostLink = $this->genBlogLink('show_member_post', $aUser, '', $aViewingPost);
         $sLink = $this->genBlogLink('show_member_post', $aUser, '', $aViewingPost, '', true);
         $sProcessingFile = $this->genBlogSubUrl();
         bx_import('BxDolSubscription');
         $oSubscription = new BxDolSubscription();
         $aButton = $oSubscription->getButton($this->_iVisitorID, 'bx_' . $this->_oConfig->getUri(), '', $this->iViewingPostID);
         $aActionKeys = array('edit_allowed' => $this->isAllowedPostEdit(-1) ? 'true' : 'false', 'visitor_id' => $this->_iVisitorID, 'owner_id' => $iMemberID, 'blog_owner_link' => $sOwnerBlogLinkSub, 'owner_title' => $sOwnerNickname, 'owner_name' => $aOwnerInfo['NickName'], 'admin_mode' => "'" . $this->bAdminMode . "'", 'post_id' => $this->iViewingPostID, 'post_featured' => (int) $iFeaturedStatus, 'sure_label' => _t('_Are you sure?'), 'post_entry_url' => $sLink, 'post_inside_entry_url' => $sViewingPostLink, 'sSACaption' => $sSACaption, 'sSAAction' => $sSAAction, 'work_url' => $sProcessingFile, 'only_menu' => 0, 'sbs_blogs_title' => $aButton['title'], 'sbs_blogs_script' => $aButton['script'], 'site_url' => BX_DOL_URL_ROOT, 'allow_approve' => $bApproveAllowed, 'base_url' => $this->sHomeUrl);
         $sActionsVal = $GLOBALS['oFunctions']->genObjectsActions($aActionKeys, 'bx_blogs', false);
         $sSubsAddon = $oSubscription->getData();
         return $sSubsAddon . $sActionsVal;
     }
 }
コード例 #12
0
ファイル: BxWallModule.php プロジェクト: dalinhuang/shopexts
    function serviceViewBlock($mixed, $iStart = -1, $iPerPage = -1, $sFilter = '', $sType = 'id')
    {
        $aOwner = $this->_oDb->getUser($mixed, $sType);
        $this->_iOwnerId = $aOwner['id'];
        $oSubscription = new BxDolSubscription();
        $aButton = $oSubscription->getButton($this->getUserId(), 'bx_wall', '', $this->_iOwnerId);
        $aTopMenu = array('wall-view-all' => array('href' => 'javascript:void(0)', 'onclick' => 'javascript:' . $this->_sJsViewObject . '.filterPosts(this)', 'title' => _t('_wall_view_all'), 'active' => 1), 'wall-view-owner' => array('href' => 'javascript:void(0)', 'onclick' => 'javascript:' . $this->_sJsViewObject . '.filterPosts(this)', 'title' => _t('_wall_view_owner', $aOwner['username'])), 'wall-view-other' => array('href' => 'javascript:void(0)', 'onclick' => 'javascript:' . $this->_sJsViewObject . '.filterPosts(this)', 'title' => _t('_wall_view_other')), 'wall-get-rss' => array('href' => BX_DOL_URL_ROOT . $this->_oConfig->getBaseUri() . 'rss/' . $aOwner['username'] . '/', 'target' => '_blank', 'title' => _t('_wall_get_rss')), 'wall-subscription' => array('href' => 'javascript:void(0);', 'onclick' => 'javascript:' . $aButton['script'] . '', 'title' => $aButton['title']));
        if ($iStart == -1) {
            $iStart = 0;
        }
        if ($iPerPage == -1) {
            $iPerPage = $this->_oConfig->getPerPage();
        }
        if (empty($sFilter)) {
            $sFilter = BX_WALL_FILTER_ALL;
        }
        $sContent = $this->_getPosts('desc', $iStart, $iPerPage, $sFilter);
        //--- Prepare JavaScript paramaters ---//
        ob_start();
        ?>
        var <?php 
        echo $this->_sJsViewObject;
        ?>
 = new BxWallView({
            sActionUrl: '<?php 
        echo BX_DOL_URL_ROOT . $this->_oConfig->getBaseUri();
        ?>
',
            sObjName: '<?php 
        echo $this->_sJsViewObject;
        ?>
',
            iOwnerId: <?php 
        echo $this->_iOwnerId;
        ?>
,
            sAnimationEffect: '<?php 
        echo $this->_oConfig->getAnimationEffect();
        ?>
',
            iAnimationSpeed: '<?php 
        echo $this->_oConfig->getAnimationSpeed();
        ?>
'
        });
<?php 
        $sJsContent = ob_get_clean();
        $sHomeUrl = $this->_oConfig->getHomeUrl();
        $oPaginate = $this->_getPaginate($sFilter);
        $aVariables = array('content' => $sContent, 'view_js_content' => $sJsContent, 'view_js_object' => $this->_sJsViewObject, 'paginate' => $oPaginate->getPaginate());
        $GLOBALS['oTopMenu']->setCurrentProfileID((int) $this->_iOwnerId);
        $this->_oTemplate->addCss('view.css');
        $this->_oTemplate->addJs(array('main.js', 'view.js'));
        return array($this->_oTemplate->parseHtmlByName('view.html', $aVariables), $aTopMenu, array(), true, 'getBlockCaptionMenu');
    }
コード例 #13
0
 /**
  * News Letters block
  */
 function getBlockCode_Subscribe()
 {
     global $site;
     $oSubscription = new BxDolSubscription();
     $aButton = $oSubscription->getButton(0, 'system', 'mass_mailer');
     return $oSubscription->getData() . $GLOBALS['oSysTemplate']->parseHtmlByName('home_page_subscribe.html', array('message' => _t('_SUBSCRIBE_TEXT', $site['title']), 'button_title' => $aButton['title'], 'button_script' => $aButton['script']));
 }
コード例 #14
0
if (isset($_GET['ID']) && (int) $_GET['ID'] > 0) {
    $iProfId = (int) $_GET['ID'];
    $aProfileInfo = getProfileInfo($iProfId);
    $aMemberInfo = getProfileInfo($iMemberId);
    $aProfileInfo['window_width'] = $oTemplConfig->popUpWindowWidth;
    $aProfileInfo['window_height'] = $oTemplConfig->popUpWindowHeight;
    $aProfileInfo['anonym_mode'] = $oTemplConfig->bAnonymousMode;
    $aProfileInfo['member_pass'] = $aMemberInfo['Password'];
    $aProfileInfo['member_id'] = $iMemberId;
    $bDisplayType = getParam('enable_new_dhtml_popups') == 'on' ? 0 : 1;
    $aProfileInfo['display_type'] = $bDisplayType;
    $aProfileInfo['url'] = BX_DOL_URL_ROOT;
    $aProfileInfo['status_message'] = process_line_output($aProfileInfo['UserStatusMessage']);
    //--- Subscription integration ---//
    $oSubscription = new BxDolSubscription();
    $aButton = $oSubscription->getButton($iMemberId, 'profile', '', $iProfId);
    $aProfileInfo['sbs_profile_title'] = $aButton['title'];
    $aProfileInfo['sbs_profile_script'] = $aButton['script'];
    //--- Subscription integration ---//
    //--- Check for member/non-member ---//
    if (isMember()) {
        $aProfileInfo['cpt_edit'] = _t('_EditProfile');
        $aProfileInfo['cpt_send_letter'] = _t('_SendLetter');
        $aProfileInfo['cpt_fave'] = _t('_Fave');
        $aProfileInfo['cpt_befriend'] = _t('_Befriend');
        $aProfileInfo['cpt_remove_friend'] = _t('_Remove friend');
        $aProfileInfo['cpt_greet'] = _t('_Greet');
        $aProfileInfo['cpt_get_mail'] = _t('_Get E-mail');
        $aProfileInfo['cpt_share'] = _t('_Share');
        $aProfileInfo['cpt_report'] = _t('_Report Spam');
        $aProfileInfo['cpt_block'] = _t('_Block');
コード例 #15
0
 function serviceActionBlock($sUri)
 {
     $aParams = is_numeric($sUri) ? array('sample_type' => 'id', 'id' => $sUri) : array('sample_type' => 'uri', 'uri' => $sUri);
     $aEntry = $this->_oDb->getEntries($aParams);
     $sModuleUri = $this->_oConfig->getUri();
     if ($aEntry['status'] != BX_TD_STATUS_ACTIVE) {
         return MsgBox(_t('_' . $sModuleUri . '_msg_no_results'));
     }
     $sModuleUri = $this->_oConfig->getUri();
     $oSubscription = new BxDolSubscription();
     $aButton = $oSubscription->getButton($this->getUserId(), 'bx_' . $sModuleUri, '', $aEntry['id']);
     $aReplacement['sbs_' . $sModuleUri . '_title'] = $aButton['title'];
     $aReplacement['sbs_' . $sModuleUri . '_script'] = $aButton['script'];
     if ($this->_isDeleteAllowed()) {
         $this->_oTemplate->addJsTranslation(array('_' . $sModuleUri . '_msg_success_delete', '_' . $sModuleUri . '_msg_failed_delete'));
         $aReplacement['del_' . $sModuleUri . '_title'] = _t('_' . $sModuleUri . '_actions_delete');
         $aReplacement['del_' . $sModuleUri . '_script'] = $this->_oConfig->getJsObject() . '.deleteEntry(' . $aEntry['id'] . ')';
     } else {
         $aReplacement['del_' . $sModuleUri . '_title'] = '';
     }
     return $oSubscription->getData() . $GLOBALS['oFunctions']->genObjectsActions($aReplacement, 'bx_' . $this->_oConfig->getUri());
 }
コード例 #16
0
ファイル: BxBaseProfileView.php プロジェクト: noormcs/studoro
 /**
  ** @description : function will generate user's actions
  ** @param  : $sCaption (string) caption of returned block
  ** @param  : $bNoDB (boolean) if isset this param block will return with design box
  ** @return : HTML presentation data
  */
 function showBlockActionsMenu($sCaption, $bNoDB = false)
 {
     global $p_arr;
     // init some user's values
     $iMemberID = getLoggedId();
     $iViewedMemberID = (int) $p_arr['ID'];
     /*
     if( (!$iMemberID  or !$iViewedMemberID) or ($iMemberID == $iViewedMemberID) )
         return null;
     */
     // prepare all needed keys
     $p_arr['url'] = BX_DOL_URL_ROOT;
     $p_arr['anonym_mode'] = $this->oTemplConfig->bAnonymousMode;
     $p_arr['member_id'] = $iMemberID;
     $p_arr['member_pass'] = getPassword($iMemberID);
     //--- Subscription integration ---//
     $oSubscription = new BxDolSubscription();
     $sAddon = $oSubscription->getData();
     $aButton = $oSubscription->getButton($iMemberID, 'profile', '', $iViewedMemberID);
     $p_arr['sbs_profile_title'] = $aButton['title'];
     $p_arr['sbs_profile_script'] = $aButton['script'];
     //--- Subscription integration ---//
     //--- Check for member/non-member ---//
     if (isMember()) {
         $p_arr['cpt_edit'] = _t('_EditProfile');
         $p_arr['cpt_send_letter'] = _t('_SendLetter');
         $p_arr['cpt_fave'] = _t('_Fave');
         $p_arr['cpt_remove_fave'] = _t('_Remove Fave');
         $p_arr['cpt_befriend'] = _t('_Befriend');
         $p_arr['cpt_remove_friend'] = _t('_Remove friend');
         $p_arr['cpt_get_mail'] = _t('_Get E-mail');
         $p_arr['cpt_share'] = $this->isAllowedShare($this->_aProfile) ? _t('_Share') : '';
         $p_arr['cpt_report'] = _t('_Report Spam');
         $p_arr['cpt_block'] = _t('_Block');
         $p_arr['cpt_unblock'] = _t('_Unblock');
     } else {
         $p_arr['cpt_edit'] = '';
         $p_arr['cpt_send_letter'] = '';
         $p_arr['cpt_fave'] = '';
         $p_arr['cpt_remove_fave'] = '';
         $p_arr['cpt_befriend'] = '';
         $p_arr['cpt_remove_friend'] = '';
         $p_arr['cpt_get_mail'] = '';
         $p_arr['cpt_share'] = '';
         $p_arr['cpt_report'] = '';
         $p_arr['cpt_block'] = '';
         $p_arr['cpt_unblock'] = '';
     }
     $aCheckGreet = checkAction($iMemberID, ACTION_ID_SEND_VKISS);
     $p_arr['cpt_greet'] = $aCheckGreet[CHECK_ACTION_RESULT] == CHECK_ACTION_RESULT_ALLOWED ? _t('_Greet') : '';
     $sActions = $sAddon . $GLOBALS['oFunctions']->genObjectsActions($p_arr, 'Profile');
     if ($bNoDB) {
         return $sActions;
     } else {
         echo DesignBoxContent(_t($sCaption), $sActions, 1);
     }
 }
コード例 #17
0
ファイル: BxPollView.php プロジェクト: noormcs/studoro
 /**
  * Function will generate block with actions;
  */
 function getBlockCode_ActionsBlock()
 {
     if (!$this->aPollInfo) {
         return MsgBox(_t('_Empty'));
     }
     $iOwnerId = (int) $this->aPollInfo['id_profile'];
     $aOwnerInfo = getProfileInfo($iOwnerId);
     // prepare all needed keys
     $aOwnerInfo['PollId'] = (int) $this->aPollInfo['id_poll'];
     $aOwnerInfo['ID'] = $this->iMemberId;
     $aOwnerInfo['BaseUri'] = $this->oModule->_oConfig->getBaseUri();
     $aOwnerInfo['del_poll_title'] = $aOwnerInfo['del_poll_url'] = $aOwnerInfo['del_poll_script'];
     if (isLogged() && ($this->aPollInfo['id_profile'] == $this->iMemberId || isAdmin())) {
         $sDeleteLink = $this->oModule->getModulePath() . '&action=delete_poll&id=' . $aOwnerInfo['PollId'];
         $aOwnerInfo['del_poll_title'] = _t('_bx_poll_delete');
         $aOwnerInfo['del_poll_url'] = $sDeleteLink;
         $aOwnerInfo['del_poll_script'] = "if(confirm('" . bx_js_string(_t('_are you sure?')) . "')) window.open ('" . $sDeleteLink . "','_self'); return false;";
     }
     $oSubscription = new BxDolSubscription();
     $aButton = $oSubscription->getButton($this->iMemberId, 'bx_poll', '', $this->aPollInfo['id_poll']);
     $aOwnerInfo['sbs_poll_title'] = $aButton['title'];
     $aOwnerInfo['sbs_poll_script'] = $aButton['script'];
     $aOwnerInfo['TitleShare'] = $this->oModule->isAllowedShare($this->aPollInfo) ? _t('_Share') : '';
     $sActions = $GLOBALS['oFunctions']->genObjectsActions($aOwnerInfo, 'bx_poll');
     return $oSubscription->getData() . $sActions;
 }
コード例 #18
0
ファイル: BxAdsModule.php プロジェクト: dalinhuang/shopexts
    /**
     * Generate presentation Advertisement code with images and other
     *
     * @param $iID	ID of Advertisement
     * @return HTML presentation of data
     */
    function ActionPrintAdvertisement($iID)
    {
        global $site;
        global $aPreValues;
        $iAdvertisementID = (int) $iID;
        $sRetHtml = '';
        $sSiteUrl = BX_DOL_URL_ROOT;
        if ($this->bAdminMode && $iAdvertisementID > 0) {
            $iFeaturedStatus = $this->_oDb->getFeaturedStatus($iAdvertisementID);
            $iNewStatus = $iFeaturedStatus == 1 ? 0 : 1;
            if (bx_get('do') == 'cfs') {
                $this->_oDb->UpdateFeatureStatus($iAdvertisementID, $iNewStatus);
            }
        }
        $aSqlResStr = $this->_oDb->getAdInfo($iAdvertisementID);
        if ($aSqlResStr) {
            $iOwnerID = (int) $aSqlResStr['IDProfile'];
            $bPossibleToView = $this->oPrivacy->check('view', $iAdvertisementID, $this->_iVisitorID);
            if ($this->isAllowedView($iOwnerID, true) == false || $bPossibleToView == false) {
                return $this->_oTemplate->displayAccessDenied();
            }
            bx_import('BxDolViews');
            new BxDolViews('ads', $iAdvertisementID);
            $aNameRet = getProfileInfo($aSqlResStr['IDProfile']);
            $sCountryName = $aSqlResStr['Country'];
            $sCountryPic = $sCountryName == '' ? '' : ' <img alt="' . $sCountryName . '" src="' . ($site['flags'] . strtolower($sCountryName)) . '.gif"/>';
            $sCountryName = _t($aPreValues['Country'][$sCountryName]['LKey']);
            $sPostedByC = _t('_bx_ads_Posted_by');
            $sPhoneC = _t('_Phone');
            $sDetailsC = _t('_bx_ads_Details');
            $sUserOtherListC = _t('_bx_ads_Users_other_listing');
            $sActionsC = _t('_Actions');
            $sSureC = _t('_Are you sure?');
            $sMoreIcon = $this->_oTemplate->getIconUrl('more.png');
            $sPostedBy .= '<div class="cls_res_info">';
            $sPostedBy .= $sPostedByC . ': <span style="color:#333333;"><a href="' . getProfileLink($aNameRet['ID']) . '">' . $aNameRet['NickName'] . '</a></span>';
            $sPostedBy .= '</div>';
            if ($aNameRet['Phone'] != "") {
                $sPostedBy .= '<div class="cls_res_info">';
                $sPostedBy .= $sPhoneC . ": <div class=\"clr3\">{$aNameRet['Phone']}</div>";
                $sPostedBy .= '</div>';
            }
            $sTimeAgo = _format_when($aSqlResStr['sec']);
            $aTags = array();
            $aTagsLinks = array();
            $aTags = preg_split("/[;,]/", $aSqlResStr['Tags']);
            foreach ($aTags as $sTag) {
                $sSubLink = $this->bUseFriendlyLinks ? "ads/tag/" : $this->sHomeUrl . "classifieds_tags.php?tag=";
                $sTagS = htmlspecialchars(title2uri($sTag));
                $aTagsLinks[] = '<a href="' . "{$sSubLink}{$sTagS}" . '">' . $sTag . '</a>';
            }
            $sTags .= implode(", ", $aTagsLinks);
            $sMemberActionForms = '';
            if ($this->_iVisitorID > 0 && $this->_iVisitorID != $aNameRet['ID']) {
                //print Send PM button and other actions
                if (getParam('bx_ads_enable_paid') == 'on') {
                    $sMemberActionForms .= <<<EOF
<form action="{$this->sCurrBrowsedFile}" name="BuyNowForm" method="post">
\t<input type="hidden" name="BuyNow" value="BuyNow" />
\t<input type="hidden" name="IDAdv" value="{$iAdvertisementID}" />
\t<input type="hidden" name="IDSeller" value="{$aSqlResStr['IDProfile']}" />
</form>
EOF;
                }
                $sMemberActionForms .= <<<EOF
<form action="{$sSiteUrl}mail.php" name="post_pm" id="post_pm" method="get">
\t<input type="hidden" name="mode" value="compose" />
\t<input type="hidden" name="recipient_id" value="{$aSqlResStr['IDProfile']}" />
\t<input type="hidden" name="subject" value="{$aSqlResStr['Subject']}" />
</form>
EOF;
            }
            $sEntryUrl = $this->genUrl($iAdvertisementID, $aSqlResStr['EntryUri'], 'entry');
            $sMediaIDs = $this->_oDb->getMediaOfAd($iAdvertisementID);
            if ($sMediaIDs != '') {
                $aReadyMedia = explode(',', $sMediaIDs);
                $sPictureSectContent = $this->_blockPhoto($aReadyMedia, $iOwnerID);
            }
            $sPictureSect = $sPictureSectContent != '' ? DesignBoxContent(_t('_bx_ads_Ad_photos'), $sPictureSectContent, 1) : '';
            $this->sTAPhotosContent = $sPictureSectContent;
            bx_import('BxDolSubscription');
            $oSubscription = new BxDolSubscription();
            $aButton = $oSubscription->getButton($this->_iVisitorID, 'bx_' . $this->_oConfig->getUri(), '', $iAdvertisementID);
            $aActionKeys = array('visitor_id' => $this->_iVisitorID, 'owner_id' => $aNameRet['ID'], 'admin_mode' => "'" . $this->bAdminMode . "'", 'ads_id' => $iAdvertisementID, 'ads_status' => $aSqlResStr['Status'], 'ads_featured' => (int) $aSqlResStr['Featured'], 'sure_label' => $sSureC, 'ads_entry_url' => $sEntryUrl, 'only_menu' => 0, 'sbs_ads_title' => $aButton['title'], 'sbs_ads_script' => $aButton['script']);
            $sActionsTable = $GLOBALS['oFunctions']->genObjectsActions($aActionKeys, 'bx_ads', false);
            $sSubsAddon = $oSubscription->getData();
            $sActionsSectContent = $sSubsAddon . $sMemberActionForms . $sActionsTable;
            $sActionsSect = $this->_iVisitorID > 0 || $this->bAdminMode ? DesignBoxContent($sActionsC, $sActionsSectContent, 1) : '';
            $this->sTAActionsContent = $this->_iVisitorID > 0 || $this->bAdminMode ? $sActionsSectContent : '';
            require_once $this->_oConfig->getClassPath() . 'BxAdsCmts.php';
            $this->oCmtsView = new BxAdsCmts($this->_oConfig->getCommentSystemName(), $iAdvertisementID);
            $sCommentsSectContent = $this->oCmtsView->getExtraCss();
            $sCommentsSectContent .= $this->oCmtsView->getExtraJs();
            $sCommentsSectContent .= !$this->oCmtsView->isEnabled() ? '' : $this->oCmtsView->getCommentsFirst();
            $this->sTACommentsContent = $sCommentsSectContent;
            $sCommSect = DesignBoxContent($aCaptions['Comments'], $sCommentsSectContent, 1);
            $sUserOtherListing = $this->getMemberAds($aSqlResStr['IDProfile'], 2, $iAdvertisementID);
            $sDataTimeFormatted = getLocaleDate($aSqlResStr['DateTime_UTS']);
            $iViews = (int) $aSqlResStr['Views'];
            $sOwnerThumb = get_member_thumbnail($aSqlResStr['IDProfile'], 'none', true);
            $sAdsMessage = process_html_output($aSqlResStr['Message']);
            $sCategLink = $this->bUseFriendlyLinks ? BX_DOL_URL_ROOT . 'ads/cat/' . $aSqlResStr['CEntryUri'] : "{$this->sCurrBrowsedFile}?bClassifiedID={$aSqlResStr['CatID']}";
            $sSCategLink = $this->bUseFriendlyLinks ? BX_DOL_URL_ROOT . 'ads/subcat/' . $aSqlResStr['SEntryUri'] : "{$this->sCurrBrowsedFile}?bSubClassifiedID={$aSqlResStr['SubID']}";
            $aSubjVariables = array('sOwnerThumb' => $sOwnerThumb, 'sDataTimeFormatted' => $sDataTimeFormatted, 'sTimeAgo' => $sTimeAgo, 'categ_name' => $aSqlResStr['Name'], 'subcateg_name' => $aSqlResStr['NameSub'], 'sTags' => $sTags, 'iViews' => $iViews, 'sCategLink' => $sCategLink, 'sSCategLink' => $sSCategLink);
            $sSubjectSectContent = $this->_oTemplate->parseHtmlByTemplateName('unit_subject_block', $aSubjVariables);
            $sSubjectSect = DesignBoxContent(_t('_Info'), $sSubjectSectContent, 1);
            $this->sTAInfoContent = $sSubjectSectContent;
            $sDescriptionContent = '<div class="dbContent">' . $sAdsMessage . '</div>';
            $sDescriptionSect = DesignBoxContent(_t('_Description'), $sDescriptionContent, 1);
            $this->sTADescription = $sDescriptionContent;
            //adding form
            $aForm = array('form_attrs' => array('name' => 'custom_values_form', 'action' => $oAds->sCurrBrowsedFile), 'inputs' => array('Country' => array('type' => 'value', 'name' => 'Country', 'caption' => _t('_Country'), 'value' => $sCountryName . $sCountryPic), 'City' => array('type' => 'value', 'name' => 'City', 'caption' => _t('_City'), 'value' => $aSqlResStr['City'])));
            if ($aSqlResStr['CustomFieldName1'] && $aSqlResStr['CustomFieldValue1']) {
                $aForm['inputs']['Custom1'] = array('type' => 'value', 'name' => 'Custom1', 'caption' => $aSqlResStr['CustomFieldName1'], 'value' => $aSqlResStr['Unit1'] . $aSqlResStr['CustomFieldValue1']);
            }
            if ($aSqlResStr['CustomFieldName2'] && $aSqlResStr['CustomFieldValue2']) {
                $aForm['inputs']['Custom2'] = array('type' => 'value', 'name' => 'Custom2', 'caption' => $aSqlResStr['CustomFieldName2'], 'value' => $aSqlResStr['Unit2'] . $aSqlResStr['CustomFieldValue2']);
            }
            $oForm = new BxTemplFormView($aForm);
            $sOtherInfoContent = $oForm->getCode();
            $sOtherInfoSect = DesignBoxContent(_t('_bx_ads_Custom_Values'), $sOtherInfoContent, 1);
            $this->sTAOtherInfo = $sOtherInfoContent;
            $bPossibleToRate = $this->oPrivacy->check('rate', $iAdvertisementID, $this->_iVisitorID);
            $oVotingView = new BxTemplVotingView('ads', $iAdvertisementID);
            $iVote = $oVotingView && $oVotingView->isEnabled() && $bPossibleToRate ? 1 : 0;
            $sVotePostRating = $oVotingView->getBigVoting($iVote);
            $sRatingSect = DesignBoxContent(_t('_Rate'), $sVotePostRating, 1);
            $this->sTARateContent = $sVotePostRating;
            $sOtherListingContent = <<<EOF
<div class="dbContent">
\t{$sUserOtherListing}
</div>
EOF;
            $sSPaginateActions = <<<EOF
<div class="paginate">
\t<div class="view_all" style="background-image: url({$sMoreIcon});">
\t\t<a href="{$this->sCurrBrowsedFile}" onclick="document.forms['UsersOtherListingForm'].submit(); return false;">{$sUserOtherListC}</a>
\t\t<form action="{$this->sCurrBrowsedFile}" name="UsersOtherListingForm" method="post">
\t\t\t<input type="hidden" name="UsersOtherListing" value="1" />
\t\t\t<input type="hidden" name="IDProfile" value="{$aSqlResStr['IDProfile']}" />
\t\t</form>
\t</div>
\t<div class="pages_section"></div>
</div>
EOF;
            $sOtherListingSect = DesignBoxContent($sUserOtherListC, $sOtherListingContent . $sSPaginateActions, 1);
            $this->sTAOtherListingContent = $sOtherListingContent . $sSPaginateActions;
            $sHomeLink = $this->bUseFriendlyLinks ? BX_DOL_URL_ROOT . 'ads/' : "{$this->sCurrBrowsedFile}?Browse=1";
            $sBrowseAllAds = _t('_bx_ads_Browse_All_Ads');
            $sBreadCrumbs = <<<EOF
<div class="breadcrumbs">
<a href="{$sHomeLink}">{$sBrowseAllAds}</a>
/
<a href="{$sCategLink}">{$aSqlResStr['Name']}</a>
/
<a href="{$sSCategLink}">{$aSqlResStr['NameSub']}</a>
</div>
EOF;
            $aBlocks[1] .= $sActionsSect;
            $aBlocks[1] .= $sSubjectSect;
            $aBlocks[1] .= $sRatingSect;
            $aBlocks[1] .= $sOtherListingSect;
            $aBlocks[2] .= $sPictureSect;
            $aBlocks[2] .= $sCommSect;
            $sRetHtml = <<<EOF
{$sBreadCrumbs}
<div>
\t<div class="clear_both"></div>
\t<div class="cls_info_left">
\t\t{$aBlocks['1']}
\t</div>
\t<div class="cls_info">
\t\t{$sDescriptionSect}
\t\t{$aBlocks['2']}
\t</div>
\t<div class="clear_both"></div>
</div>
<div class="clear_both"></div>
EOF;
            bx_import('BxDolAlerts');
            $oZ = new BxDolAlerts('ads', 'view', $iAdvertisementID, $this->_iVisitorID);
            $oZ->alert();
            $sAdCover = $this->getAdCover($aSqlResStr['Media'], 'icon');
            if ($sAdCover != '') {
                $GLOBALS['oTopMenu']->setCustomSubIconUrl($sAdCover);
            } else {
                $GLOBALS['oTopMenu']->setCustomSubIconUrl($this->_oTemplate->getIconUrl('bx_ads.png'));
            }
            $GLOBALS['oTopMenu']->setCustomSubHeader(htmlspecialchars($aSqlResStr['Subject']));
            $GLOBALS['oTopMenu']->setCustomBreadcrumbs(array(_t('_bx_ads_Ads') => $sHomeLink, $aSqlResStr['Subject'] => ''));
            $this->_oTemplate->setPageDescription(htmlspecialchars($aSqlResStr['Subject']));
            $this->_oTemplate->addPageKeywords(htmlspecialchars($aSqlResStr['Tags']));
        }
        return $sRetHtml;
    }