|
Re: Boucle & $xoopsTpl->assign |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
append_by_ref Identique à append, sauf que la donnée est passée par référence (et non par valeur) Exemple (avec boucle foreach dans le template)
// Dans le code¨Php
while (list($id, $name) = $xoopsDB->fetchRow($result)) {
$category = array();
$category['name'] = $name;
$category['id'] = $id;
$sql = 'SELECT faq_id, faq_title FROM '.$xoopsDB->prefix('xoops_faq').' WHERE cat_id='.$id;
$result = $xoopsDB->query($sql);
while ($myrow = $xoopsDB->fetchArray($result)) {
$category['questions'][] = array('id' => $myrow['faq_id'], 'title' => $myrow['faq_title']);
}
$xoopsTpl->append_by_ref('categories', $category);
unset($category);
}
<{* Dans le template* }>
<{foreach item=question from=$category.questions}>
<{$question.title}>
<{* ... suite du code* }>
plus de detail regarde iciou ici
Posté le : 26/05/2015 14:19
|
|
|
Re: Un Smarty pour une catégorie |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
oups
<{if $category_id == 1}>
<div>cid 1</div>
<{elseif $category_id == 2}>
<div>cid 2</div>
<{elseif $category_id == 3}>
<div>cid 3</div>
<{else}>
<div>cid different à 1,2,3</div>
<{/if}>
Posté le : 22/01/2015 13:04
|
|
|
Re: Un Smarty pour une catégorie |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
dans viewcat.php $xoopsTpl->assign('category_id', $cid); donc on a un smarty pour le cid.
<{if $cid == 1}>
<div>cid 1</div>
<{elseif $cid == 2}>
<div>cid 2</div>
<{elseif $cid == 3}>
<div>cid 3</div>
<{/if}>
j'ai pas testé mais ça doit marcher.
Posté le : 22/01/2015 11:41
|
|
|
Re: Plus de 500 requête sur la page index de xoopstube (c'est beaucoup) |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
je pense que c'est la fonction xtubeGetTotalItems qui genère tous ces requetes.
essaye de commenter les lignes ou tu trouve cette fonction et regarde.
ligne 82 //$listings = xtubeGetTotalItems(); ligne 92 //$totalvideoload = xtubeGetTotalItems($myrow['cid'], 1);
Posté le : 14/01/2015 22:29
|
|
|
Re: Afficher la source d'une vidéo dans la barre de titre xoopstube? |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
Ok c'est clair merci
Posté le : 01/08/2014 03:01
|
|
|
Re: Système d'invitation? |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
Posté le : 31/07/2014 14:51
|
|
|
Re: Afficher la source d'une vidéo dans la barre de titre xoopstube? |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
Tu veux dire quoi par site privé avec un contenu sous licence? Mon but c'est de voir et avoir une idée des liens obtenus de xoopstube avec xorewrite.
Posté le : 31/07/2014 11:04
|
|
|
Re: Afficher la source d'une vidéo dans la barre de titre xoopstube? |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
Parfait Tu peux me donner le lien de ton site pour voir comment t'as fais pour le xorewrite
Posté le : 30/07/2014 23:41
|
|
|
Re: Comprendre les variables de Xoops |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
assign Permet d'assigner une valeur à un template. La valeur est soit une chaine, soit un tableau associatif. assign (string | array $tpl_var, mixed $value = null) $tpl_var string ou array nom de la variable de template à créer $value mixed valeur à lui transmettre
Exemples $xoopsTpl->assign('varm', $m);
dans ton template tu utilise ce code smarty <{$varm}> pour afficher mmm
tu peux creer autant de variable que tu souhaite.
Posté le : 01/05/2014 11:43
|
|
|
Re: Comment donner un lien direct vers une page sous mot de passe ? |
|
Aspirant
Inscrit: 11/11/2010 14:56
|
<?php
if (file_exists("mainfile.php")) {
include("mainfile.php");
}
include XOOPS_ROOT_PATH . '/header.php';
// le mot de passe, sensible à la case tu peux modifier le mot de passe comme tu veux
$password = 'gars';
$login = 'abrouti';
$mail = 'test@mail.com';
$mdp = (isset($_GET['mdp'])) ? trim(sprintf("%s", $_GET['mdp'])) : '';
$log = (isset($_GET['log'])) ? trim(sprintf("%s", $_GET['log'])) : '';
$mail = (isset($_GET['mail'])) ? trim(sprintf("%s", $_GET['mail'])) : '';
if (isset($_GET['mdp']) && isset($_GET['log']) && isset($_GET['mail'])){
if($mdp !== $password || $log !== $login || $mail !== $mail)
{
// pas le bon mdp
$message = 'pas le bon mdp';
redirect_header("index.php", 5, $message);
exit();
};
$member_handler1 =& xoops_gethandler('member');
$profile_handler1 = xoops_getmodulehandler('profile', 'profile');
//Verification de l'existance du membre
if ($member_handler1->getUserCount(new Criteria('uname', $login)) > 0 || $member_handler1->getUserCount(new Criteria('pass', $password)) > 0 || $member_handler1->getUserCount(new Criteria('mail', $mail)) > 0) {
//Membre present dans la BDD
$login = trim($login);
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('uname', $uname));
$criteria->add(new Criteria('email', $email));
$criteria->add(new Criteria('pass', md5($password)));
$users_arr = $member_handler1->getUsers($criteria);
// Regenerate a new session id and destroy old session
$GLOBALS["sess_handler"]->regenerate_id(true);
$_SESSION = array();
$_SESSION['xoopsUserId'] = $users_arr[0]->getVar('uid');
$_SESSION['xoopsUserGroups'] = $users_arr[0]->getGroups();
$user_theme = $users_arr[0]->getVar('theme');
if (in_array($user_theme, $xoopsConfig['theme_set_allowed'])) {
$_SESSION['xoopsUserTheme'] = $user_theme;
}
// Set cookie for rememberme
if (!empty($xoopsConfig['usercookie'])) {
setcookie($xoopsConfig['usercookie'], $_SESSION['xoopsUserId'] . '-' . md5($password . XOOPS_DB_NAME . XOOPS_DB_PASS . XOOPS_DB_PREFIX), time() + 31536000, '/', XOOPS_COOKIE_DOMAIN, 0);
}
echo ' si on arrive ici ce que le mdp est bon';
echo '<iframe width="560" height="315" src="//www.youtube.com/embed/67MJxn0UdiI" frameborder="0" allowfullscreen></iframe>)';
} else {
//Creation de l'utilisateur
//$member_handler1 =& xoops_gethandler('member');
$newuser = $member_handler1->createUser();
$profile = $profile_handler1->create();
$newuser->setVar("user_viewemail","");
$newuser->setVar("attachsig","");
$newuser->setVar("name", $login);
$newuser->setVar("uname", $login);
$newuser->setVar("email", $mail);
$newuser->setVar("url", "");
$newuser->setVar("user_avatar",'blank.gif');
$newuser->setVar('user_regdate', time());
$newuser->setVar("user_icq", "");
$newuser->setVar("user_from", "");
$newuser->setVar("user_sig", "");
$newuser->setVar("user_aim", "");
$newuser->setVar("user_yim", "");
$newuser->setVar("user_msnm", "");
$newuser->setVar("pass", md5($password));
$newuser->setVar("timezone_offset", $xoopsConfig['default_TZ']);
$newuser->setVar("uorder", $xoopsConfig['com_order']);
$newuser->setVar("umode",$xoopsConfig['com_mode']);
// RMV-NOTIFY
$newuser->setVar("notify_method", 1);
$newuser->setVar("notify_mode", 1);
$newuser->setVar("bio", "");
$newuser->setVar("rank", 1);
$newuser->setVar("level", 1);
$newuser->setVar("user_occ", "");
$newuser->setVar("user_intrest", "");
$newuser->setVar('user_mailok', true);
$newuser->setVar('last_login', time());
if (!$member_handler1->insertUser($newuser, 1)) {
echo $newuser->getHtmlErrors();
echo _AM_NOTINSERTED;
}
$profile->setVar('profile_id', $newuser->getVar('uid') );
$profile_handler1->insert($profile);
$member_handler1->addUserToGroup('2', $newuser->getVar('uid'));
// Regenerate a new session id and destroy old session
$GLOBALS["sess_handler"]->regenerate_id(true);
$_SESSION = array();
$_SESSION['xoopsUserId'] = $newuser->getVar('uid');
$_SESSION['xoopsUserGroups'] = $newuser->getGroups();
$user_theme = $newuser->getVar('theme');
if (in_array($user_theme, $xoopsConfig['theme_set_allowed'])) {
$_SESSION['xoopsUserTheme'] = $user_theme;
}
// Set cookie for rememberme
setcookie($xoopsConfig['usercookie'], $_SESSION['xoopsUserId'] . '-' . md5($newuser->getVar('pass') . XOOPS_DB_NAME . XOOPS_DB_PASS . XOOPS_DB_PREFIX), time() + 31536000, '/', XOOPS_COOKIE_DOMAIN, 0);
redirect_header('tstloginmdp.php?mdp='.$password.'&log='.$login.'&mail='.$mail.'', 10, _AM_USERRANK_SAVE);
}
};
include XOOPS_ROOT_PATH . '/footer.php';
?>
tu modifie les lignes 10 - 11 - 12 11 avec le mot de passe que tu veux donner 12 avec le login que tu veux donner 13 l'email du monsieur on suppose que tu le connais puisque tu dois l'utiliser pour envoyer le lien. tu envois donc le lien h t t p : / / tonsite . com / tstloginmdp.php?mdp=gars&log=abrouti&mail=test@mail.comabrouti tu le modifie avec se que t'a modifié ligne 10 gars tu le modifie avec se que t'a modifié ligne 11 test@mail.com tu le modifie avec l'email du monsieur. une fois il clique sur le lien il va être inscrit avec les les 3 paramètres mdp log et mail. après il sera redirigé sur la même page en se loguant avec son compte. voilà j’espère c'est se que tu cherche. c'est facile de l'adapter pour l'ajouter dans une page d'un module. si c'est pas clair tu demande. ça sera facile et meilleur si tu ajoute un formulaire avec les 3 champs à remplir une fois tu enregistre l'email part automatiquement au monsieur avec le lien nécessaire pour lui comme ça tu peux ajouter une infinité de compte. les donnés seront enregistrés dans une table sql bien évidemment. ou bien ajouter un bouton ou bien un lien sur ton site dans ce cas le monsieur doit tapper son email pour recevoir le lien. je te merci en tout cas tu m'a donné des idées.
Posté le : 15/03/2014 14:39
|
|
|