PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 26-09-2009 15:45:41

webide67
Membre
Inscription : 23-07-2009
Messages : 20

ouvrir 2 fenetre après identification

Bonjour ,
J'utilises un cms (osdate) et je souhaites une fois que les gens se sont connectés avec leur pseudo et leur mot de passe ouvrir 2 pages en simultanée.
Le bout de code générant cela est:

if ($_SESSION['UserId'] > 0 ) {

    /* Get some stats */

    $viewswinks_since_days = ($config['last_viewswinks_since']=='')?0:$config['last_viewswinks_since'];

    $viewswinks_since = strtotime("-$viewswinks_since_days day",time());

    if ($viewswinks_since > $_SESSION['lastvisit']) $viewswinks_since = $_SESSION['lastvisit'];

    if ($viewswinks_since < $_SESSION['regdate']) $viewswinks_since=$_SESSION['regdate'];

    $sql = 'select count(*) from ! where userid = ? and act_time >= ? and act = ?';

    $t->assign('profile_views', $osDB->getOne($sql, array( VIEWS_WINKS_TABLE, $_SESSION['UserId'], $viewswinks_since, 'V' ) ) );

    $t->assign('winks', $osDB->getOne($sql, array( VIEWS_WINKS_TABLE, $_SESSION['UserId'], $viewswinks_since, 'W' ) ) );

    $t->assign('new_messages', $osDB->getOne('select count(*) from ! where owner=? and recipientid = ? and flagread = 0 and folder = ?', array( MAILBOX_TABLE, $_SESSION['UserId'], $_SESSION['UserId'], 'inbox' ) ) );


    $usr = $osDB->getRow('select usr.levelend, usr.pictures_cnt, mem.name from ! usr, ! mem  where usr.id = ? and mem.roleid = usr.level', array(USER_TABLE, MEMBERSHIP_TABLE, $_SESSION['UserId']) );

    $levelend = $usr['levelend'];

    $end_date = strftime($lang['DATE_FORMAT'],$levelend);

    $t->assign('curlevel', $usr['name']);

    $diff=$levelend - (time()+0);

    $bal_days = round($diff/86400,0);

    if ($bal_days == -0) $bal_days=0;

    $t->assign('bal_days', $bal_days );

    $t->assign('end_date', $end_date );

    $t->assign('viewswinks_since', strftime($lang['DATE_FORMAT'],$viewswinks_since));

  }

  $t->assign('rendered_page', $t->fetch('homepage.tpl') );
}

if ($_GET['errid'] != '') {

  $t->assign('errid_message', get_lang('errormsgs',$_GET['errid']) );

  $_GET['errid_message'] = urlencode(get_lang('errormsgs',$_GET['errid']));
}

$lang['DATE_FORMAT'] = get_lang('DATE_FORMAT');

$t->assign('lang', $lang);

$t->display( 'index.tpl' );

exit();
?>

Comment rajouter une page (chat.php) qui s'ouvrirais en même temps que homepage?

Merci d'avance

Hors ligne

#2 26-09-2009 18:03:42

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : ouvrir 2 fenetre après identification

Saluton,
Franchement, pourquoi venir poster ici alors qu'il existe un portail de ce CMS en français ?
http://www.osdate-fr.com/portal.php


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 26-09-2009 18:07:47

webide67
Membre
Inscription : 23-07-2009
Messages : 20

Re : ouvrir 2 fenetre après identification

Parce que ce portail est plutot axé sur les templates les addons et l'install est que ma question est  sur la programmation même en php, le fait que ce soit un cms est un détail

Hors ligne

#4 26-09-2009 22:42:05

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : ouvrir 2 fenetre après identification

Quand je regarde le bout de code présenté qui ne se réfère qu'à des méthodes d'instances de classes de ce CMS, je ne trouve pas que cela constitue un détail et je persiste à dire que ce post est complètement déplacé ici à phpdebutants.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 29-09-2009 08:11:51

webide67
Membre
Inscription : 23-07-2009
Messages : 20

Re : ouvrir 2 fenetre après identification

J'ais déjà essayé de voir sur leur forum ainsi que sur le forum anglophone mais je n'ais obtenu aucune réponse.
Je n'arrives pas à faire en sorte que lorsque les gens se connectent ils soient redirigés vers le chat et non vers la page de membre ( j'ais laissé tomber le principe des 2 pages).

Hors ligne

#6 29-09-2009 08:58:04

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : ouvrir 2 fenetre après identification

Sauf à ce que tu aies la chance qu'un habitué de phpdebutant soit familier de ce CMS, tu n'obtiendras guère plus de réponse exploitable ici.
D'après cette ligne de code

