Anasayfa FORUMLAR Üye Girişi Dosyalar Dersler İpuçları Yardımcı Araçlar Hakkımızda
KİMLER BAĞLI
Toplam Üye: 32638
Aktif Üye: 0
Aktif Ziyaretçi: 1211
Üye Adı
Şifre
Beni Hatırla
          Yeni Üye KayıtYeni Üye Kayıt
          Şifremi UnuttumŞifremi Unuttum
FORUMLAR
 facebookda paylas eklenti..
(11606 okuma, 11 yanıt)
 Üyelerin profilerine yoru..
(11456 okuma, 10 yanıt)
 Forum Mesajları..
(7139 okuma, 4 yanıt)
 Forumun üst bölümüne nası..
(6205 okuma, 2 yanıt)
 Power Nuke Hakkinda Uzma..
(16104 okuma, 19 yanıt)
 mesajı begenme eklentisi..
(7124 okuma, 4 yanıt)
 imza karakterlerinin sayı..
(6499 okuma, 4 yanıt)
 Forumda Embed kodlar..
(66929 okuma, 11 yanıt)
 Eğitim Sitesi için banner..
(8468 okuma, 5 yanıt)
 Forum Da ki katogorileri ..
(6272 okuma, 5 yanıt)
 Forum Admin Panelde Kulla..
(4246 okuma, 1 yanıt)
 lewel mod..
(7040 okuma, 5 yanıt)
 Avatar boyunu ayarlama..
(7046 okuma, 5 yanıt)
 Foruma iframe Kodları Cal..
(6377 okuma, 4 yanıt)
 Üye paneli..
(12199 okuma, 14 yanıt)
 popüler Hikaye Yan Blok..
(3766 okuma, 0 yanıt)
 Rütbe resmi..
(5435 okuma, 3 yanıt)
 Alt Forum Ekletisinde Alt..
(6046 okuma, 3 yanıt)
 Advanced Username Color..
(11157 okuma, 12 yanıt)
 body kismi hangi nuke say..
(5458 okuma, 2 yanıt)
 Forumda Son konuları Site..
(3741 okuma, 0 yanıt)
 wep sitesi yapanlar..
(4626 okuma, 2 yanıt)
 Bu Eklentinin Aynısı Lazı..
(9724 okuma, 11 yanıt)
 Forumu düzenleyeyim derke..
(5284 okuma, 3 yanıt)
 www.teselliver.com siteye..
(5003 okuma, 2 yanıt)
 Php Nuke BB Calısmaları..
(3580 okuma, 1 yanıt)
 İstek İstatistikler Modu..
(4778 okuma, 2 yanıt)
 Formumuzu Gelistirmek Ve ..
(3331 okuma, 0 yanıt)
 Arkadaşlar cinsiyet ve do..
(8003 okuma, 6 yanıt)
 7.9 Blue Editoins Formunu..
(3644 okuma, 0 yanıt)
 mesajdan sonra sponsor re..
(4716 okuma, 2 yanıt)
 Buyrun yapamayanlar için ..
(33240 okuma, 38 yanıt)
 Entegreler Sıtede bulamad..
(4091 okuma, 1 yanıt)
 En Gelısmıs Phpbb Sürümü ..
(6625 okuma, 5 yanıt)
 konu başlıkları hazır for..
(3908 okuma, 0 yanıt)
 Eklenti..
(4083 okuma, 1 yanıt)
 AJAX Sohbet Odası - Shout..
(13987 okuma, 17 yanıt)
 Sohbet Modu..
(5730 okuma, 3 yanıt)
 Smilar Topics..
(4032 okuma, 1 yanıt)
 Foruma Small Shoutbox..
(3317 okuma, 0 yanıt)
 Php Nuke 8.0 A FCK Editör..
(6595 okuma, 5 yanıt)
 mod fourum message..
(4903 okuma, 2 yanıt)
 Php Nuke Formunu Nasıl Ge..
(9214 okuma, 10 yanıt)
 Bu eklentinin adı nedir ?..
