Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ajax конвертация #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
156 changes: 96 additions & 60 deletions classes/actions/ActionMain.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,72 +17,108 @@


class PluginMainpreview_ActionMain extends ActionPlugin {
/**
* Инициализация
*
* @return null
*/
public function Init() {
/**
* Если пользователь не авторизован и не админ, то выкидываем его
*/
$this->oUserCurrent=$this->User_GetUserCurrent();
if (!$this->oUserCurrent or !$this->oUserCurrent->isAdministrator()) {
return $this->EventNotFound();
}
}
/**
* Инициализация
*
* @return null
*/
public function Init() {
/**
* Если пользователь не авторизован и не админ, то выкидываем его
*/
$this->oUserCurrent=$this->User_GetUserCurrent();
if (!$this->oUserCurrent or !$this->oUserCurrent->isAdministrator()) {
return $this->EventNotFound();
}
}

protected function RegisterEvent() {
$this->AddEvent('convert','EventConvert');
$this->AddEvent('reconvert','EventReConvert');
}
protected function RegisterEvent() {
$this->AddEvent('convert','EventConvert');
$this->AddEvent('reconvert','EventReConvert');
$this->AddEvent('ajaxconvert','EventAjaxConvert');
$this->AddEvent('ajaxreconvert','EventAjaxReConvert');
}


/**********************************************************************************
************************ РЕАЛИЗАЦИЯ ЭКШЕНА ***************************************
**********************************************************************************
*/
/**********************************************************************************
************************ РЕАЛИЗАЦИЯ ЭКШЕНА ***************************************
**********************************************************************************
*/

/**
* Автоматическое создание превью для топиков
*/
protected function EventConvert() {
if (isPost('submit_convert')) {
$this->Security_ValidateSendForm();
set_time_limit(0);
/**
* Автоматическое создание превью для топиков
*/
protected function EventConvert() {
if (isPost('submit_convert')) {
$this->Security_ValidateSendForm();
set_time_limit(0);

$iPage=1;
$iCount=0;
while ($aTopics=$this->PluginMainpreview_Main_GetTopics($iPage,20)) {
$iPage++;
foreach($aTopics as $oTopic) {
$this->PluginMainpreview_Main_SaveTopic($oTopic);
$iCount++;
}
}
$this->Message_AddNotice($this->Lang_Get('plugin.mainpreview.convert_end',array('count_topic'=>$iCount)));
}
}
$iPage=1;
$iCount=0;
while ($aTopics=$this->PluginMainpreview_Main_GetTopics($iPage,20)) {
$iPage++;
foreach($aTopics as $oTopic) {
$this->PluginMainpreview_Main_SaveTopic($oTopic);
$iCount++;
}
}
$this->Message_AddNotice($this->Lang_Get('plugin.mainpreview.convert_end',array('count_topic'=>$iCount)));
}
}

/**
* Переконвертация превью к новым размерам
*/
protected function EventReConvert() {
if (isPost('submit_reconvert')) {
$this->Security_ValidateSendForm();
set_time_limit(0);
protected function EventAjaxConvert(){
$this->Viewer_SetResponseAjax('json');
$this->Security_ValidateSendForm();
$iPage = $this->GetParam(0);
$iCount = 0;
if($aTopics=$this->PluginMainpreview_Main_GetTopics($iPage,20)){
foreach($aTopics as $oTopic) {
$this->PluginMainpreview_Main_SaveTopic($oTopic);
$iCount++;
}
$this->Message_AddNotice($this->Lang_Get('plugin.mainpreview.convert_end',array('count_topic'=>$iCount,'page_num'=>$iPage)));
return;
} else {
$this->Message_AddError($this->Lang_Get('plugin.mainpreview.convert_end',array('count_topic'=>$iCount,'page_num'=>$iPage)));
}
}

$iPage=1;
$iCount=0;
while ($aTopics=$this->PluginMainpreview_Main_GetTopics($iPage,30,array())) {
$iPage++;
foreach($aTopics as $oTopic) {
$this->PluginMainpreview_Main_ReMakePreview($oTopic);
$iCount++;
}
}
$this->Message_AddNotice($this->Lang_Get('plugin.mainpreview.reconvert_end',array('count_topic'=>$iCount)));
}
}
/**
* Переконвертация превью к новым размерам
*/
protected function EventReConvert() {
if (isPost('submit_reconvert')) {
$this->Security_ValidateSendForm();
set_time_limit(0);

$iPage=1;
$iCount=0;
while ($aTopics=$this->PluginMainpreview_Main_GetTopics($iPage,30,array())) {
$iPage++;
foreach($aTopics as $oTopic) {
$this->PluginMainpreview_Main_ReMakePreview($oTopic);
$iCount++;
}
}
$this->Message_AddNotice($this->Lang_Get('plugin.mainpreview.reconvert_end',array('count_topic'=>$iCount)));
}
}

protected function EventAjaxReConvert(){
$this->Viewer_SetResponseAjax('json');
$this->Security_ValidateSendForm();
$iPage = $this->GetParam(0);
$iCount = 0;
if($aTopics=$this->PluginMainpreview_Main_GetTopics($iPage,20)){
foreach($aTopics as $oTopic) {
$this->PluginMainpreview_Main_ReMakePreview($oTopic);
$iCount++;
}
$this->Message_AddNotice($this->Lang_Get('plugin.mainpreview.convert_end',array('count_topic'=>$iCount,'page_num'=>$iPage)));
return;
} else {
$this->Message_AddError($this->Lang_Get('plugin.mainpreview.convert_end',array('count_topic'=>$iCount,'page_num'=>$iPage)));
}
}
}
?>
24 changes: 12 additions & 12 deletions templates/language/russian.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,18 @@
* Русский языковой файл плагина
*/
return array(
'admin_list_convert' => 'Провести поиск и автоматическую генерацию превью для топиков',
'admin_list_reconvert' => 'Провести переконвертацию всех превью к новым размерам из конфига',
'submit_convert' => 'Запустить генерацию превью',
'submit_convert_notice' => 'Внимание! Если у вас много топиков, то процесс генерации может занять длительное время. ',
'submit_reconvert' => 'Запустить перегенерацию превью',
'submit_reconvert_notice' => 'Внимание! Если у вас много топиков, то процесс перегенерации может занять длительное время. ',
'convert_end' => 'Проверено топиков %%count_topic%%',
'reconvert_end' => 'Переконвертировано топиков %%count_topic%%',
'form_preview_image_delete' => 'Удалить превью',
'form_preview_image_delete_auto' => 'автоматическое',
'form_preview_image' => 'Превью топика',
'form_preview_image_notice' => 'Вы можете загрузить картинку, которая будет превью топика на главной странице',
'admin_list_convert' => 'Провести поиск и автоматическую генерацию превью для топиков',
'admin_list_reconvert' => 'Провести переконвертацию всех превью к новым размерам из конфига',
'submit_convert' => 'Запустить генерацию превью',
'submit_convert_notice' => 'Внимание! Если у вас много топиков, то процесс генерации может занять длительное время. ',
'submit_reconvert' => 'Запустить перегенерацию превью',
'submit_reconvert_notice' => 'Внимание! Если у вас много топиков, то процесс перегенерации может занять длительное время. ',
'convert_end' => 'Проверено топиков %%count_topic%% (страница %%page_num%%)',
'reconvert_end' => 'Переконвертировано топиков %%count_topic%% (страница %%page_num%%)',
'form_preview_image_delete' => 'Удалить превью',
'form_preview_image_delete_auto' => 'автоматическое',
'form_preview_image' => 'Превью топика',
'form_preview_image_notice' => 'Вы можете загрузить картинку, которая будет превью топика на главной странице',
);