$t->assign('rendered_page', $t->fetch('homepage.tpl') );

j'intuite, sans aucune garantie, que ce CMS utilise des templates, mais comme je l'ai déjà dit, sans aucune information sur la classe qu'instancie l'objet $t, et aux méthodes de laquelle il est copieusement fait appel dans ce script, il serait vraiment présomptueux de prétendre pouvoir te guider vers une quelconque résolution de ton problème.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#7 29-09-2009 09:39:20

webide67
Membre
Inscription : 23-07-2009
Messages : 20

Re : ouvrir 2 fenetre après identification

Il y a la page index (ici au complet)

<?php
if ( !defined( 'SMARTY_DIR' ) ) {
  include_once( 'init.php' );
}

if ($_SESSION['AdminId'] > 0) {

  header('location: admin/index.php');
  exit;
}


if ($_SESSION['UserId'] <= 0 && ($_GET['page'] == 'login' || !$_GET) &&  isset($_COOKIE[$config['cookie_prefix'].'osdate_info']) ) {

  $cookie = $_COOKIE[$config['cookie_prefix'].'osdate_info'];

  $_SESSION['txtusername'] = $cookie['username'];

  $_SESSION['txtpassword'] = $cookie['dir'] ;

  $_SESSION['rememberme'] = true;

  list($_SESSION['lookagestart'], $_SESSION['lookageend'])= split(':',$cookie['search_ages']);

  if ($cookie['username'] != "") {

    if ( !$_GET['errid'] ) {
      header("location: midlogin.php");
      exit;
    }
  }
}

if ( isset( $_GET['affid'] ) ) {

  $_SESSION['ReferalId'] = $_GET['affid'];

  if ( getenv( 'HTTP_CLIENT_IP' ) ){
    $userip = getenv( 'HTTP_CLIENT_IP' );
  }
  else if ( getenv( 'HTTP_X_FORWARDED_FOR' ) )  {
    $userip = getenv( 'HTTP_X_FORWARDED_FOR' );
  }
  else {
    $userip = getenv( 'REMOTE_ADDR' );
  }

  $count = $osDB->getOne( "select count(*) FROM ! where ip = ? and ip <> '' and affid = ?", array( AFFILIATE_REFERALS_TABLE, $userip, $_SESSION['ReferalId'] ) );

  if ( $count == 0 ) {
    $osDB->query( "INSERT INTO ! ( affid, userid, ip ) VALUES ( ?, '0', ? )", array( AFFILIATE_REFERALS_TABLE, $_SESSION['ReferalId'], $userip ) );
  }

}

if ($_GET['page'] == 'login' and $_GET['errid'] != '') {

  $t->assign ( 'login_error', get_lang('errormsgs',$_GET['errid']) );
}

if (!isset($_SESSION['lookagestart'])) {
  $_SESSION['lookagestart'] = $config['default_start_agerange'];
  $_SESSION['lookageend'] = $config['default_end_agerange'];
}

if( isset( $_GET['page'] ) ) {

  $siteurl = HTTP_METHOD . $_SERVER['SERVER_NAME'] . DOC_ROOT ;

  $psize = getPageSize();

  $t->assign ( 'psize',  $psize );

  $pageno = (int)$_REQUEST['pageno'];

  if( $pageno == 0 ) $pageno = 1;

  $upr = ($pageno * $psize )- $psize;

  $cpage = $pageno;

  $data = array();

  switch ($_GET['page']) {

    case 'stories':

      $temp =& $osDB->getAll( 'SELECT * FROM ! order by date desc', array( STORIES_TABLE ) );

      $reccnt = count($temp);

      $pages = ceil( $reccnt / $psize );

      if( $pages > 1 ) {
        $sql .= ' limit '.$upr.','.$psize;
        if ( $cpage > 1 ) {

          $prev = $cpage - 1;

          $t->assign( 'prev', $prev );

        }

        if ( $cpage < $pages ) {

          $next = $cpage + 1;

          $t->assign ( 'next', $next );

        }
        $temp = array_slice($temp,$upr,$psize);

      }

      $t->assign ( 'cpage', $cpage );

      $t->assign ( 'pages',  $pages );

      $t->assign ( 'reccount',  $reccount );

      foreach( $temp as $index => $row ) {

        $row['username'] = $osDB->getOne( 'SELECT username FROM ! where id = ?', array( USER_TABLE, $row[sender] ) );
        $row['text'] = stripslashes($row['text']);
        $arrtext = explode( ' ', $row[text], $config['length_story'] + 1 );
        $arrtext[ $config['length_story'] ] = '';
        $row['text'] = trim( implode( ' ', $arrtext ) ) . '...';
        $row['date'] = date( get_lang('DISPLAY_DATE_FORMAT'), $row[date] );

        $data []= $row;
      }
      $t->assign( 'lang', $lang );
      $t->assign ( 'data', $data );
      unset($data, $temp, $row);
      $t->assign('rendered_page', $t->fetch('allstories.tpl') );
      break;

    case 'allnews':

      $temp =& $osDB->getAll( 'SELECT * FROM ! order by date desc', array( NEWS_TABLE ) );

      $reccnt = count($temp);

      $pages = ceil( $reccnt / $psize );

      if( $pages > 1 ) {
        $sql .= ' limit '.$upr.','.$psize;
        if ( $cpage > 1 ) {

          $prev = $cpage - 1;

          $t->assign( 'prev', $prev );

        }

        if ( $cpage < $pages ) {

          $next = $cpage + 1;

          $t->assign ( 'next', $next );

        }
        $temp = array_slice($temp,$upr, $psize);
      }

      $t->assign ( 'cpage', $cpage );

      $t->assign ( 'pages',  $pages );

      $t->assign ( 'reccount',  $reccount );

      foreach( $temp as $index => $row ) {
        $row['date'] = date( get_lang('DISPLAY_DATE_FORMAT'), $row[date] );
        $arrtext = explode( ' ', stripslashes($row['text']), $config['length_story'] + 1);
        $arrtext[ $config['length_story'] ] = '';
        $row['text'] = trim(implode( ' ', $arrtext)) . '...';

        $data []= $row;
      }
      $t->assign( 'lang', $lang );

      $t->assign ( 'data', $data );
      unset($data, $temp, $row);
      $t->assign('rendered_page', $t->fetch('allnews.tpl') );
      break;

    case 'articles':

      $temp =& $osDB->getAll( 'SELECT * FROM ! order by dat desc', array( ARTICLES_TABLE ) );

      $reccnt = count($temp);
      $pages = ceil( $reccnt / $psize );
      if( $pages > 1 ) {
        if ( $cpage > 1 ) {

          $prev = $cpage - 1;

          $t->assign( 'prev', $prev );

        }

        if ( $cpage < $pages ) {

          $next = $cpage + 1;

          $t->assign ( 'next', $next );

        }
        $temp = array_slice($temp,$upr,$psize);
      }

      $t->assign ( 'cpage', $cpage );

      $t->assign ( 'pages',  $pages );

      $t->assign ( 'reccount',  $reccount );

      foreach( $temp as $index => $row ) {

        $row['dat'] = date( get_lang('DISPLAY_DATE_FORMAT'), $row['dat'] );
        $arrtext = explode( ' ', stripslashes($row['text']), $config['length_story'] + 1 );
        $arrtext[$config['length_story']] = '';
        $row['text'] = trim(implode( ' ', $arrtext)) . '...';

        $data []= $row;
      }
      $t->assign( 'lang', $lang );

      $t->assign ( 'data', $data );

      unset ($temp, $data, $row);

      $t->assign('rendered_page', $t->fetch('allarticles.tpl') );
      break;

    case 'showstory':

      $temp =& $osDB->getAll( 'SELECT * FROM ! where storyid = ?', array( STORIES_TABLE, $_GET['storyid'] ) );

      foreach( $temp as $index => $row ) {
        $row['username'] = $osDB->getOne( 'SELECT username FROM ! where id = ?', array( USER_TABLE, $row[sender] ) );

        $row['date'] = date( get_lang('DISPLAY_DATE_FORMAT'), $row[date] );
        $row['text'] = stripslashes($row['text']);

        $data []= $row;
      }
      $t->assign( 'lang', $lang );

      $t->assign ( 'data', $data );
      unset($data, $temp, $row);
      $t->assign('rendered_page', $t->fetch('fullstory.tpl') );
      break;

    case 'shownews':

      $temp =& $osDB->getAll( 'SELECT * FROM ! where newsid = ?', array( NEWS_TABLE, $_GET['newsid'] ) );

      foreach( $temp as $index => $row ) {
        $row['date'] = date(get_lang('DISPLAY_DATE_FORMAT'), $row[date] );
        $row['text'] = stripslashes($row['text']);
        $data []= $row;
      }
      $t->assign( 'lang', $lang );

      $t->assign ( 'data', $data );
      unset($data, $temp, $row);
      $t->assign('rendered_page', $t->fetch('fullnews.tpl') );
      break;

    case 'showarticle':
      $temp =& $osDB->getAll( 'SELECT * FROM ! where articleid = ?', array( ARTICLES_TABLE, $_GET['articleid'] ) );

      foreach( $temp as $index => $row ) {
        $row['dat'] = date( get_lang('DISPLAY_DATE_FORMAT'), $row[dat] );
        $row['text'] = stripslashes($row['text']);
        $data []= $row;
      }
      $t->assign( 'lang', $lang );

      $t->assign ( 'data', $data );
      unset($data, $temp, $row);
      $t->assign('rendered_page', $t->fetch('fullarticle.tpl') );
      break;

    case 'login':

      $t->assign('rendered_page', $t->fetch('login.tpl') );
      break;

    default:

      $row =& $osDB->getRow( 'SELECT * FROM ! where pagekey = ?', array( PAGES_TABLE, $_GET['page'] ) );

      if ( $row ) {
        $row['pagetext'] = str_replace('[Your Company]', $config['site_title'],stripslashes(stripslashes($row['pagetext'])));
        $index++;
      }
      $row['pagetext'] = str_replace("#CONTACTUS#",$siteurl.'feedback.php',$row['pagetext']);

      $row['pagetext'] = str_replace("#CANCEL#",$siteurl.'cancel.php',$row['pagetext']);
      $t->assign( 'lang', $lang );

      $t->assign ( 'data', $row );
      unset($row);
      $t->assign('rendered_page', $t->fetch('page.tpl') );
  }
}

