Exemplo n.º 1
0
 /**
  * Affichage d'un article d'actualités.
  *
  */
 public function newsItem($aMatches)
 {
     # module actuel
     $this->okt->page->module = 'news';
     $this->okt->page->action = 'item';
     # récupération de la page en fonction du slug
     if (!empty($aMatches[0])) {
         $sPostSlug = $aMatches[0];
     } else {
         $this->serve404();
     }
     # récupération de l'article
     $rsPost = $this->okt->news->getPost($sPostSlug, 1);
     if ($rsPost->isEmpty()) {
         $this->serve404();
     }
     # is default route ?
     $bIsDefaultRoute = $this->isDefaultRoute(__CLASS__, __FUNCTION__, $sPostSlug);
     # permission de lecture ?
     if (!$this->okt->news->isPublicAccessible() || !$rsPost->isReadable()) {
         if ($this->okt->user->is_guest) {
             http::redirect(html::escapeHTML(usersHelpers::getLoginUrl($rsPost->url)));
         } else {
             $this->serve404();
         }
     }
     # meta description
     if ($rsPost->meta_description != '') {
         $this->okt->page->meta_description = $rsPost->meta_description;
     } else {
         if ($this->okt->news->config->meta_description[$this->okt->user->language] != '') {
             $this->okt->page->meta_description = $this->okt->news->config->meta_description[$this->okt->user->language];
         } else {
             $this->okt->page->meta_description = util::getSiteMetaDesc();
         }
     }
     # meta keywords
     if ($rsPost->meta_keywords != '') {
         $this->okt->page->meta_keywords = $rsPost->meta_keywords;
     } else {
         if ($this->okt->news->config->meta_keywords[$this->okt->user->language] != '') {
             $this->okt->page->meta_keywords = $this->okt->news->config->meta_keywords[$this->okt->user->language];
         } else {
             $this->okt->page->meta_keywords = util::getSiteMetaKeywords();
         }
     }
     # title tag du module
     $this->okt->page->addTitleTag($this->okt->news->getTitle());
     # début du fil d'ariane
     if (!$bIsDefaultRoute) {
         $this->okt->page->breadcrumb->add($this->okt->news->getName(), $this->okt->news->config->url);
     }
     # si les rubriques sont activées
     if ($this->okt->news->config->categories['enable'] && $rsPost->category_id) {
         # title tag de la rubrique
         $this->okt->page->addTitleTag($rsPost->category_title);
         # ajout de la hiérarchie des rubriques au fil d'ariane
         if (!$bIsDefaultRoute) {
             $rsPath = $this->okt->news->categories->getPath($rsPost->category_id, true, $this->okt->user->language);
             while ($rsPath->fetch()) {
                 $this->okt->page->breadcrumb->add($rsPath->title, newsHelpers::getCategoryUrl($rsPath->slug));
             }
             unset($rsPath);
         }
     }
     # title tag de la page
     $this->okt->page->addTitleTag($rsPost->title_tag == '' ? $rsPost->title : $rsPost->title_tag);
     # titre de la page
     $this->okt->page->setTitle($rsPost->title);
     # titre SEO de la page
     $this->okt->page->setTitleSeo($rsPost->title_seo);
     # fil d'ariane de la page
     if (!$bIsDefaultRoute) {
         $this->okt->page->breadcrumb->add($rsPost->title, $rsPost->url);
     }
     # affichage du template
     echo $this->okt->tpl->render($this->okt->news->getItemTplPath($rsPost->tpl, $rsPost->category_items_tpl), array('rsPost' => $rsPost));
 }
Exemplo n.º 2
0
		<li><a href="<?php 
    echo html::escapeHTML(usersHelpers::getForgetPasswordUrl());
    ?>
"><?php 
    _e('c_c_auth_forgot_password');
    ?>
</a></li>
		<?php 
}
# fin Okatea : lien page mot de passe oublié
?>

		<?php 
# début Okatea : lien page inscription
if ($okt->users->config->enable_register_page) {
    ?>
		<li><a href="<?php 
    echo html::escapeHTML(usersHelpers::getRegisterUrl());
    ?>
"><?php 
    _e('c_c_auth_register');
    ?>
</a></li>
		<?php 
}
# fin Okatea : lien page inscription
?>
	</ul>

</form>
Exemplo n.º 3
0
        ?>
"><?php 
        _e('c_c_auth_login');
        ?>
