przekazanie wartości zmiennej do funkcji z innego pliku
Wyniki 1 do 9 z 9

Temat: przekazanie wartości zmiennej do funkcji z innego pliku

  1. #1
    Debiutant
    Dołączył
    14-12-2009
    Wpisy
    7
    Punkty
    10

    Domyślny przekazanie wartości zmiennej do funkcji z innego pliku

    potrzebuje zmodyfikować dodatek JooMP3
    W taki sposób by wartości zmiennych zostały przekazane do innego pliku.

    <? require_once 'pobierz.php'; ?>
    <? pobierz('test.pdf','pobierz plik test.pdf',1); ?>
    ...

    pliku pobierz.php jest funkcja która odbiera wartość 'test.pdf' ja chce zastąpić test.pdf wartością zmiennej $a

    foreach ($regex as $key => $value) { // searching for marks
    if (preg_match_all($regex[$key][1], $row->text, $matches, PREG_PATTERN_ORDER) > 0) {
    foreach ($matches[1] as $match) {
    $code = str_replace("[mp3]", $match, $regex[$key][0] );
    $a = preg_quote($match);
    $a = str_replace("'", "\'", $a);
    $row->text = preg_replace("'{".preg_quote($key)."}".$a."{/".preg_quote($key)."}'s", $startcode.$code.$endcode , $row->text );

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Wyjadacz malkowitch awatar
    Dołączył
    26-02-2008
    Skąd
    Warszawa
    Wpisy
    501
    Punkty
    96

    Domyślny

    Wytłumacz dokładanej o co Ci chodzi, po co chcesz to przekazywać i jak się ma podany kod do tego co chcesz zrobić.

  4. #3
    Debiutant
    Dołączył
    14-12-2009
    Wpisy
    7
    Punkty
    10

    Domyślny

    W załączniku są dwa zipy.
    Jeden to plugin do odtwarzania mp3 w artykule joomla.
    A drugi to skrypt do pobierania oplat w formie sms. Skrypt jest zupelnie samodzielnie działający bez udziału joomli.
    Chciałby połączyć te dwa skrypty, tak by wprowadzenie w artykule odwołania do utworu:
    * pokazało player i pozwoliło odtwarzać wybrany utwór,
    * wyświetliło link do pobrania tej mp3,
    (fajnie by było jeszcze jakoś to zabezpieczyć np wyrzucając mp3 do katalogu z poza public, ale o to postaram się zadbać samemu)
    Załączone pliki Załączone pliki

  5. #4
    Wyjadacz malkowitch awatar
    Dołączył
    26-02-2008
    Skąd
    Warszawa
    Wpisy
    501
    Punkty
    96

    Domyślny

    Na jakiej zasadzie chcesz identyfikować utwór?
    Bo wrzucając utwór do playera zwykle jest to coś w tym rodzaju:
    Kod:
    {mp3}utwor.mp3{mp3}
    A co za tym idzie nie przekazywany jest żaden numer identyfikacyjny pliku.
    Więc jak chcesz identyfikować plik w tym linku do pobrania? Czy to jest bezpośrednie pobranie bez żadnych opłat itp?

  6. #5
    Debiutant
    Dołączył
    14-12-2009
    Wpisy
    7
    Punkty
    10

    Domyślny pobranie

    sms-download to skrypt który odpowiada za pobieranie sms.
    Lik w tym archiwum o nazwie test-downlod definiuje nazwe pobieranego pliku a sms-download generuje link do niego.
    Problem polega na tym że chciałbym jakoś połączyć zawartość test-.. z php pluginu

    ---------- Post dodany o 10:49 ---------- Poprzedni post był o 10:28 ----------

    <? require_once 'pobierz.php'; ?>
    <? pobierz('test.pdf','pobierz plik test.pdf',1); ?>

    ---------- Post dodany o 10:49 ---------- Poprzedni post był o 10:49 ----------

    To jest zawartość pliku test-.. po tym skrypt sms-download wie do którego pliku ma link wygenerować.

  7. #6
    Wyjadacz malkowitch awatar
    Dołączył
    26-02-2008
    Skąd
    Warszawa
    Wpisy
    501
    Punkty
    96

    Domyślny

    W tym pluginie Joomp3 jest błąd w lini 18 pliku joomp3.php (powinno być '::' a nie ':')

    Zmień w pliku sms-download.php:
    Kod PHP:
    function sms_pobierz_plik($plik,$tekst,$taryfa) {
        if(!
    ereg('^([12359]|19)$'$taryfa)) die('Blad: nieprawidlowa taryfa<br/>');
        if(!
    ereg('[^/]+$'$plik$regs)) die('Blad: nieprawidlowa nazwa pliku<br/>');
        if(!
    file_exists("{$GLOBALS['katalog']}/{$plik}")) die("Blad: plik <b>$plik</b> nie istnieje");
        
    $pars = ("f=".urlencode($plik)."&r=$taryfa");
        echo 
    "<a href=\"http://www.atomsms.pl/\" class='{$GLOBALS['klasa']}' onclick=\"return 99==window.open('sms-download.php?form&$pars','SMSDownload','width=500,height=430')\">$tekst</a>";

    na
    Kod PHP:
    function sms_pobierz_plik($plik,$tekst,$taryfa) {
        if(!
    ereg('^([12359]|19)$'$taryfa)) die('Blad: nieprawidlowa taryfa<br/>');
        if(!
    ereg('[^/]+$'$plik$regs)) die('Blad: nieprawidlowa nazwa pliku<br/>');
        if(!
    file_exists("{$GLOBALS['katalog']}/{$plik}")) die("Blad: plik <b>$plik</b> nie istnieje");
        
    $pars = ("f=".urlencode($plik)."&r=$taryfa");
        return 
    "<a href=\"http://www.atomsms.pl/\" class='{$GLOBALS['klasa']}' onclick=\"return 99==window.open('sms-download.php?form&$pars','SMSDownload','width=500,height=430')\">$tekst</a>";

    Następnie w pliku joomp3.php zmieniasz:
    Kod PHP:
    foreach ($regex as $key => $value) {  // searching for marks           
            
    if (preg_match_all($regex[$key][1], $row->text$matchesPREG_PATTERN_ORDER) > 0) {                   
                foreach (
    $matches[1] as $match) {    
                    
    $code str_replace("[mp3]"$match$regex[$key][0] );
                    
    $a preg_quote($match);
                    
    $a str_replace("'""\'"$a);
                    
    $row->text preg_replace("'{".preg_quote($key)."}".$a."{/".preg_quote($key)."}'s"$startcode.$code.$endcode $row->text );

                }
             }            
        } 
    na
    Kod PHP:
    require_once('sms-download.php');
        foreach (
    $regex as $key => $value) {  // searching for marks           
            
    if (preg_match_all($regex[$key][1], $row->text$matchesPREG_PATTERN_ORDER) > 0) {                   
                foreach (
    $matches[1] as $match) {    
                    
    $code str_replace("[mp3]"$match$regex[$key][0] );
                    
    $code.= sms_pobierz_plik($match,'POBIERZ UTWÓR!',1);
                    
    $a preg_quote($match);
                    
    $a str_replace("'""\'"$a);
                    
    $row->text preg_replace("'{".preg_quote($key)."}".$a."{/".preg_quote($key)."}'s"$startcode.$code.$endcode $row->text );

                }
             }            
        } 
    Do tego musisz jeszcze pobawić się z kodem tego sms-download.php bo na razie działać nie będzie ale to co Ci pokazałem wystarczy do wyświetlenia linku do pliku.

  8. #7
    Debiutant
    Dołączył
    14-12-2009
    Wpisy
    7
    Punkty
    10

    Domyślny

    Niestety nie pokazuje mi linku, joomla świeci mi błędem że nie ma pliku o takiej nazwie.
    W momencie gdy sprawdzam na teście wyświetla poprawnie.
    Napisz mi jak możesz czy przyczyną może być fakt że skrypt sms nie należy do joomli

  9. #8
    Wyjadacz malkowitch awatar
    Dołączył
    26-02-2008
    Skąd
    Warszawa
    Wpisy
    501
    Punkty
    96

    Domyślny

    Musisz zmodyfikować kod który Ci przesłałem żeby wrzucał prawidłową ścieżkę.
    Nie możesz oczekiwać, że ktoś poświęci czas i wykona za Ciebie całą czarną robotę.

  10. #9
    Debiutant
    Dołączył
    14-12-2009
    Wpisy
    7
    Punkty
    10

    Domyślny

    Dzięki. jakoś nie mogłem wpaść na trop. Jeszcze raz dzięki.

Podobne tematy

  1. Problem z załączaniem modułu z innego pliku
    przez agaldo na forum Szablony graficzne
    Odpowiedzi: 2
    Ostatni post/autor: 11-04-2010, 21:41
  2. Jak wyciągnąć wartość do pliku?
    przez Talyn na forum Pomysły, sugestie, propozycje, oczekiwania
    Odpowiedzi: 1
    Ostatni post/autor: 18-10-2009, 19:19
  3. Przekazanie zmiennej do widoku modułu
    przez idek na forum Programowanie pod Joomla!
    Odpowiedzi: 7
    Ostatni post/autor: 23-09-2009, 12:57
  4. Artykuły z pliku .DOC lub innego
    przez Bartosz31 na forum Szukam dodatku do Joomla
    Odpowiedzi: 7
    Ostatni post/autor: 19-01-2008, 14:49
  5. [Google Maps] Odwołanie do innego pliku
    przez czajna na forum Administracja składnikami
    Odpowiedzi: 0
    Ostatni post/autor: 21-12-2007, 16:38

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •