function printInputFieldByType($key, $type) { global $PMF_LANG; $faqconfig = PMF_Configuration::getInstance(); switch ($type) { case 'area': printf('<textarea name="edit[%s]" cols="60" rows="6" style="width: 500px;">%s</textarea>', $key, str_replace('<', '<', str_replace('>', '>', $faqconfig->get($key)))); printf("<br />\n"); break; case 'input': printf('<input type="text" name="edit[%s]" size="75" value="%s" style="width: 500px;" />', $key, str_replace('"', '"', $faqconfig->get($key))); printf("<br />\n"); break; case 'select': printf('<select name="edit[%s]" size="1" style="width: 500px;">', $key); switch ($key) { case 'main.language': $languages = PMF_Language::getAvailableLanguages(); if (count($languages) > 0) { print PMF_Language::languageOptions(str_replace(array("language_", ".php"), "", $faqconfig->get('main.language')), false, true); } else { print '<option value="language_en.php">English</option>'; } break; case 'records.orderby': print sortingOptions($faqconfig->get($key)); break; case 'records.sortby': printf('<option value="DESC"%s>%s</option>', 'DESC' == $faqconfig->get($key) ? ' selected="selected"' : '', $PMF_LANG['ad_conf_desc']); printf('<option value="ASC"%s>%s</option>', 'ASC' == $faqconfig->get($key) ? ' selected="selected"' : '', $PMF_LANG['ad_conf_asc']); break; case 'main.permLevel': print PMF_Perm::permOptions($faqconfig->get($key)); break; case "main.templateSet": /** * TODO: do get availiable template sets in the PMF_Template */ foreach (new DirectoryIterator('../template') as $item) { if (!$item->isDot() && $item->isDir()) { $selected = PMF_Template::getTplSetName() == $item ? ' selected="selected"' : ''; printf("<option%s>%s</option>", $selected, $item); } } break; case "main.attachmentsStorageType": foreach ($PMF_LANG['att_storage_type'] as $i => $item) { $selected = $faqconfig->get($key) == $i ? ' selected="selected"' : ''; printf('<option value="%d"%s>%s</option>', $i, $selected, $item); } break; } print "</select>\n<br />\n"; break; case 'checkbox': printf('<input type="checkbox" name="edit[%s]" value="true"', $key); if ($faqconfig->get($key)) { print ' checked="checked"'; } print " /><br />\n"; break; case 'print': printf('<input type="hidden" name="edit[%s]" size="80" value="%s" />%s<br />', $key, str_replace('"', '"', $faqconfig->get($key)), $faqconfig->get($key)); break; } }
if ($minVisits > $_r['visits']) { $minVisits = $_r['visits']; } if ($maxVisits < $_r['visits']) { $maxVisits = $_r['visits']; } if ($record_id == $_r['id'] && $lang == $_r['lang']) { $currVisits = $_r['visits']; } } if ($maxVisits - $minVisits > 0) { $percentage = 100 * ($currVisits - $minVisits) / ($maxVisits - $minVisits); } $faqPopularity = $currVisits . '/' . (int) $percentage . '%'; $translationForm = ''; if (count($arrLanguage) < count(PMF_Language::getAvailableLanguages())) { $translationUrl = sprintf(str_replace('%', '%%', PMF_Link::getSystemRelativeUri('index.php')) . 'index.php?%saction=translate&cat=%s&id=%d&srclang=%s', $sids, $currentCategory, $record_id, $lang); $translationForm = ' <form action="' . $translationUrl . '" method="post" style="display: inline;"> <img src="images/translate.gif" alt="' . $PMF_LANG['msgTranslate'] . '" title="' . $PMF_LANG['msgTranslate'] . '" width="16" height="16" border="0" /> ' . $PMF_LANG['msgTranslate'] . ' ' . PMF_Language::selectLanguages($LANGCODE, false, $arrLanguage, 'translation') . ' <input class="submit" type="submit" name="submit" value="' . $PMF_LANG['msgTranslateSubmit'] . '" /> </form>'; } // Get rating $recordRating = $faqrating->fetch($record_id); if (!is_null($recordRating)) { $printVoting = sprintf(' %s (%s)', round($recordRating->sumVotings / $recordRating->numVotings, 2), $plr->GetMsg('plmsgVotes', $recordRating->numVotings)); } else { $printVoting = sprintf('0 (%s)', $plr->GetMsg('plmsgVotes', 0)); } // Set the template variables $tpl->processTemplate("writeContent", array('writeRubrik' => $categoryName . '<br />', 'solution_id' => $faq->faqRecord['solution_id'], 'writeThema' => $thema, 'writeArticleCategoryHeader' => $PMF_LANG['msgArticleCategories'], 'writeArticleCategories' => $writeMultiCategories, 'writeContent' => $content, 'writeTagHeader' => $PMF_LANG['msg_tags'] . ': ', 'writeArticleTags' => $tagging->getAllLinkTagsById($record_id), 'writeRelatedArticlesHeader' => $PMF_LANG['msg_related_articles'] . ': ', 'writeRelatedArticles' => $relevant->getAllRelatedById($record_id, $faq->faqRecord['title'], $faq->faqRecord['keywords']), 'writePopularity' => $faqPopularity, 'writeDateMsg' => $PMF_LANG['msgLastUpdateArticle'] . $faq->faqRecord['date'], 'writeRevision' => $PMF_LANG['ad_entry_revision'] . ': 1.' . $faq->faqRecord['revision_id'], 'writeAuthor' => $PMF_LANG['msgAuthor'] . ': ' . $faq->faqRecord['author'], 'editThisEntry' => $editThisEntry, 'writeDiggMsgTag' => 'Digg it!', 'link_digg' => sprintf('http://digg.com/submit?phase=2&url=%s', urlencode($diggItUrl)), 'writeFacebookMsgTag' => 'Share on Facebook', 'link_facebook' => sprintf('http://www.facebook.com/sharer.php?u=%s', urlencode($facebookUrl)), 'link_email' => sprintf(str_replace('%', '%%', PMF_Link::getSystemRelativeUri('index.php')) . 'index.php?%saction=send2friend&cat=%d&id=%d&artlang=%s', $sids, $currentCategory, $record_id, $lang), 'link_pdf' => sprintf(str_replace('%', '%%', PMF_Link::getSystemRelativeUri('index.php')) . 'pdf.php?cat=%d&id=%d&artlang=%s', $currentCategory, $record_id, $lang), 'writePDFTag' => $PMF_LANG['msgPDF'], 'writePrintMsgTag' => $PMF_LANG['msgPrintArticle'], 'writeSend2FriendMsgTag' => $PMF_LANG['msgSend2Friend'], 'translationForm' => $translationForm, 'saveVotingPATH' => sprintf(str_replace('%', '%%', PMF_Link::getSystemRelativeUri('index.php')) . 'index.php?%saction=savevoting', $sids), 'saveVotingID' => $record_id, 'saveVotingIP' => $_SERVER['REMOTE_ADDR'], 'msgAverageVote' => $PMF_LANG['msgAverageVote'], 'printVotings' => $printVoting, 'switchLanguage' => $switchLanguage, 'msgVoteUseability' => $PMF_LANG['msgVoteUseability'], 'msgVoteBad' => $PMF_LANG['msgVoteBad'], 'msgVoteGood' => $PMF_LANG['msgVoteGood'], 'msgVoteSubmit' => $PMF_LANG['msgVoteSubmit'], 'writeCommentMsg' => $commentMessage, 'msgWriteComment' => $PMF_LANG['msgWriteComment'], 'writeSendAdress' => '?' . $sids . 'action=savecomment', 'id' => $record_id, 'lang' => $lang, 'msgCommentHeader' => $PMF_LANG['msgCommentHeader'], 'msgNewContentName' => $PMF_LANG['msgNewContentName'], 'msgNewContentMail' => $PMF_LANG['msgNewContentMail'], 'defaultContentMail' => $user instanceof PMF_User_CurrentUser ? $user->getUserData('email') : '', 'defaultContentName' => $user instanceof PMF_User_CurrentUser ? $user->getUserData('display_name') : '', 'msgYourComment' => $PMF_LANG['msgYourComment'], 'msgNewContentSubmit' => $PMF_LANG['msgNewContentSubmit'], 'captchaFieldset' => PMF_Helper_Captcha::getInstance()->renderFieldset($PMF_LANG['msgCaptcha'], $captcha->printCaptcha('writecomment')), 'writeComments' => $comment->getComments($record_id, PMF_Comment::COMMENT_TYPE_FAQ)));
/** * @param mixed $key * @param string $type * * @return void */ function renderInputForm($key, $type) { global $PMF_LANG, $faqConfig; switch ($type) { case 'area': printf('<textarea name="edit[%s]" rows="4" class="form-control">%s</textarea>', $key, str_replace('<', '<', str_replace('>', '>', $faqConfig->get($key)))); printf("</div>\n"); break; case 'input': if ('' == $faqConfig->get($key) && 'socialnetworks.twitterAccessTokenKey' == $key && isset($_SESSION['access_token'])) { $value = $_SESSION['access_token']['oauth_token']; } elseif ('' == $faqConfig->get($key) && 'socialnetworks.twitterAccessTokenSecret' == $key && isset($_SESSION['access_token'])) { $value = $_SESSION['access_token']['oauth_token_secret']; } else { $value = str_replace('"', '"', $faqConfig->get($key)); } printf('<input class="form-control" type="%s" name="edit[%s]" value="%s" step="1" min="0">', is_numeric($value) ? 'number' : 'text', $key, $value); echo "</div>\n"; break; case 'select': printf('<select name="edit[%s]" size="1" class="form-control">', $key); switch ($key) { case 'main.language': $languages = PMF_Language::getAvailableLanguages(); if (count($languages) > 0) { echo PMF_Language::languageOptions(str_replace(array('language_', '.php'), '', $faqConfig->get('main.language')), false, true); } else { echo '<option value="language_en.php">English</option>'; } break; case 'records.orderby': echo PMF_Configuration::sortingOptions($faqConfig->get($key)); break; case 'records.sortby': printf('<option value="DESC"%s>%s</option>', 'DESC' == $faqConfig->get($key) ? ' selected' : '', $PMF_LANG['ad_conf_desc']); printf('<option value="ASC"%s>%s</option>', 'ASC' == $faqConfig->get($key) ? ' selected' : '', $PMF_LANG['ad_conf_asc']); break; case 'security.permLevel': echo PMF_Perm::permOptions($faqConfig->get($key)); break; case 'main.templateSet': $faqSystem = new PMF_System(); $templates = $faqSystem->getAvailableTemplates(); foreach ($templates as $template => $selected) { printf("<option%s>%s</option>", $selected === true ? ' selected' : '', $template); } break; case "records.attachmentsStorageType": foreach ($PMF_LANG['att_storage_type'] as $i => $item) { $selected = $faqConfig->get($key) == $i ? ' selected' : ''; printf('<option value="%d"%s>%s</option>', $i, $selected, $item); } break; case "records.orderingPopularFaqs": printf('<option value="visits"%s>%s</option>', 'visits' == $faqConfig->get($key) ? ' selected' : '', $PMF_LANG['records.orderingPopularFaqs.visits']); printf('<option value="voting"%s>%s</option>', 'voting' == $faqConfig->get($key) ? ' selected' : '', $PMF_LANG['records.orderingPopularFaqs.voting']); break; case "search.relevance": printf('<option value="thema,content,keywords"%s>%s</option>', 'thema,content,keywords' == $faqConfig->get($key) ? ' selected' : '', $PMF_LANG['search.relevance.thema-content-keywords']); printf('<option value="thema,keywords,content"%s>%s</option>', 'thema,keywords,content' == $faqConfig->get($key) ? ' selected' : '', $PMF_LANG['search.relevance.thema-keywords-content']); printf('<option value="content,thema,keywords"%s>%s</option>', 'content,thema,keywords' == $faqConfig->get($key) ? ' selected' : '', $PMF_LANG['search.relevance.content-thema-keywords']); printf('<option value="content,keywords,thema"%s>%s</option>', 'content,keywords,thema' == $faqConfig->get($key) ? ' selected' : '', $PMF_LANG['search.relevance.content-keywords-thema']); printf('<option value="keywords,content,thema"%s>%s</option>', 'keywords,content,thema' == $faqConfig->get($key) ? ' selected' : '', $PMF_LANG['search.relevance.keywords-content-thema']); printf('<option value="keywords,thema,content"%s>%s</option>', 'keywords,thema,content' == $faqConfig->get($key) ? ' selected' : '', $PMF_LANG['search.relevance.keywords-thema-content']); break; } echo "</select>\n</div>\n"; break; case 'checkbox': printf('<div class="checkbox"><input type="checkbox" name="edit[%s]" value="true"', $key); if ($faqConfig->get($key)) { echo ' checked'; } if ('security.ldapSupport' === $key && !extension_loaded('ldap')) { echo ' disabled'; } if ('security.useSslOnly' === $key && empty($_SERVER['HTTPS'])) { echo ' disabled'; } if ('security.ssoSupport' === $key && empty($_SERVER['REMOTE_USER'])) { echo ' disabled'; } echo ">\n</div></div>\n"; break; case 'print': printf('<input type="text" readonly name="edit[%s]" class="form-control" value="%s"></div>', $key, str_replace('"', '"', $faqConfig->get($key)), $faqConfig->get($key)); break; } }
/** * Create all languagess which can be used for translation as <option> * * @param integer $category_id Category id * @param string $selected_lang Selected language * * @return string */ public function getCategoryLanguagesToTranslate($category_id, $selected_lang) { $output = ''; $existcatlang = $this->_config->getLanguage()->languageAvailable($category_id, 'faqcategories'); foreach (PMF_Language::getAvailableLanguages() as $lang => $langname) { if (!in_array(strtolower($lang), $existcatlang)) { $output .= "\t<option value=\"" . strtolower($lang) . "\""; if ($lang == $selected_lang) { $output .= " selected=\"selected\""; } $output .= ">" . $langname . "</option>\n"; } } return $output; }
/** * Create all languagess which can be used for translation as <option> * * @param integer $categoryId Category id * @param string $selectedLanguage Selected language * @return string */ public function renderLanguages($categoryId, $selectedLanguage) { $existingLanguages = PMF_Utils::languageAvailable($categoryId, 'faqcategories'); $options = ''; foreach (PMF_Language::getAvailableLanguages() as $lang => $langname) { if (!in_array(strtolower($lang), $existingLanguages)) { $options .= sprintf("\t<option value=\"%s\"%s>%s</option>\n", strtolower($lang), $lang == $selectedLanguage ? ' selected="selected"' : '', $langname); } } return $options; }
} if (isset($_SESSION['trans'])) { unset($_SESSION['trans']); } printf('<header><h2>%s</h2></header>', $PMF_LANG['ad_menu_translations']); ?> <form id="newTranslationForm"> <table class="list" style="width: 100%"> <tr> <td><?php print $PMF_LANG['msgLanguage']; ?> </td> <td><select name="translang" id="translang"> <?php $avaliableLanguages = array_keys(PMF_Language::getAvailableLanguages()); foreach ($languageCodes as $langCode => $langName) { if (!in_array(strtolower($langCode), $avaliableLanguages)) { ?> <option value="<?php print $langCode; ?> "><?php print $langName; ?> </option> <?php } } ?> </select></td>
/** * @param $key * @param $type * @return void */ function printInputFieldByType($key, $type) { global $PMF_LANG; $faqconfig = PMF_Configuration::getInstance(); switch ($type) { case 'area': printf('<textarea name="edit[%s]" cols="60" rows="6" style="width: 300px;">%s</textarea>', $key, str_replace('<', '<', str_replace('>', '>', $faqconfig->get($key)))); printf("</p>\n"); break; case 'input': if ('' == $faqconfig->get($key) && 'socialnetworks.twitterAccessTokenKey' == $key) { $value = $_SESSION['access_token']['oauth_token']; } elseif ('' == $faqconfig->get($key) && 'socialnetworks.twitterAccessTokenSecret' == $key) { $value = $_SESSION['access_token']['oauth_token_secret']; } else { $value = str_replace('"', '"', $faqconfig->get($key)); } printf('<input type="text" name="edit[%s]" size="75" value="%s" style="width: 300px;" />', $key, $value); printf("</p>\n"); break; case 'select': printf('<select name="edit[%s]" size="1" style="width: 300px;">', $key); switch ($key) { case 'main.language': $languages = PMF_Language::getAvailableLanguages(); if (count($languages) > 0) { print PMF_Language::languageOptions(str_replace(array('language_', '.php'), '', $faqconfig->get('main.language')), false, true); } else { print '<option value="language_en.php">English</option>'; } break; case 'records.orderby': print sortingOptions($faqconfig->get($key)); break; case 'records.sortby': printf('<option value="DESC"%s>%s</option>', 'DESC' == $faqconfig->get($key) ? ' selected="selected"' : '', $PMF_LANG['ad_conf_desc']); printf('<option value="ASC"%s>%s</option>', 'ASC' == $faqconfig->get($key) ? ' selected="selected"' : '', $PMF_LANG['ad_conf_asc']); break; case 'security.permLevel': print PMF_Perm::permOptions($faqconfig->get($key)); break; case "main.templateSet": /** * TODO: do get available template sets in the PMF_Template */ foreach (new DirectoryIterator('../template') as $item) { if (!$item->isDot() && $item->isDir()) { $selected = PMF_Template::getTplSetName() == $item ? ' selected="selected"' : ''; printf("<option%s>%s</option>", $selected, $item); } } break; case "records.attachmentsStorageType": foreach ($PMF_LANG['att_storage_type'] as $i => $item) { $selected = $faqconfig->get($key) == $i ? ' selected="selected"' : ''; printf('<option value="%d"%s>%s</option>', $i, $selected, $item); } break; case "records.orderingPopularFaqs": printf('<option value="visits"%s>%s</option>', 'visits' == $faqconfig->get($key) ? ' selected="selected"' : '', $PMF_LANG['records.orderingPopularFaqs.visits']); printf('<option value="voting"%s>%s</option>', 'voting' == $faqconfig->get($key) ? ' selected="selected"' : '', $PMF_LANG['records.orderingPopularFaqs.voting']); break; case "search.relevance": printf('<option value="thema,content,keywords"%s>%s</option>', 'thema,content,keywords' == $faqconfig->get($key) ? ' selected="selected"' : '', $PMF_LANG['search.relevance.thema-content-keywords']); printf('<option value="thema,keywords,content"%s>%s</option>', 'thema,keywords,content' == $faqconfig->get($key) ? ' selected="selected"' : '', $PMF_LANG['search.relevance.thema-keywords-content']); printf('<option value="content,thema,keywords"%s>%s</option>', 'content,thema,keywords' == $faqconfig->get($key) ? ' selected="selected"' : '', $PMF_LANG['search.relevance.content-thema-keywords']); printf('<option value="content,keywords,thema"%s>%s</option>', 'content,keywords,thema' == $faqconfig->get($key) ? ' selected="selected"' : '', $PMF_LANG['search.relevance.content-keywords-thema']); printf('<option value="keywords,content,thema"%s>%s</option>', 'keywords,content,thema' == $faqconfig->get($key) ? ' selected="selected"' : '', $PMF_LANG['search.relevance.keywords-content-thema']); printf('<option value="keywords,thema,content"%s>%s</option>', 'keywords,thema,content' == $faqconfig->get($key) ? ' selected="selected"' : '', $PMF_LANG['search.relevance.keywords-thema-content']); break; } print "</select>\n</p>\n"; break; case 'checkbox': printf('<input type="checkbox" name="edit[%s]" value="true"', $key); if ($faqconfig->get($key)) { print ' checked="checked"'; } print " /></p>\n"; break; case 'print': printf('<input type="hidden" name="edit[%s]" size="80" value="%s" />%s</p>', $key, str_replace('"', '"', $faqconfig->get($key)), $faqconfig->get($key)); break; } }