Jump to content

[хак/модуль]Модернизация Мобильной версии


Recommended Posts

1419106650_mobile.png
 
 
 

Добавляем возможность загрузки главной фотографии в мобильной версии.

 
 
 
Открываем templates\mobile\profile.tpl
Вставляем:
<blockquote><div class="blockcode"><blockquote>[owner]
<form name="upload" enctype="multipart/form-data" action="/index.php?go=m_editprofile&act=upload" method="post" >
<input type="hidden" name="size" />
<input type="file" name="uploadfile" /><br/>
<input type='Submit' name='Submit'>
</form>
[/owner]
 
 
Скачиваем файл и закидываем в  папку system/modules/ (файл дублирован от editprofile.php и немного изменен).

save.png

 
Пусть не особо красиво но работает и в "Opera Mini" и во всех браузерах.
 
Так же в файле .htaccess вставляем:
 
# Редактирование страницы(мобильная версия)
        RewriteRule ^m_editmypage(/?)+$ index.php?go=m_editprofile [L]
 
А так же в файле mod.php вставить:
 
//Редактирование моей страницы(моб версия)
        case "m_editprofile":
                $spBar = true;
                include ENGINE_DIR.'/modules/m_editprofile.php';
        break;
 
 
 
Есть маленькие изменения к способу добавления главной фотографии.
способ тот же, только подходит для всех сборок.
не которые шаги те же почти... И так начнем
 
[owner]
<form name="upload" enctype="multipart/form-data" action="/index.php?go=editprofile&act=upload" method="post" >
<input type="hidden" name="size" />
<input type="file" name="uploadfile" /><br/>
<input type='Submit' name='Submit'>
</form>
[/owner]
 
открываем файл system\modules\editprofile.php
ищем :
 
//Обновляем имя фотки в бд
                        $path = $config['home_url'].'uploads/users/'.$user_id.'/'.$image_rename.$res_type;
                        $imsize = getimagesize($path);
                                                $db->query("UPDATE `".PREFIX."_users` SET user_photo = '{$image_rename}{$res_type}', user_wall_id = '{$dbid}', user_photo_style = '$imsize[0]|$imsize[1]' WHERE user_id = '{$user_id}'");
                                                
                                                echo $config['home_url'].'uploads/users/'.$user_id.'/'.$image_rename.$res_type;
 
                                                mozg_clear_cache_file('user_'.$user_id.'/profile_'.$user_id);
                                                mozg_clear_cache();
                                        } else
                                                echo 'bad';
                                } else
                                        echo 'big_size';
                        } else
                                echo 'bad_format';
 
                        die();
                break;
 
И после:
echo 'bad_format';
 