(5147 okuma, 2 yanıt)
 Cash Mod 221 - Türkçe [MO..
(6382 okuma, 3 yanıt)
 Kilitlenen Konunun Üzerin..
(16491 okuma, 16 yanıt)
 Forum da Bu Hatayı veriyo..
(7271 okuma, 4 yanıt)
 phpnuke foruma güvenlik k..
(5795 okuma, 3 yanıt)
 daha önce bu konuya bakan..
(6002 okuma, 3 yanıt)
 BBtoNuke 2.22 to BBtoNuke..
(3762 okuma, 0 yanıt)
Netopsiyon Online: Forums
Netopsiyon Online :: Başlık görüntüleniyor - News Modülüne Eklenti
 AramaArama   RütbelerRütbeliler   ProfilProfil   GirişGiriş 


News Modülüne Eklenti

 
Bu forum kilitlendi: mesaj gönderemez, cevap yazamaz ya da başlıkları değiştiremezsiniz   Bu başlık kilitlendi: mesajları değiştiremez ya da cevap yazamazsınız    Netopsiyon Online Forum Ana Sayfa -> Php-Nuke -> NukeBB Eklentileri
Önceki başlık :: Sonraki başlık  
Yazar Mesaj
canpolat03
Mesaj: 300+
Mesaj: 300+





Kayıt: Feb 06, 2006
Mesajlar: 340
Konum: Türkiye

MesajTarih: 2009-01-19, 00:16:11    Mesaj konusu: News Modülüne Eklenti Alıntıyla Cevap Gönder

Selamün Aleyküm...

Arkadaşlar acaba News Modülünde yayınladığımız haberler kaç sefer okunmuş....

Böyle bir kod varmı acaba? Varsa nereden bulabiliriz...
İlginize Şimdiden teşekkürler. Selam ile.


Kahrolsun İsrail.
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder
Bu Site Google Adsense ile Gelir Elde Ediyor









Tarih: 2024-06-24, 12:48:36    Mesaj konusu: Forum Arası Reklamlar


Başa dön
Carrot
Mesaj: 200+
Mesaj: 200+





Kayıt: Aug 10, 2008
Mesajlar: 290

MesajTarih: 2009-01-19, 00:51:38    Mesaj konusu: Alıntıyla Cevap Gönder

News Modülünün kendisinde öyle bir eklenti mevcut zaten. Extra hiçbirşey yapmanızda gerekmiyor kendiliğinden gözüküyor zaten .. Siz görememişsinizdir.
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder
sodem38
Mesaj: 100+
Mesaj: 100+





Kayıt: Jul 04, 2008
Mesajlar: 133

MesajTarih: 2009-01-19, 12:15:05    Mesaj konusu: Alıntıyla Cevap Gönder

NEArticle.php veya article.php de uygun bir yere şunu ekle bakalım

OpenTable();
echo "<center> Bu haberi okuyan <b><font> $counter</b>.</font> kişisiniz.</center>" ;
CloseTable();
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
KURTCEBENOYAN
Mesaj: 200+
Mesaj: 200+





Kayıt: Sep 07, 2005
Mesajlar: 208

MesajTarih: 2009-01-19, 15:00:25    Mesaj konusu: Alıntıyla Cevap Gönder

Alıntı:
Bu haberi okuyan . kişisiniz.

şeklinde çıktı sayaç çalışmıyor yani.[/code]
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
sodem38
Mesaj: 100+
Mesaj: 100+





Kayıt: Jul 04, 2008
Mesajlar: 133

MesajTarih: 2009-01-19, 15:37:47    Mesaj konusu: Alıntıyla Cevap Gönder

NEArticle.php'de
$ratings = intval($row['ratings']);
bunun bir altına aşağıdaki kodu ekleyelim.

$counter = intval($row['counter']);
$counter++;
$db->sql_freeresult($result);
$db->sql_query("UPDATE `".$prefix."_stories` SET `counter`='$counter' WHERE `sid`='$sid'");

Bende bu şekil çıkıyor.
http://www.egitimsistem.com/egitim/html/News-op-NEArticle-sid-616.html
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
KURTCEBENOYAN
Mesaj: 200+
Mesaj: 200+





Kayıt: Sep 07, 2005
Mesajlar: 208

MesajTarih: 2009-01-19, 18:05:16    Mesaj konusu: Alıntıyla Cevap Gönder

galiba haber modüllerimizin farklı olmasından kaynaklanan bir durum bende çıkmadı.
Bendeki normal News Modülü ve article.php dosyası var
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
canpolat03
Mesaj: 300+
Mesaj: 300+





Kayıt: Feb 06, 2006
Mesajlar: 340
Konum: Türkiye

MesajTarih: 2009-01-19, 20:16:43    Mesaj konusu: news modülü Alıntıyla Cevap Gönder

bende de article.php doyası var...
SODEM38 'in yazdığı kodu ekledim. Ama çalışmıyor...
Bu haberi okuyan . kişisiniz. (bu şekilde görüntü aldım)
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder
evinzencisi
Mesaj: 200+
Mesaj: 200+





Kayıt: Nov 02, 2005
Mesajlar: 254

MesajTarih: 2009-01-19, 20:54:08    Mesaj konusu: Alıntıyla Cevap Gönder

article.php'yi açın şu kısmı bulun;

Kod:
$result = $db->sql_query("select catid, aid, time, title, hometext, bodytext, topic, informant, notes, acomm, haspoll, pollID, score, ratings FROM ".$prefix."_stories where sid='$sid'");
if ($numrows = $db->sql_numrows($result) != 1) {
   Header("Location: index.php");


Buraya counter değişkenini ekleyin

yani şöyle olacak

Kod:
$result = $db->sql_query("select catid, aid, time, title, hometext, bodytext, topic, informant, notes,counter, acomm, haspoll, pollID, score, ratings FROM ".$prefix."_stories where sid='$sid'");
if ($numrows = $db->sql_numrows($result) != 1) {
   Header("Location: index.php");
   die();
}


Daha sonra bu kodun hemen altında ki şu kısmı bulun;

Kod:
$row = $db->sql_fetchrow($result);
$catid = intval($row['catid']);
$aid = stripslashes($row['aid']);
$time = $row['time'];
$title = stripslashes(check_html($row['title'], "nohtml"));
$hometext = stripslashes($row['hometext']);
$bodytext = stripslashes($row['bodytext']);
$topic = intval($row['topic']);
$informant = stripslashes($row['informant']);
$notes = stripslashes($row['notes']);
$acomm = intval($row['acomm']);
$haspoll = intval($row['haspoll']);
$pollID = intval($row['pollID']);
$score = intval($row['score']);
$ratings = intval($row['ratings']);


buraya da şu kodu ekleyin $counter = $row['counter'];
yani şöyle olacak

Kod:
$row = $db->sql_fetchrow($result);
$catid = intval($row['catid']);
$aid = stripslashes($row['aid']);
$time = $row['time'];
$title = stripslashes(check_html($row['title'], "nohtml"));
$hometext = stripslashes($row['hometext']);
$bodytext = stripslashes($row['bodytext']);
$topic = intval($row['topic']);
$counter = $row['counter'];
$informant = stripslashes($row['informant']);
$notes = stripslashes($row['notes']);
$acomm = intval($row['acomm']);
$haspoll = intval($row['haspoll']);
$pollID = intval($row['pollID']);
$score = intval($row['score']);
$ratings = intval($row['ratings']);


Ve son aşama;
Şu kısmı bulun

Kod:
if($bodytext == "") {
   $bodytext = "$hometext$notes";
} else {
   $bodytext = "$hometext<br><br>$bodytext$notes";
}


ve şu şekilde değiştirin;

Kod:
if($bodytext == "") {
   $bodytext = "$hometext$notes";
} else {
   $bodytext = "$hometext<br><br>$bodytext$notes<br><i>Bu Haber $counter defa Okundu</i>";
}
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder
Bu Site Google Adsense ile Gelir Elde Ediyor









Tarih: 2024-06-24, 12:48:36    Mesaj konusu: Forum Arası Reklamlar


Başa dön
evinzencisi
Mesaj: 200+
Mesaj: 200+





Kayıt: Nov 02, 2005
Mesajlar: 254

MesajTarih: 2009-01-20, 00:16:37    Mesaj konusu: Alıntıyla Cevap Gönder

Dönüt yok mu? Sorununuz halloldu mu?
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder
GanJa
Mesaj: 300+
Mesaj: 300+





Kayıt: May 30, 2007
Mesajlar: 388
Konum: C:\Windows\System32

MesajTarih: 2009-02-22, 03:58:09    Mesaj konusu: Alıntıyla Cevap Gönder

eline sağlık evinzencisi
daş gibi çalışıyor problem yok.
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
juglanin
Mesaj: 500+
Mesaj: 500+





Kayıt: Dec 09, 2005
Mesajlar: 880

MesajTarih: 2009-02-22, 16:08:49    Mesaj konusu: Alıntıyla Cevap Gönder

peki flash haber bloguna tıklandıgında bunu nasil gosterebiliriz
Kod:
<?php
/****************************************************************/
/*                  TELIF HAKKI!                                  */
/*Bu script Ulushost Calisanlarinca hazirlanmis olup ücretsiz dagitilmaktadir */
/*2003-2008 UlusHost Bu scriptin telif haklarina dokunmadiginiz */
/*      surece istediginiz gibi kullanabilirsiniz               */
/*            Yazar: Ali MANAV (destek@ulushost.com                */
/*          http://www.ulushost.com                               */
/*          http://www.ulushost.info                            */
/****************************************************************/
/*               ..:: Manset Haber ::..                         */
/****************************************************************/
if ( !defined('BLOCK_FILE') ) {
    Header("Location: ../index.php");
    die();
}
$module_name = "News";
get_lang($module_name);
$neconfig = ne_get_configs();

$content ="<center>";
$content .="\n\n<!-- JoomlaWorks \"Frontpage Slideshow\" v1.7 starts here -->
<script language=\"j a v a s c r i p t\" type=\"text/j a v a s c r i p t\">
<!--
var embedFPSSCSS = '<' + 'style type=\"text/css\" media=\"all\">'
+ '@import \"blocks/mh/templates/".$neconfig['arayuz']."/template_css.php?w=".$neconfig['genislik']."&h=".$neconfig['yukseklik']."&sw=".$neconfig['uncutmenu']."&kmg=".$neconfig['kmesajgenis']."&numr=".$neconfig['numararenk']."&devr=".$neconfig['devamrenk']."&basr=".$neconfig['baslikrenk']."\";'
+ '</' + 'style>';
document.write(embedFPSSCSS);
-->
</script>";
$content .="<!--[if lte IE 7]>
<style type=\"text/css\" media=\"all\">
@import \"blocks/mh/templates/".$neconfig['arayuz']."/template_css_ie.css\";
</style>
<![endif]-->\n\n";

if ($neconfig['kodlamaturu']== 0) {
$content .="<script language=\"j a v a s c r i p t\" type=\"text/j a v a s c r i p t\" src=\"blocks/mh/engines/".$neconfig['javatipi']."-comp.js\"></script>
<script language=\"j a v a s c r i p t\" type=\"text/j a v a s c r i p t\" src=\"blocks/mh/engines/".$neconfig['javatipi']."-fpss-comp.js\"></script>\n";
} else {
$content .="<script language=\"j a v a s c r i p t\" type=\"text/j a v a s c r i p t\" src=\"blocks/mh/engines/".$neconfig['javatipi']."-fpss.php\"></script>\n";
}
$content .="<script language=\"j a v a s c r i p t\" type=\"text/j a v a s c r i p t\">
var CTRloadingTime = 600;
var CTRslideInterval = ".$neconfig['gosterimsuresi'].";
var CTRtransitionDuration = ".$neconfig['degisimsuresi'].";
var CTRtransitionText = ".$neconfig['degisimsuresi'].";
var CTRrotateAction = '".$neconfig['degisimtarzi']."';
var CTRtext_effect = ".$neconfig['animasyon'].";
</script>\n";
$content .="<div id=\"fpss-outer-container\">
    <div id=\"fpss-container\">
        <div id=\"fpss-slider\">
            <div id=\"slide-loading\"></div>
            <div id=\"slide-wrapper\">
                <div id=\"slide-outer\">";
global $prefix, $module_name, $multilingual, $currentlang, $db, $textcolor2, $bgcolor1;
$sql = "SELECT sid, title, hometext, bodytext, haberresim, comments, counter, time FROM ".$prefix."_stories $querylang ORDER BY sid DESC LIMIT 0,".$neconfig['gosterilecekhaber']."";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) {
    $sid = $row['sid'];
    $title = $row[title];
    $hometext = $row[hometext];
    $bodytext = $row[bodytext];
   $haberresim = $row[haberresim];
    $comtotal = $row[comments];
    $counter = $row[counter];
    $time = $row[time];

$content .="<div class=\"slide\">
      <div class=\"slide-inner\">
      <a class=\"fpss_img\" href='j a v a s c r i p t:void()' onclick=\"NewsReadWindow('modules.php?name=News&op=NERead&sid=$sid','ReadArticle','600','400','yes');return false;\">
            <span>
               <span style=\"background:url($haberresim) no-repeat;\">
                  <span>
                     <img src=\"$haberresim\" alt=\"Click on the slide!\" width=\"".$neconfig['genislik']."\" height=\"".$neconfig['yukseklik']."\">
                  </span>
               </span>
            </span>
         </a>
         <div class=\"fpss-introtext\">
            <div class=\"slidetext\"><h1><a href='j a v a s c r i p t:void()' onclick=\"NewsReadWindow('modules.php?name=News&op=NERead&sid=$sid','ReadArticle','1200','700','yes');return false;\">$title</a></h1>      
<p>$hometext</p>
<a href='j a v a s c r i p t:void()' onclick=\"NewsReadWindow('modules.php?name=News&op=NERead&sid=$sid','ReadArticle','1200','700','yes');return false;\" class=\"readon\">"._NE_DEVAMI."...</a>
</div>
</div>
      </div>
   </div>";
}
// Group Navigation
// if ($neconfig['arayuz']=='JJ-Obs' || $neconfig['arayuz']=='JJ-Rasper') { $temp_arayuz = 1; } else { $temp_arayuz = 0; }

$content .="</div>
            </div>
        </div>   <div id=\"navi-outer\">
            <div id=\"pseudobox\"></div>
            <div class=\"ul_container\">
                <ul>";
if ($neconfig['temp_arayuz']== 0) {
                         
$sql2 = "SELECT sid, title, haberresim, hometext FROM ".$prefix."_stories ORDER BY sid DESC LIMIT 0,".$neconfig['gosterilecekhaber']."";
$result2 = $db->sql_query($sql2);
while ($row2 = $db->sql_fetchrow($result2)) {
   $sid = $row2['sid'];
   $title = $row2[title];
   $haberresim = $row2[haberresim];   
   $hometext = $row[hometext];
   $key = $key + 1;
   if ($key < 25) { $key = "".$key; }
        $content .="<li>
      <a class=\"button off navi\" href=\"j a v a s c r i p t:void(0);\" title=\"$title\">
         <span class=\"navbar-img\"><img src=\"$haberresim\" alt=\"Click to navigate!\"></span>
         <span class=\"navbar-key\">".$key."</span>
         <span class=\"navbar-title\">$title</span>
         <span class=\"navbar-tagline\">$hometext</span>
         <span class=\"navbar-clr\"></span>
      </a>
   </li>";
}

                $content .="<li class=\"noimages\"><a id=\"fpss-container_next\" href=\"j a v a s c r i p t:void(0);\" onclick=\"showNext();clearSlide();\" title=\"Sonraki\">&raquo;</a></li>
                <li class=\"noimages\"><a id=\"fpss-container_playButton\" href=\"j a v a s c r i p t:void(0);\" onclick=\"playButtonClicked();return false;\" title=\"Durdur\">Durdur</a>
                <li class=\"noimages\"><a id=\"fpss-container_prev\" href=\"j a v a s c r i p t:void(0);\" onclick=\"showPrev();clearSlide();\" title=\"Önceki\">&laquo;</a></li>
                <li class=\"clr\"></li>";
} else {             
$content .="<li class=\"noimages\"><a id=\"fpss-container_prev\" href=\"j a v a s c r i p t:void(0);\" onclick=\"showPrev();clearSlide();\" title=\"Previous\">&laquo;</a></li>";                           
$sql2 = "SELECT sid, title, haberresim, hometext FROM ".$prefix."_stories ORDER BY sid DESC LIMIT 0,".$neconfig['gosterilecekhaber']."";
$result2 = $db->sql_query($sql2);
while ($row2 = $db->sql_fetchrow($result2)) {
   $sid = $row2['sid'];
   $title = $row2[title];
   $haberresim = $row2[haberresim];   
   $hometext = $row[hometext];
   $key = $key + 1;
   if ($key < 10) { $key = "".$key; }
        $content .="<li>
      <a class=\"button off navi\" href=\"j a v a s c r i p t:void(0);\" title=\"$title\">
         <span class=\"navbar-img\"><img src=\"$haberresim\" alt=\"Click to navigate!\"></span>
         <span class=\"navbar-key\">".$key."</span>
         <span class=\"navbar-title\">$title</span>
         <span class=\"navbar-tagline\">$hometext</span>
         <span class=\"navbar-clr\"></span>
      </a>
   </li>";
}
               $content .="<li class=\"noimages\"><a id=\"fpss-container_next\" href=\"j a v a s c r i p t:void(0);\" onclick=\"showNext();clearSlide();\" title=\"Next\">&raquo;</a></li>
                <li class=\"noimages\"><a id=\"fpss-container_playButton\" href=\"#play/pause\" onclick=\"playButtonClicked();return false;\" id=\"playButton\">Durdur</a></li>";                   
               }
               
            $content .="</ul>
            </div>
        </div>
       <div class=\"fpss-clr\"></div>
    </div>
   <div class=\"fpss-clr\"></div>
</div>\n\n";
$content .="<!-- JoomlaWorks \"Frontpage Slideshow\" v1.7 ends here -->\n\n";
$content .="</center>";

?>




Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder
Önceki mesajları göster:   
Bu forum kilitlendi: mesaj gönderemez, cevap yazamaz ya da başlıkları değiştiremezsiniz   Bu başlık kilitlendi: mesajları değiştiremez ya da cevap yazamazsınız    Netopsiyon Online Forum Ana Sayfa -> Php-Nuke -> NukeBB Eklentileri Tüm zamanlar GMT + 3 Saat
1. sayfa (Toplam 1 sayfa)

 
Geçiş Yap:  
Bu forumda yeni başlıklar açamazsınız
Bu forumdaki başlıklara cevap veremezsiniz
Bu forumdaki mesajlarınızı değiştiremezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu forumdaki anketlerde oy kullanamazsınız

Benzer Konular

Başlık Yazar Forum Cevaplar Tarih
Yeni mesaj yok New haber flash band news haber block mehaga Php Nuke Blocklar 3 2010-06-25, 14:46:32 Son Mesajı Görüntüle
Yeni mesaj yok JW image rotator for nsn news mehaga Php Nuke Modülleri 4 2010-06-21, 16:37:17 Son Mesajı Görüntüle
Yeni mesaj yok need help to news time mehaga Php Nuke Modülleri 0 2010-06-08, 20:50:28 Son Mesajı Görüntüle
Yeni mesaj yok NSN News v3.0 new plugin for video mehaga Php Nuke Modülleri 0 2010-06-08, 20:23:25 Son Mesajı Görüntüle
Yeni mesaj yok News Modülünde Paragraflar birbirine ... KaRNeC_81 Php Nuke Sorunlarınız 8 2010-06-06, 12:01:45 Son Mesajı Görüntüle

Copyright © 2002-2024 Netopsiyon Bilişim Teknolojileri San. Tic. Ltd.Şti. - Bütün hakları saklıdır!
Bu site Netopsiyon.com.tr Sunucularında Barındırılmaktadır.
Netopsiyon Bilişim Teknolojileri San. Tic. Ltd.Şti. Netopsiyon Copyright