Olá galera, fiz essa atualização para o sistema de TAG criado pelo Felipe Prado


O que tem de diferente do sistema que já tem disponível em outros sites?


-Você pode por uma cor de sua preferência na TAG, também possui cores pre-configuradas para escolha.. [Somente membros podem ver os links. ] [Somente membros podem ver os links. ]
-Adicionado opção de editar a tag quando for editar uma noticia. [Somente membros podem ver os links. ]
-Adicionado TAG quando estiver lendo a noticia, ou quando está visualizando a lista de noticias. [Somente membros podem ver os links. ] [Somente membros podem ver os links. ]
-Criado arquivos já configurados para os 4 templates padrões do musite (sunonline, ja_sanidine_free, refresh, darkstyle)


Vou postar um tutorial para estar configurando em qualquer modelo do MuSite caso use templates personalizados.


FAÇA UM BACKUP DO SEU ARQUIVO ORIGINAL ANTES DE FAZER QUALQUER ALTERAÇÃO
TENHA BASTANTE ATENÇÃO, UM MINIMO ERRO VAI FAZER O SISTEMA NÃO FUNCIONAR!!


Passo1: Editando ldhome.class.php


Procure a linha:

Código:
$tempTpl .= "<li><div style=\"border-bottom-color:#C2CAD3; border-bottom-width:thin; border-bottom-style:dotted;\"><a href=\"?page=readNotice&amp;id=". $findNotices->id ."\">". $findNotices->subject ."</a> - [". date("d/m/Y g:i a",$findNotices->date) ."]</div></li>";
Substitua por:

Código:
$tempTpl .= "<li><div style=\"border-bottom-color:#C2CAD3; border-bottom-width:thin; border-bottom-style:dotted;\"><a href=\"?page=readNotice&amp;id=". $findNotices->id ."\"><font color =\"". $findNotices->tagcolor ."\">[". $findNotices->tag ."]</font> ". $findNotices->subject ."</a> - [". date("d/m/Y g:i a",$findNotices->date) ."]</div></li>";
Feito isso, salve o arquivo e feche.

Passo 2: Editando ldpaneladmin.class

Procure por:

Código:

    private function optionLoadAddNotice()
        {
            global $ldTpl;
            if($_GET['Write'] == true)
            {
                if(empty($_POST['subject']) == true || empty($_POST['content']) == true) return $ldTpl->set("RESULTTPL", "<div class='qdestaques'>".LDPA_FILL_ALL_INPUTS."</div>");
                $newContent = str_replace("<?","", base64_decode($_POST['content']));
                $newContent = str_replace("?>","", $newContent);
                $this->query("INSERT INTO dbo.webNotices (subject,content,date) VALUES ('". $_POST['subject'] ."','". base64_encode($newContent) ."','". time() ."')");
                $tempTpl = "<div class='qdestaques2'>".LDPA_NOTICE_ADD_TEXT_SUCCESS."</div>";
                ldPanelAdmin::writeLog(10, '', '', $_POST['subject']);
            }
            $ldTpl->set("RESULTTPL", $tempTpl);
        }
E substitua por

Código:

        private function optionLoadAddNotice()
        {
            global $ldTpl;
            if($_GET['Write'] == true)
            {
                if(empty($_POST['tag']) == true || empty($_POST['tagcolor']) == true || empty($_POST['subject']) == true || empty($_POST['content']) == true) return $ldTpl->set("RESULTTPL", "<div class='qdestaques'>".LDPA_FILL_ALL_INPUTS."</div>");
                $newContent = str_replace("<?","", base64_decode($_POST['content']));
                $newContent = str_replace("?>","", $newContent);
                $this->query("INSERT INTO dbo.webNotices (tag,tagcolor,subject,content,date) VALUES ('". $_POST['tag'] ."','". $_POST['tagcolor'] ."','". $_POST['subject'] ."','". base64_encode($newContent) ."','". time() ."')");
                $tempTpl = "<div class='qdestaques2'>".LDPA_NOTICE_ADD_TEXT_SUCCESS."</div>";
                ldPanelAdmin::writeLog(10, '', '', $_POST['subject']);
            }
            $ldTpl->set("RESULTTPL", $tempTpl);
        }
