本文整理汇总了PHP中Documents::createSlug方法的典型用法代码示例。如果您正苦于以下问题:PHP Documents::createSlug方法的具体用法?PHP Documents::createSlug怎么用?PHP Documents::createSlug使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Documents
的用法示例。
在下文中一共展示了Documents::createSlug方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: envoyerAction
function envoyerAction()
{
$this->view->doc = $d = $this->_helper->Document(false);
if ($d) {
$this->metas(array('DC.Title' => 'Éditer'));
$this->view->unite = $unite = $d->findUnite();
} else {
$this->view->unite = $unite = $this->_helper->Unite(false);
$this->branche->append('Documents', array('action' => 'index'));
$this->metas(array('DC.Title' => 'Envoyer un document', 'DC.Title.alternative' => 'Envoyer'));
$this->branche->append();
}
$t = new Unites();
$unites = $t->fetchAll();
$envoyables = array();
foreach ($unites as $u) {
if ($this->assert(null, $u, 'envoyer-document')) {
$envoyables[$u->id] = $u->getFullName();
}
}
if (!count($envoyables)) {
throw new Strass_Controller_Action_Exception_Forbidden("Vous n'avez le droit d'envoyer de document pour aucune unité");
}
$this->view->model = $m = new Wtk_Form_Model('envoyer');
$m->addNewSubmission('envoyer', "Envoyer");
$m->addEnum('unite', "Unité", $unite->id, $envoyables);
$i = $m->addString('titre', "Titre", $d ? $d->titre : null);
$m->addConstraintRequired($i);
$m->addString('auteur', "Auteur", $d ? $d->auteur : null);
$m->addDate('date', "Date", $d ? $d->date : strftime('%F %T'));
$m->addString('description', "Description", $d ? $d->description : null);
$i = $m->addInstance('File', 'fichier', "Fichier");
if (!$d) {
$m->addConstraintRequired($i);
}
if ($m->validate()) {
$t = new Documents();
$db = $t->getAdapter();
$db->beginTransaction();
try {
if ($d) {
$message = "Document modifié";
$du = $d->findDocsUnite()->current();
} else {
if (!$d) {
$message = "Document envoyé";
$d = new Document();
$du = new DocUnite();
}
}
$d->slug = $t->createSlug(wtk_strtoid($m->titre), $d->slug);
$d->titre = $m->titre;
$d->auteur = $m->auteur;
$d->date = $m->date;
$d->description = $m->description;
if ($i->isUploaded()) {
$d->suffixe = strtolower(end(explode('.', $m->fichier['name'])));
$d->save();
$d->storeFile($i->getTempFilename());
} else {
$d->save();
}
$du->document = $d->id;
$du->unite = $m->unite;
$du->save();
$this->logger->info($message, $this->_helper->Url('index', null, null, array('unite' => $du->findParentUnites()->slug), true));
$db->commit();
} catch (Exception $e) {
$db->rollBack();
throw $e;
}
$this->redirectSimple('details', null, null, array('document' => $d->slug));
}
}
示例2: envoyerAction
function envoyerAction()
{
if ($this->_getParam('article')) {
$a = $this->_helper->Article();
$j = $a->findParentJournaux();
$c = $a->findParentCommentaires();
try {
$d = $a->findDocument();
} catch (Strass_Db_Table_NotFound $e) {
$this->redirectSimple('ecrire');
}
$message = "Article édité";
} else {
$a = null;
$j = $this->_helper->Journal();
$message = "Article envoyé";
}
$this->metas(array('DC.Title' => "Envoyer"));
$this->branche->append();
if ($a) {
$this->assert(null, $a, null, "Vous n'avez pas le droit d'éditer " . $a);
} else {
$this->assert(null, $j, null, "Vous n'avez pas le droit d'envoyer un PDF dans " . $j);
}
$this->view->unite = $u = $j->findParentUnites();
$publier = $this->assert(null, $j, 'publier');
$this->view->model = $m = new Wtk_Form_Model('envoyer');
$me = Zend_Registry::get('individu');
if ($publier) {
$i = $m->addEnum('auteur', "Auteur");
/* on inclus les membres de sous-unité : le scout peuvent écrire
dans la gazette de troupe */
foreach ($u->findInscrits(null, 1) as $individu) {
$i->addItem($individu->id, $individu->getFullname(false));
}
if (!count($i)) {
throw new Strass_Controller_Action_Exception_Notice("L'auteur de l'article doit être un membre, mais cette unité n'a aucun membre !");
}
if ($a) {
$i->set($a->findAuteur()->id);
} else {
$i->set($me->id);
}
} else {
$i = $m->addInteger('auteur', "Auteur", $me->id, true);
}
$i = $m->addInstance('File', 'fichier', "Fichier");
if (!$a) {
$m->addConstraintRequired($i);
}
$i = $m->addString('titre', "Titre", $a ? $a->titre : null);
$m->addConstraintRequired($i);
$m->addDate('date', 'Date', $a ? $c->date : null);
if ($publier) {
$m->addEnum('public', 'Publication', $a ? $a->public : null, array(0 => 'Brouillon', 1 => 'Publier'));
}
$m->addNewSubmission('envoyer', "Envoyer");
if ($m->validate()) {
$td = new Documents();
$db = $td->getAdapter();
$db->beginTransaction();
try {
$da = (bool) $a;
if (!$a) {
$a = new Article();
$c = new Commentaire();
$d = new Document();
}
$d->slug = $td->createSlug($j->slug . '-' . $m->titre, $d->slug);
$d->titre = $m->titre;
$d->date = $m->date;
$i = $m->getInstance('fichier');
if ($i->isUploaded()) {
$d->suffixe = strtolower(end(explode('.', $m->fichier['name'])));
$d->storeFile($i->getTempFilename());
}
$d->save();
$c->auteur = $m->auteur;
$c->date = $m->date;
$c->save();
$a->slug = $a->getTable()->createSlug($m->titre, $a->slug);
$a->journal = $j->id;
$a->titre = $m->titre;
$a->article = '!document';
try {
$a->public = (int) $m->public;
} catch (Exception $e) {
}
$a->commentaires = $c->id;
$a->save();
if (!$da) {
$da = new DocArticle();
$da->article = $a->id;
$da->document = $d->id;
$da->save();
}
$this->logger->info($message, $this->_helper->url('consulter', 'journaux', null, array('article' => $a->slug), true));
if (!$this->assert(null, $j, 'publier')) {
$mail = new Strass_Mail_Article($a);
$mail->send();
//.........这里部分代码省略.........