?>
28 changes: 25 additions & 3 deletions templates/skin/default/actions/ActionMain/convert.tpl
Original file line number Diff line number Diff line change
@@ -1,9 +1,31 @@
{include file='header.tpl'}

<form action="" method="POST">
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
{$aLang.plugin.mainpreview.submit_convert_notice}
<input type="submit" name="submit_convert" value="{$aLang.plugin.mainpreview.submit_convert}">
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
{$aLang.plugin.mainpreview.submit_convert_notice}
<input type="submit" name="submit_convert" value="{$aLang.plugin.mainpreview.submit_convert}">
</form>

<script type="text/javascript">
var pages = $
function ajaxRecurs(url,page_num){
ls.ajax(url+'/'+page_num,{},function(response){
if(response.bStateError){
ls.msg.error(response.sMsg);
} else {
ls.msg.notice(response.sMsg);
page_num++;
ajaxRecurs(url,page_num);
}
});
}

function ajaxConvert(){
ajaxRecurs(aRouter['mainpreview']+'ajaxconvert',1);
}

</script>

<a href="#" onclick="ajaxConvert(); return false">Ajax convert</a>

{include file='footer.tpl'}
28 changes: 25 additions & 3 deletions templates/skin/default/actions/ActionMain/reconvert.tpl
Original file line number Diff line number Diff line change
@@ -1,9 +1,31 @@
{include file='header.tpl'}

<form action="" method="POST">
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
{$aLang.plugin.mainpreview.submit_reconvert_notice}
<input type="submit" name="submit_reconvert" value="{$aLang.plugin.mainpreview.submit_reconvert}">
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
{$aLang.plugin.mainpreview.submit_reconvert_notice}
<input type="submit" name="submit_reconvert" value="{$aLang.plugin.mainpreview.submit_reconvert}">
</form>

<script type="text/javascript">
var pages = $
function ajaxRecurs(url,page_num){
ls.ajax(url+'/'+page_num,{},function(response){
if(response.bStateError){
ls.msg.error(response.sMsg);
} else {
ls.msg.notice(response.sMsg);
page_num++;
ajaxRecurs(url,page_num);
}
});
}

function ajaxConvert(){
ajaxRecurs(aRouter['mainpreview']+'ajaxreconvert',1);
}

</script>

<a href="#" onclick="ajaxConvert(); return false">Ajax convert</a>

{include file='footer.tpl'}