Nesse mesmo arquivo você procura por:

Código:

        private function optionLoadModifyNotice()
        {
            global $ldTpl;
            $findNoticesQ = $this->query("SELECT id,subject FROM dbo.webNotices ORDER BY id DESC");
            while($findNotices = mssql_fetch_object($findNoticesQ))
            {
                $tempOptionList .= "<option value=\"". $findNotices->id ."\">". $findNotices->subject ."</option>";
            }
            if($_GET['Write'] == true)
            {
                $findNoticeDetailsQ = $this->query("SELECT * FROM dbo.webNotices WHERE id=".(int)$_POST['id']);
                $findNoticeDetails = mssql_fetch_object($findNoticeDetailsQ);
                $tempTpl .= "<form action=\"?page=paneladmin&amp;option=MODIFY_NOTICE&amp;SubWrite=true&amp;id=". $findNoticeDetails->id ."\" method=\"post\" name=\"noticeFrom\">
                                <em>".LDPA_NOTICE_ALTER_TEXT_TITLE.":</em><br /><input name=\"subject\" type=\"text\" value=\"". $findNoticeDetails->subject ."\" maxlength=\"50\" /> <br />
                                <em>".LDPA_NOTICE_ALTER_TEXT_NOTICE.":</em><br /><textarea name=\"content\" id=\"content\">". base64_decode($findNoticeDetails->content) ."</textarea><br />
                                <input type=\"submit\" value=\"".LDPA_NOTICE_ALTER_TEXT_SUBMIT."\" class=\"button\" onclick=\"noticeFrom.content.value = base64Encode(noticeFrom.content.value);\" />
                              </form>";
            
            }
            if($_GET['SubWrite'] == true && is_numeric($_GET['id']) == true)
            {
                $newContent = str_replace("<?","", base64_decode($_POST['content']));
                $newContent = str_replace("?>","", $newContent);
                $this->query("UPDATE dbo.webNotices SET subject='". $_POST['subject'] ."', content='". base64_encode($newContent) ."', date=". time() ." WHERE id=".(int)$_GET['id']);
                $tempTpl .= "<div class='qdestaques2'>".LDPA_NOTICE_ALTER_TEXT_SUCCESS."</div>";
                ldPanelAdmin::writeLog(12, '', '', $_POST['subject']); 
            }
            
            $ldTpl->set("OPTIONS_ID_SELECT", $tempOptionList);
            $ldTpl->set("RESULTTPL", $tempTpl);
        }
E substitui por:

Código:

        private function optionLoadModifyNotice()
        {
            global $ldTpl;
            $findNoticesQ = $this->query("SELECT id,subject FROM dbo.webNotices ORDER BY id DESC");
            while($findNotices = mssql_fetch_object($findNoticesQ))
            {
                $tempOptionList .= "<option value=\"". $findNotices->id ."\">". $findNotices->subject ."</option>";
            }
            if($_GET['Write'] == true)
            {
                $findNoticeDetailsQ = $this->query("SELECT * FROM dbo.webNotices WHERE id=".(int)$_POST['id']);
                $findNoticeDetails = mssql_fetch_object($findNoticeDetailsQ);
                $tempTpl .= "<form action=\"?page=paneladmin&amp;option=MODIFY_NOTICE&amp;SubWrite=true&amp;id=". $findNoticeDetails->id ."\" method=\"post\" name=\"noticeFrom\">
                                <em>Tag:</em><br /><input name=\"tag\" type=\"text\" value=\"". $findNoticeDetails->tag ."\" maxlength=\"50\" /> <br />
                                <em>Cor da Tag:</em><br /><input name=\"tagcolor\" type=\"text\" value=\"". $findNoticeDetails->tagcolor ."\" maxlength=\"50\" /> <br />
                                <em>".LDPA_NOTICE_ALTER_TEXT_TITLE.":</em><br /><input name=\"subject\" type=\"text\" value=\"". $findNoticeDetails->subject ."\" maxlength=\"50\" /> <br />
                                <em>".LDPA_NOTICE_ALTER_TEXT_NOTICE.":</em><br /><textarea name=\"content\" id=\"content\">". base64_decode($findNoticeDetails->content) ."</textarea><br />
                                <input type=\"submit\" value=\"".LDPA_NOTICE_ALTER_TEXT_SUBMIT."\" class=\"button\" onclick=\"noticeFrom.content.value = base64Encode(noticeFrom.content.value);\" />
                              </form>";


            }
            if($_GET['SubWrite'] == true && is_numeric($_GET['id']) == true)
            {
                $newContent = str_replace("<?","", base64_decode($_POST['content']));
                $newContent = str_replace("?>","", $newContent);
                $this->query("UPDATE dbo.webNotices SET tag='". $_POST['tag'] ."', tagcolor='". $_POST['tagcolor'] ."', subject='". $_POST['subject'] ."', content='". base64_encode($newContent) ."', date=". time() ." WHERE id=".(int)$_GET['id']);
                $tempTpl .= "<div class='qdestaques2'>".LDPA_NOTICE_ALTER_TEXT_SUCCESS."</div>";
                ldPanelAdmin::writeLog(12, '', '', $_POST['subject']);
            }


            $ldTpl->set("OPTIONS_ID_SELECT", $tempOptionList);
            $ldTpl->set("RESULTTPL", $tempTpl);
        }
