Перейти к содержанию
CMSTOOLS.org - форум поддержки и развития CMS

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


Рекомендуемые сообщения

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
Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...
  • 10 месяцев спустя...
  • 2 месяца спустя...

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

 

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

Ссылка на комментарий
Поделиться на другие сайты

  • 2 года спустя...
  • 1 месяц спустя...
  • 4 недели спустя...

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

  • Downvote 1
Ссылка на комментарий
Поделиться на другие сайты

  • 3 года спустя...
×
×
  • Создать...