Как программно создать новую тему?

Автор InSide, 22 апреля 2008, 23:42:59

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

InSide

Поиском не нашел - потому соственно вопрос.
Как в SMF2.0 программно создать тему - учитывая что используется ssi и пользователь залогинен и раздел в котором создается тема - заранее жестко определен.
Может есть где то шаблон или пример такого действа чтоб попроще?
Или может подскажите где в коде форума искать этот процесс добавления - где хранится процедура добавления новой темы?
Зачем же быть душою общества, <br />Когда души в нем вовсе нет. (c) В.С.Высоцкий


Night User

Форма быстрого ответа:

<h2 class="frm2">
<a href="javascript:oQuickReply.swap();" class="minus"><img src="http://www.simplemachines.ru/Themes/main_site/images/collapse.gif" alt="+" id="quickReplyExpand" /></a> <a href="javascript:oQuickReply.swap();">Быстрый ответ</a></h2>

<table border="0" cellspacing="1" cellpadding="3" id="qanswer" width="100%" style="clear: both;">

<tr id="quickReplyOptions">
<td width="25%" valign="top">С <i>быстрым ответом</i> Вы также можете использовать BB код и смайлы.</td>
<td id="qanswerarea" width="75%" align="center">

<form action="http://www.simplemachines.ru/index.php?action=post2" method="post" accept-charset="windows-1251" name="postmodify" id="postmodify" onsubmit="submitonce(this);" style="margin: 0;">
<input type="hidden" name="topic" value="4276" />
<input type="hidden" name="subject" value="Re: Как программно создать новую тему?" />
<input type="hidden" name="icon" value="xx" />
<input type="hidden" name="notify" value="1" />
<input type="hidden" name="not_approved" value="" />
<input type="hidden" name="goback" value="1" />
<input type="hidden" name="num_replies" value="1" />
<textarea cols="75" rows="7" style="width: 95%; height: 100px;" name="message" tabindex="1" id="qa"></textarea><br />
<div><input type="submit" name="post" class="button" value="Отправить" onclick="return submitThisOnce(this);" accesskey="s" tabindex="2" />
<input type="submit" name="preview" class="button" value="Предварительный просмотр" onclick="return submitThisOnce(this);" accesskey="p" tabindex="4" /></div>
<input type="hidden" name="sc" value="b25424be86edc938a90f820b41df9cf0" />
<input type="hidden" name="seqnum" value="3429380" />
</form>
</td>
</tr>
</table>
<script language="JavaScript" type="text/javascript" src="http://www.simplemachines.ru/Themes/default/scripts/xml_topic.js"></script>
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var oQuickReply = new QuickReply({
bDefaultCollapsed: false,
iTopicId: 4276,
iStart: 0,
sScriptUrl: "http://www.simplemachines.ru/index.php",
sImagesUrl: "http://www.simplemachines.ru/Themes/main_site/images",
sContainerId: "quickReplyOptions",
sImageId: "quickReplyExpand",
sImageCollapsed: "collapse.gif",
sImageExpanded: "expand.gif",
sJumpAnchor: "quickreply"
});
if (typeof(window.XMLHttpRequest) != "undefined")
{
var oQuickModify = new QuickModify({
sScriptUrl: "http://www.simplemachines.ru/index.php",
bShowModify: true,
iTopicId: 4276,
sTemplateBodyEdit: '<div id="error_box" style="padding: 4px; color: red;"></div><textarea class="editor" name="message" rows="12" style="width: 94%; margin-bottom: 10px;">%body%</textarea><br /><input type="hidden" name="sc" value="b25424be86edc938a90f820b41df9cf0" /><input type="hidden" name="topic" value="4276" /><input type="hidden" name="msg" value="%msg_id%" /><div style="text-align: center;"><input type="submit" name="post" value="Сохранить" onclick="return oQuickModify.modifySave(\'b25424be86edc938a90f820b41df9cf0\');" accesskey="s" />&nbsp;&nbsp;<input type="submit" name="cancel" value="Отменить" onclick="return oQuickModify.modifyCancel();" /></div>',
sTemplateSubjectEdit: '<input type="text" name="subject" value="%subject%" size="60" style="width: 99%;" maxlength="80" />',
sTemplateBodyNormal: '%body%',
sTemplateSubjectNormal: '<a href="http://www.simplemachines.ru/index.php/topic,4276.msg%msg_id%.html#msg%msg_id%">%subject%</a>',
sTemplateTopSubject: "Тема: %subject% &nbsp;(Прочитано 43 раз)",
sErrorBorderStyle: "1px solid red"
});

aJumpTo[aJumpTo.length] = new JumpTo({
sContainerId: "display_jump_to",
sJumpToTemplate: "<label class=\"smalltext\" for=\"%select_id%\">Перейти в:</label> %dropdown_list%",
iCurBoardId: 45,
iCurBoardChildLevel: 0,
sCurBoardName: "Разработчикам",
sBoardChildLevelIndicator: "==",
sBoardPrefix: "=> ",
sCatSeparator: "-----------------------------",
sCatPrefix: "",
sGoButtonLabel: "да"
});

aIconLists[aIconLists.length] = new IconList({
sBackReference: "aIconLists[" + aIconLists.length + "]",
sIconIdPrefix: "msg_icon_",
sScriptUrl: "http://www.simplemachines.ru/index.php",
bShowModify: true,
iBoardId: 45,
iTopicId: 4276,
sSessionId: "b25424be86edc938a90f820b41df9cf0",
sLabelIconList: "Message Icon",
sBoxBackground: "transparent",
sBoxBackgroundHover: "#ffffff",
iBoxBorderWidthHover: 1,
sBoxBorderColorHover: "#adadad" ,
sContainerBackground: "#ffffff",
sContainerBorder: "1px solid #adadad",
sItemBorder: "1px solid #ffffff",
sItemBorderHover: "1px dotted gray",
sItemBackground: "transparent",
sItemBackgroundHover: "#e0e0f0"
});
}
// ]]></script>


А код функции добавления можно взять из файлы Sources/Post.php

Там функции:
Post() - полный ответ (с формой)
Post2() - быстрый ответ (по-моему только код ответа, а форма в шаблоне Themes/тема/BoardIndex.template.php хотя может я и ошибаюсь.