if ( strlen( $_SERVER['QUERY_STRING'] ) <= 0 or $_SERVER['QUERY_STRING'] == 'affid='.$_GET['affid'] || $_SERVER['QUERY_STRING'] == 'lang='.$_GET['lang'] or(( $_GET['errid'] == NOT_YET_APPROVED or $_GET['errid'] == NOT_ACTIVE ) && $_SESSION['UserId'] > 0 ) ){

  $last_users = $config['no_last_new_users'];

  $list_newmembers_since_days = $config['list_newmembers_since_days'];

  if ($list_newmembers_since_days == '') $list_newmembers_since_days=0;

  $list_newmembers_since = strtotime("-$list_newmembers_since_days day",time());

  /* Modify the newest profile condition to be from last visit time if user is logged in */

  if ( $last_users > 0 ) {

    $newUsers =& $osDB->getAll( "SELECT *, floor((to_days(curdate())-to_days(birth_date))/365.25)  as age  FROM ! WHERE status in (?, ?)  and regdate >= ? ORDER BY regdate DESC LIMIT 0, $last_users", array( USER_TABLE , get_lang('status_enum','active'), 'active', $list_newmembers_since) );

    $list = array();

    foreach ($newUsers as $row) {

      /* Get countryname and statename */
      $row['statename'] = getStateName( $row['country'], $row['state_province']  );
      $row['countryname'] = getCountryName($row['country'] ) ;
      $list[] = $row;
    }

    $t->assign( 'users', $list );
    unset($newUsers, $list, $row);
  }

  if ($config['list_newmembers'] > 0) {
    /* Get list of latest 10 userid */

    $newUsersList =& $osDB->getAll( "SELECT id, username, allow_viewonline FROM ! WHERE status in (?, ?)  and regdate >= ? ORDER BY regdate DESC LIMIT 0,!", array( USER_TABLE, get_lang('status_enum','active'), 'active', $list_newmembers_since,$config['list_newmembers'] ));

    if (count($newUsersList) > 0) {
      $t->assign('newUsersList',$newUsersList);
    }
    unset($newUsersList);
  }

  if ($config['show_featured_profiles'] > 0 ) {

    $xid = ($_SESSION['UserId'] > 0)?$_SESSION['UserId']:'0';

    $list =& $osDB->getAll('select id, userid from ! where ? between start_date and end_date and req_exposures > exposures  and userid <> ? order by rand() limit 0, ! ', array( FEATURED_PROFILES_TABLE, time(), $xid,  $config['show_featured_profiles'] ) );

    $featured_profiles = array();

    foreach ($list as $usr) {

      $row =& $osDB->getRow('select *, floor((to_days(curdate())-to_days(birth_date))/365.25)  as age from ! where id = ? and status=?', array( USER_TABLE, $usr['userid'],'active' ) );

      if ($row){
        /* Get countryname and statename */
        $row['statename'] = getStateName( $row['country'], $row['state_province'] ) ;
        $row['countryname'] = getCountryName($row['country'] ) ;
        $featured_profiles[] = $row;
        $osDB->query('update ! set exposures = exposures + 1 where id = ?', array( FEATURED_PROFILES_TABLE, $usr['id'] ) );
      }
    }
    $t->assign('featured_profiles', $featured_profiles);
    unset($list, $featured_profiles, $row);

  }

  if ($_SESSION['UserId'] > 0 ) {

    /* Get some stats */

    $viewswinks_since_days = ($config['last_viewswinks_since']=='')?0:$config['last_viewswinks_since'];

    $viewswinks_since = strtotime("-$viewswinks_since_days day",time());

    if ($viewswinks_since > $_SESSION['lastvisit']) $viewswinks_since = $_SESSION['lastvisit'];

    if ($viewswinks_since < $_SESSION['regdate']) $viewswinks_since=$_SESSION['regdate'];

    $sql = 'select count(*) from ! where userid = ? and act_time >= ? and act = ?';

    $t->assign('profile_views', $osDB->getOne($sql, array( VIEWS_WINKS_TABLE, $_SESSION['UserId'], $viewswinks_since, 'V' ) ) );

    $t->assign('winks', $osDB->getOne($sql, array( VIEWS_WINKS_TABLE, $_SESSION['UserId'], $viewswinks_since, 'W' ) ) );

    $t->assign('new_messages', $osDB->getOne('select count(*) from ! where owner=? and recipientid = ? and flagread = 0 and folder = ?', array( MAILBOX_TABLE, $_SESSION['UserId'], $_SESSION['UserId'], 'inbox' ) ) );


    $usr = $osDB->getRow('select usr.levelend, usr.pictures_cnt, mem.name from ! usr, ! mem  where usr.id = ? and mem.roleid = usr.level', array(USER_TABLE, MEMBERSHIP_TABLE, $_SESSION['UserId']) );

    $levelend = $usr['levelend'];

    $end_date = strftime($lang['DATE_FORMAT'],$levelend);

    $t->assign('curlevel', $usr['name']);

    $diff=$levelend - (time()+0);

    $bal_days = round($diff/86400,0);

    if ($bal_days == -0) $bal_days=0;

    $t->assign('bal_days', $bal_days );

    $t->assign('end_date', $end_date );

    $t->assign('viewswinks_since', strftime($lang['DATE_FORMAT'],$viewswinks_since));

  }

  $t->assign('rendered_page', $t->fetch('homepage.tpl') );
}