Passo 4: Editando ldnotice.class

Esse arquivo não vi diferença em todos musites que editei, então pode substituir ele por completo pelo que está pra download
mas caso seja necessário editar o seu, as linhas alteradas foram a 20,25,32 e 39

Passo 4: Rode essa query

Código:

CREATE TABLE [dbo].[webNotices] ( [id] [smallint] IDENTITY (1, 1) NOT NULL ,
[tag] [varchar] (20) COLLATE Latin1_General_CI_AS NOT NULL ,
[tagcolor] [varchar] (20) COLLATE Latin1_General_CI_AS NOT NULL ,
[subject] [varchar] (50) COLLATE Latin1_General_CI_AS NOT NULL ,
[content] [text] COLLATE Latin1_General_CI_AS NOT NULL ,
[date] [varchar] (10) COLLATE Latin1_General_CI_AS NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

Lembrando que se você já tiver a tabela webNotices criadas no seu SQL irá mostrar um erro dizendo que já existe, nesse caso você tem que deletar a tabela webNotices antes de rodar a query (se tiver noticias postadas serão apagadas)


Passo 5: se você usa um template diferente dos padrões do musite terá que editar o arquivo paneladmin[ADD_NOTICE].tpl, nessa parte vai precisar de um certo conhecimento para editar corretamente seguindo o padrão que seu site está

estou deixando abaixo a forma que está no templare refresh

Você deve adicionar essas linhas logo acima de:

Código:
<em>Titulo:</em><br /><input name="subject" type="text" value="" maxlength="50" /> <br />

Leia com atenção o que eu falei acima pois dessa vez você não vai substituir nada, só vai acrescentar as linhas abaixo:

Código:

                           <em>Tag:</em><br /><input name="tag" type="text" value="" maxlength="50" placeholder="Update, Aviso, etc.." /> <br />
                           <em>Cor da Tag:</em><br /><select name="tagcolor">
                        <option value="#FF0000">Vermelho #FF0000</font></option>
                        <option value="#FFA500">Laranja #FFA500</option>
                        <option value="#FFFF00">Amarelo #FFFF00</option>
                        <option value="#008000">Verde #008000</option>
                        <option value="#0000FF">Azul #0000FF</option>
                        <option value="#4B0082">Indigo #4B0082</option>
                        <option value="#EE82EE">Violeta #EE82EE</option>
                        <option value="#000000">Preto #000000</option>
                        <option value="#FF1493">Rosa #FF1493</option>
                        </select> <br />
É isso, se seguir o tutorial certinho dará certo


Fotos:


[Somente membros podem ver os links. ]
[Somente membros podem ver os links. ]
[Somente membros podem ver os links. ]
[Somente membros podem ver os links. ]
[Somente membros podem ver os links. ]
[Somente membros podem ver os links. ]
[Somente membros podem ver os links. ]
[Somente membros podem ver os links. ]


Abaixo os arquivos já configurados.

Download via MEGA: [Somente membros podem ver os links. ]
Download link direto: [Somente membros podem ver os links. ]


Créditos:


Felipe Prado
IBHost - [Somente membros podem ver os links. ]