Вставляем:
if($config['temp'] == 'mobile'){
                                header("Location: /");
 
Готово!
___________________________________________________________________________________________________
 

Добавление фотографий в альбом

 
 
 
Файл  albums_addphotos.tpl кидаем в папку нашего шаблона , пусть она называется mobile, тогда кидаем сюда templates/mobile/
 
 
В файле mod.php также добавляем:
 
//Альбомы(моб версия)
        case "m_albums":
                $spBar = true;
                if($config['album_mod'] == 'yes')
                        include ENGINE_DIR.'/modules/m_albums.php';
                else {
                        $user_speedbar = 'Информация';
                        msgbox('', 'Сервис отключен.', 'info');
                }
        break;
 
 
 
В файл \templates\mobile\albums_top.tpl добавляем:
 
[owner]
 <div class="new_foto">
 <a href="/albums/add/{aid}" onclick="Page.Go(this.href); return false;">Добавить фотографии</a>
 </div>
[/owner]
 
 
в Style.css который в шаблоне находиться добавляем:
 
.new_foto {
display: block;
padding: 12px;
background-color: #E4E8ED;
text-align: center;
font-weight: 700;
font-size: medium;
margin-top: -1px;
}
 
И напоследок прикрепленный файл m_albums.php кидаем в папку modules.
Немного замечу что файл albums_addphotos.tpl отвечает еще за загрузку фото после создания альбома.
 
А теперь файлы которые нужны для данных обновлений моб. версии:

save.png

 
Небольшое примечание:
 
При добавлении данного кода:
[owner]
 <div class="new_foto">
 <a href="/albums/add/{aid}" onclick="Page.Go(this.href); return false;">Добавить фотографии</a>
 </div>
[/owner]
 
В файл  \templates\mobile\albums_top.tpl  добавляем между тегами:
 
[view]
[/view]
 
 
Если у вас не показывает альбомы:
 
Определяем теги которые не определены
в profile.php
вставляем код ниже
 
///////////////////////////////* Последние 5 фотографий *////////////// 
             $photo_cnt = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ", false);
                         if ($photo_cnt['cnt']){
                         $sql_photos_view = $db->super_query("SELECT * FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ORDER BY id DESC LIMIT 6",1);
                                                 if($config['temp'] == 'mobile'){
$sql_photos_view = $db->super_query("SELECT * FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ORDER BY id DESC LIMIT 2",1);
} 
                         if($sql_photos_view){
                          foreach($sql_photos_view as $row_view_photos)
                          {
                           $photos_view_albums .= "<a onclick=\"Photo.Show(this.href); return false\" href=\"/photo{$row_view_photos['user_id']}_{$row_view_photos['id']}_{$row_view_photos['album_id']}\"><img style=\"margin-left:2px;\" src=\"/uploads/users/{$row_view_photos['user_id']}/albums/{$row_view_photos['album_id']}/c_{$row_view_photos['photo_name']}\" width=\"92\" ></a>";
                          }
                         } else {
                          $photos_view_albums = '<br><div class="info_center">Нет загруженных фотографий.</div>';
                         }
                         $tpl->set('{photos_view_albums}', $photos_view_albums); 
                         $tpl->set('[photos]', '');
                         $tpl->set('[/photos]', '');
                         $tpl->set('{photos_num}', $photo_cnt['cnt']);    
                         }else
                         $tpl->set_block("'\\[photos\\](.*?)\\[/photos\\]'si","");
 
Замечу, что
if($config['temp'] == 'mobile')
 
определяет с какой версии сидишь и выводит столько фото на странице
лимиты фото сами ищите как менять, потому что это уже и так пережевано
 
Готово!
___________________________________________________________________________________________________
 
 

Добавление фотографий в альбом сделали, теперь надо их удалить.

Удаление фотографий из альбома.

 

 
Открываем файл шаблон/js/main.js и вставляем например в самый низ код:
 
//Удаление фотографии из альбома
var Photos = {
        
        
        
        
        MsgDelete: function(id, aid, type){
                Box.Show('del_photo_'+id, '400', lang_title_del_photo, '<div style="padding:15px;">'+lang_del_photo+'</div>', lang_box_canсel, lang_box_yes, 'Photos.Delete('+id+', '+aid+', '+type+'); return false');
        },
        Delete: function(id, aid, type){
                $('#box_loading').show();
                $.get('/index.php?go=albums&act=del_photo', {id: id}, location.reload(), function(){
                        Box.Close('del_photo_'+id);
                        if(!type){
                                $('#a_photo_'+id).remove();
                                $('#p_jid'+id).remove();
 
                                updateNum('#photo_num');
                        } else
                                $('#pinfo_'+id).html(lang_photo_info_delok);
                                
                });
                
        }
}
 
 
Далее открываем \templates\mobile\photo_view.tpl и вставляем:
 
<a href="/" onclick="Photos.MsgDelete({id}, {aid}, 1); return false"><div>Удалить фотографию</div></a>
 
Готово!
___________________________________________________________________________________________________
 
 

Добавление групп в моб. версии

 
 
 
Заходим в system/mod.php и ставим туда след. код:
 
//Сообщества(мобильная версия)
        case "m_groups":
                include ENGINE_DIR.'/modules/m_groups.php';
        break;
 
 
Загружаем и разархивируем файл в папку system/modules/
 

save.png

 
Далее идем в templates\mobile\public\main.tpl и вставляем код:
 
[admin]
<form name="upload" enctype="multipart/form-data" action="/index.php?go=m_groups&act=loadphoto&id={id}" method="post" >
<input type="hidden" name="size" />
<input type="file" name="uploadfile" /><br/>
<input type='Submit' name='Submit'>
</form>
[/admin]
 
 
Для создания групп в сообществе с мобильной версии вставляем код:
 
<a href="/groups" onclick="groups.createbox(); return false">Создать сообщество</a>
 
В \templates\mobile\groups\head.tpl сразу после:
<a href="/groups?act=admin">Управление</a>
 
Далее идем в наш \templates\mobile\js\main.js и в самы низ вставляем:
 
//GROUPS
var groups = {
        sendver: function(i){
                Page.Loading('start');
                $.post('/index.php?go=groups&act=sendver', {public_id: i}, function(d){
                        Page.Loading('stop');
                        if(d == 1) addAllErr('Для того, чтоб эта функция была активна, Вы должны верифицировать свою страницу', 5000);
                        else {
                                $('#sendver').html('Заявка отправлена');
                                $('#sendverlnk').attr('onclick', 'return false');
                        }
                });
        },
        createbox: function(){
                Box.Show('create', 490, lang_groups_new, '<div style="padding:20px"><div class="videos_text">Название</div><input type="text" class="videos_input" id="title" maxlength="65" /></div>', lang_box_canсel, lang_groups_cretate, 'groups.creat()', 100, 0, 0, 0, 0, 'title');
                $('#title').focus();
        },
        creat: function(){
                var title = $('#title').val();
                if(title != 0){
                        $('#box_loading').show();
                        ge('box_butt_create').disabled = true;
                        $.post('/index.php?go=groups&act=send', {title: title}, function(id){
                                if(id == 'antispam_err')
                                        AntiSpam('groups');
                                else
                                        Page.Go('/public'+id);
 
                                Box.Close();
                        });
 
                } else
                        setErrorInputMsg('title');
        }}
 
 
Готово!
___________________________________________________________________________________________________
 
 
 
Автор гайда:rifmatch
Большое ему за это спасибо!
  • Upvote 2
Link to comment
Share on other sites

  • 2 months later...
  • 10 months later...
  • 2 months later...

Добавления групп в  моб. версии

 

  проблема  такова  что  после  установки  этого  модуля  то  в  группе  нельзя  выставлять  записи  и  ставить  лаки  не работает  .

Link to comment
Share on other sites

  • 2 years later...
  • 1 month later...
  • 4 weeks later...

Мой вам совет друзья не подключайте зря дополнительные коды так как в них нету смысла просто сделайте на тех что есть они работают в любой версии просто все заключаеться в js  подключите js в моб версии с полной версии и будет работать с мобилки и группы и редактирование 

  • Downvote 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...