if ($_GET['errid'] != '') {

  $t->assign('errid_message', get_lang('errormsgs',$_GET['errid']) );

  $_GET['errid_message'] = urlencode(get_lang('errormsgs',$_GET['errid']));
}

$lang['DATE_FORMAT'] = get_lang('DATE_FORMAT');

$t->assign('lang', $lang);

$t->display( 'index.tpl' );

exit();
?>

En fin de script il apelle la page d'affichage (index.tpl) et la page de membre (homepage.tpl qui se présente ainsi):

{strip}
<div align="center">
  {if $smarty.session.UserId == ''}
    {include file='special_offer.tpl'}
  {elseif $smarty.session.UserId > 0 }
    {* Show the statistics since last login  *}
    {include file='user_home_stats.tpl'}
  {/if}
  { if $config.show_featured_profiles > 0 && $featured_profiles}
    {* This is for showing the Featured Profiles  *}
    {include file='home_featured_profiles.tpl'}
  { /if }

 
  <br />
{include file="banner_mainpage.tpl"}
<br />
    </div>
{/strip}

Hors ligne

#8 29-09-2009 11:03:42

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : ouvrir 2 fenetre après identification

J'ai colorisé tes bouts de code, mais je me refuse à mettre plus avant le nez dans cette usine à gaz.
Si le cœur en dit à quelque autre...


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#9 29-09-2009 11:23:18

webide67
Membre
Inscription : 23-07-2009
Messages : 20

Re : ouvrir 2 fenetre après identification

Tu veut dire que je devrais effectuer la modif au niveau des "file" du homepage alors

Hors ligne

#10 29-09-2009 11:43:02

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : ouvrir 2 fenetre après identification

Ça m'étonnerait beaucoup que j'ai voulu dire ça, vu que je ne comprends même pas de quoi tu parles.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#11 29-09-2009 17:20:27

webide67
Membre
Inscription : 23-07-2009
Messages : 20

Re : ouvrir 2 fenetre après identification

Ce que j'ais voulu dire c'est que tu penses que c'est cette partie que je dois modifier

 {include file='special_offer.tpl'}
5.  {elseif $smarty.session.UserId > 0 }
6.    {* Show the statistics since last login  *}
7.    {include file='user_home_stats.tpl'}
8.  {/if}
9.  { if $config.show_featured_profiles > 0 && $featured_profiles}
10.    {* This is for showing the Featured Profiles  *}
11.    {include file='home_featured_profiles.tpl'}
12.  { /if }
13.

Hors ligne

Pied de page des forums