</a></li>
		<?php 
    }
    # fin Okatea : lien page connexion
    ?>

		<?php 
    # début Okatea : lien page mot de passe oublié
    if ($okt->users->config->enable_forget_password_page) {
        ?>
		<li><a href="<?php 
        echo html::escapeHTML(usersHelpers::getForgetPasswordUrl());
        ?>
"><?php 
        _e('c_c_auth_forgot_password');
        ?>
</a></li>
		<?php 
    }
    # fin Okatea : lien page mot de passe oublié
    ?>
	</ul>

</form>

<?php 
}
Exemplo n.º 4
0
 /**
  * Retourne l'URL de la page de connexion en fonction de la configuration.
  *
  * @param string $sRedirectUrl
  * @return string
  * @deprecated
  */
 public function getLoginUrl($sRedirectUrl = null)
 {
     return usersHelpers::getLoginUrl($sRedirectUrl);
 }
Exemplo n.º 5
0
 /**
  * Affichage de la page de profil utilisateur.
  *
  */
 public function usersProfile()
 {
     # module actuel
     $this->okt->page->module = 'users';
     $this->okt->page->action = 'profile';
     # page désactivée ?
     if (!$this->okt->users->config->enable_profile_page) {
         $this->serve404();
     }
     # invité non convié
     if ($this->okt->user->is_guest) {
         http::redirect(html::escapeHTML(usersHelpers::getLoginUrl(usersHelpers::getProfileUrl())));
     }
     # données utilisateur
     $rsUser = $this->okt->users->getUser($this->okt->user->id);
     $aUserProfilData = array('id' => $this->okt->user->id, 'username' => $rsUser->username, 'email' => $rsUser->email, 'civility' => $rsUser->civility, 'lastname' => $rsUser->lastname, 'firstname' => $rsUser->firstname, 'language' => $rsUser->language, 'timezone' => $rsUser->timezone, 'password' => '', 'password_confirm' => '');
     unset($rsUser);
     # Champs personnalisés
     $aPostedData = array();
     $aFieldsValues = array();
     if ($this->okt->users->config->enable_custom_fields) {
         $this->rsAdminFields = $this->okt->users->fields->getFields(array('status' => true, 'admin_editable' => true, 'language' => $this->okt->user->language));
         # Liste des champs utilisateur
         $this->rsUserFields = $this->okt->users->fields->getFields(array('status' => true, 'user_editable' => true, 'language' => $this->okt->user->language));
         # Valeurs des champs
         $rsFieldsValues = $this->okt->users->fields->getUserValues($this->okt->user->id);
         while ($rsFieldsValues->fetch()) {
             $aFieldsValues[$rsFieldsValues->field_id] = $rsFieldsValues->value;
         }
         # Initialisation des données des champs
         while ($this->rsUserFields->fetch()) {
             switch ($this->rsUserFields->type) {
                 default:
                 case 1:
                     # Champ texte
                 # Champ texte
                 case 2:
                     # Zone de texte
                     $aPostedData[$this->rsUserFields->id] = !empty($_POST[$this->rsUserFields->html_id]) ? $_POST[$this->rsUserFields->html_id] : (!empty($aFieldsValues[$this->rsUserFields->id]) ? $aFieldsValues[$this->rsUserFields->id] : '');
                     break;
                 case 3:
                     # Menu déroulant
                     $aPostedData[$this->rsUserFields->id] = isset($_POST[$this->rsUserFields->html_id]) ? $_POST[$this->rsUserFields->html_id] : (!empty($aFieldsValues[$this->rsUserFields->id]) ? $aFieldsValues[$this->rsUserFields->id] : '');
                     break;
                 case 4:
                     # Boutons radio
                     $aPostedData[$this->rsUserFields->id] = isset($_POST[$this->rsUserFields->html_id]) ? $_POST[$this->rsUserFields->html_id] : (!empty($aFieldsValues[$this->rsUserFields->id]) ? $aFieldsValues[$this->rsUserFields->id] : '');
                     break;
                 case 5:
                     # Cases à cocher
                     $aPostedData[$this->rsUserFields->id] = !empty($_POST[$this->rsUserFields->html_id]) && is_array($_POST[$this->rsUserFields->html_id]) ? $_POST[$this->rsUserFields->html_id] : (!empty($aFieldsValues[$this->rsUserFields->id]) ? $aFieldsValues[$this->rsUserFields->id] : '');
                     break;
             }
         }
     }
     # Suppression des cookies
     if (!empty($_REQUEST['cookies'])) {
         $aCookies = array_keys($_COOKIE);
         unset($aCookies[OKT_COOKIE_AUTH_NAME]);
         foreach ($aCookies as $c) {
             unset($_COOKIE[$c]);
             setcookie($c, null);
         }
         http::redirect(html::escapeHTML(usersHelpers::getProfileUrl()));
     }
     # Formulaire de changement de mot de passe
     if (!empty($_POST['change_password']) && $this->okt->checkPerm('change_password')) {
         $aUserProfilData['password'] = !empty($_POST['edit_password']) ? $_POST['edit_password'] : '';
         $aUserProfilData['password_confirm'] = !empty($_POST['edit_password_confirm']) ? $_POST['edit_password_confirm'] : '';
         $this->okt->users->changeUserPassword($aUserProfilData);
         http::redirect(html::escapeHTML(usersHelpers::getProfileUrl()));
     }
     # Formulaire de modification de l'utilisateur envoyé
     if (!empty($_POST['form_sent'])) {
         $aUserProfilData = array('id' => $this->okt->user->id, 'username' => isset($_POST['edit_username']) ? $_POST['edit_username'] : '', 'email' => isset($_POST['edit_email']) ? $_POST['edit_email'] : '', 'civility' => isset($_POST['edit_civility']) ? $_POST['edit_civility'] : '', 'lastname' => isset($_POST['edit_lastname']) ? $_POST['edit_lastname'] : '', 'firstname' => isset($_POST['edit_firstname']) ? $_POST['edit_firstname'] : '', 'language' => isset($_POST['edit_language']) ? $_POST['edit_language'] : '', 'timezone' => isset($_POST['edit_timezone']) ? $_POST['edit_timezone'] : '');
         if ($this->okt->users->config->merge_username_email) {
             $aUserProfilData['username'] = $aUserProfilData['email'];
         }
         # peuplement et vérification des champs personnalisés obligatoires
         if ($this->okt->users->config->enable_custom_fields) {
             $this->okt->users->fields->getPostData($this->rsUserFields, $aPostedData);
         }
         if ($this->okt->users->updUser($aUserProfilData)) {
             # -- CORE TRIGGER : adminModUsersProfileProcess
             $this->okt->triggers->callTrigger('adminModUsersProfileProcess', $this->okt, $_POST);
             if ($this->okt->users->config->enable_custom_fields) {
                 while ($this->rsUserFields->fetch()) {
                     $this->okt->users->fields->setUserValues($this->okt->user->id, $this->rsUserFields->id, $aPostedData[$this->rsUserFields->id]);
                 }
             }
             http::redirect(html::escapeHTML(usersHelpers::getProfileUrl()));
         }
     }
     # fuseaux horraires
     $aTimezone = dt::getZones(true, true);
     # langues
     $aLanguages = $this->getLanguages();
     # title tag
     $this->okt->page->addTitleTag(__('c_c_user_profile'));
     # titre de la page
     $this->okt->page->setTitle(__('c_c_user_profile'));
     # titre SEO de la page
     $this->okt->page->setTitleSeo(__('c_c_user_profile'));
     # fil d'ariane
     if (!$this->isDefaultRoute(__CLASS__, __FUNCTION__)) {
         $this->okt->page->breadcrumb->add(__('c_c_user_profile'), usersHelpers::getProfileUrl());
     }
     # affichage du template
     echo $this->okt->tpl->render($this->okt->users->getProfileTplPath(), array('aUserProfilData' => $aUserProfilData, 'aTimezone' => $aTimezone, 'aLanguages' => $aLanguages, 'aCivilities' => $this->getCivities(false), 'rsAdminFields' => $this->rsAdminFields, 'rsUserFields' => $this->rsUserFields, 'aPostedData' => $aPostedData, 'aFieldsValues' => $aFieldsValues));
 }
Exemplo n.º 6
0
" />
	<?php 
echo form::hidden('form_sent', 1);
?>
</p>
</form>

<?php 
if ($okt->checkPerm('change_password')) {
    ?>
<h2><?php 
    _e('m_users_Update_paswword');
    ?>
</h2>
<form class="userform" id="change-password-form" action="<?php 
    echo html::escapeHTML(usersHelpers::getProfileUrl());
    ?>
" method="post">
	<fieldset>
		<legend><?php 
    _e('m_users_Update_paswword');
    ?>
</legend>
		<div class="two-cols">
			<p class="field col"><label for="edit_password"><?php 
    _e('c_c_user_Password');
    ?>
</label>
			<?php 
    echo form::password('edit_password', 35, 255, html::escapeHTML($aUserProfilData['password']));
    ?>