public function vergleichAction()
 {
     $tarifModel = new Application_Model_Tarif();
     $tarife = $this->getRequest()->getParam('tarife', false);
     if ($tarife) {
         if (strstr($tarife, '|') || is_numeric($tarife)) {
             $tarifIds = explode('|', $tarife);
             if (count($tarifIds) >= 1 && count($tarifIds) <= 3) {
                 $tarifList = array();
                 foreach ($tarifIds as $id) {
                     if (is_numeric($id)) {
                         $tmpTarif = $tarifModel->getById($id);
                         if ($tmpTarif) {
                             $tarifList[] = $tmpTarif;
                         }
                     }
                 }
             } else {
                 $this->_redirect('tarife/index');
             }
         } else {
             $this->_redirect('tarife/index');
         }
     } else {
         $this->_redirect('tarife/index');
     }
     $this->view->assign('tarife', $tarifList);
 }
 /**
  * 
  */
 public function empfehlung($type)
 {
     $tarifModel = new Application_Model_Tarif();
     switch ($type) {
         case 'preis':
             return $tarifModel->getById(1);
             break;
         case 'bonus':
             $allTarif = $tarifModel->getAll();
             /* Tarif für suggestion:größter Wechselbonus suchen */
             $bestBoniTarif = null;
             $bestBoniSumme = 0;
             foreach ($allTarif as $actualTarif) {
                 $boniSumme = $actualTarif->getBoniSum() - $actualTarif->preis_start;
                 if ($boniSumme >= $bestBoniSumme) {
                     $bestBoniTarif = $actualTarif;
                     $bestBoniSumme = $boniSumme;
                 }
             }
             return $bestBoniTarif;
             break;
         case 'bewertung':
             return $tarifModel->getBest();
             break;
     }
 }
 /**
  * 
  */
 public function Homepagetitel()
 {
     $tarifModel = new Application_Model_Tarif();
     $request = Zend_Controller_Front::getInstance()->getRequest();
     $controller = $request->getControllerName();
     $action = $request->getActionName();
     $controllerAndAction = $controller . '/' . $action;
     switch ($controllerAndAction) {
         case 'index/index':
         case 'vergleich/index':
             return 'Prepaid Vergleich für ' . count($tarifModel->getAll()) . ' Prepaid Tarife für Handy und Smartphone';
             break;
         case 'empfehlung/index':
             return 'Prepaid Karten und Prepaid Tarif Empfehlungen für D1, D2, e-Plus und O2';
             break;
         case 'empfehlung/details':
             switch ($request->getParam('name', null)) {
                 case 'guenstigste-prepaid-karten-nach-tarif':
                     return 'Vergleich der günstigsten Prepaid Karten und Prepaid Tarife';
                     break;
                 case 'prepaid-karten-mit-groessten-startbonus':
                     return 'Vergleich der Prepaid Karten und Prepaid Tarife mit groeßten Bonus ';
                     break;
                 case 'kostenlose-prepaid-karten':
                     return 'Kostenlose Prepaid Karten im Vergleich';
                     break;
                 case 'prepaid-karten-mit-bester-nutzerbewertung':
                     return 'Vergleich der Prepaid Karten und Prepaid Tarif mit bester Nutzerbewertung ';
                     break;
                 case 'beste-prepaid-karten-im-d2-netz':
                     return 'Vergleich der Besten Prepaid Karten und Prepaid Tarif im D2 Netz ';
                     break;
                 case 'beste-prepaid-karten-im-d1-netz':
                     return 'Vergleich der Besten Prepaid Karten und Prepaid Tarif im D1 Netz ';
                     break;
                 case 'beste-prepaid-karten-im-o2-netz':
                     return 'Vergleich der Besten Prepaid Karten und Prepaid Tarif im O2 Netz ';
                     break;
                 case 'beste-prepaid-karten-im-e-plus-netz':
                     return 'Vergleich der Besten Prepaid Karten und Prepaid Tarif im e-Plus Netz ';
                     break;
                 case 'prepaid-karten-tarif-mit-kostenstopp':
                     return 'Vergleich der Prepaid Karten und Prepaid Tarif mit Kostenstopp';
                     break;
                 case 'prepaid-karten-tarif-mit-postpaid-rechnung':
                     return 'Vergleich der Prepaid Karten und Prepaid Tarif mit Postpaid (Rechnung) Zahloption';
                     break;
                 default:
                     return 'Prepaid Karten und Prepaid Tarif Empfehlungen für D1, D2, e-Plus und O2';
                     break;
             }
             break;
         case 'index/vergleich':
             return 'Individueller Vergleich von verschiedenen Prepaid Tarifen';
             break;
         case 'index/details':
             $foundId = null;
             $tarifModel = new Application_Model_Tarif();
             $allTarifs = $tarifModel->getAll();
             $allNames = array();
             foreach ($allTarifs as $tarif) {
                 $allNames[strtolower(preg_replace('/[^A-z0-9]/', '-', $tarif->anbieter) . '-' . preg_replace('/[^A-z0-9]/', '-', $tarif->name))] = $tarif->id;
             }
             $foundId = $allNames[$request->getParam('name', null)];
             if ($foundId === null) {
                 $this->_forward('uebersicht');
             }
             $tarif = $tarifModel->getById($foundId);
             if (!$tarif) {
                 $name = '';
             } else {
                 $name = $tarif->anbieter . ' mit ' . $tarif->name . ' im ' . $tarif->netz . '-Netz mit Nutzerbewertungen';
             }
             return 'Prepaid Vergleich : Details von ' . $name;
             break;
         case 'news/index':
             return 'Prepaid Karten und Prepaid Tarif News';
             break;
         case 'news/details':
             return 'Prepaid Karten und Prepaid Tarif News : Details';
             break;
     }
 }
 /**
  * 
  */
 public function tarifmitid($tarifId)
 {
     $tarifModel = new Application_Model_Tarif();
     return $tarifModel->getById($tarifId);
 }
 /**
  * 
  */
 public function Metakeywords()
 {
     $tarifModel = new Application_Model_Tarif();
     $request = Zend_Controller_Front::getInstance()->getRequest();
     $controller = $request->getControllerName();
     $action = $request->getActionName();
     $controllerAndAction = $controller . '/' . $action;
     $permanent = "Prepaid, Prepaid Karte, Prepaid Vergleich, Prepaid Tarif, SIM, SIM Vergleich, SIM Karte";
     switch ($controllerAndAction) {
         case 'index/index':
             return $permanent . '';
             break;
         case 'index/details':
             $foundId = null;
             $tarifModel = new Application_Model_Tarif();
             $allTarifs = $tarifModel->getAll();
             $allNames = array();
             foreach ($allTarifs as $tarif) {
                 $allNames[strtolower(preg_replace('/[^A-z0-9]/', '-', $tarif->anbieter) . '-' . preg_replace('/[^A-z0-9]/', '-', $tarif->name))] = $tarif->id;
             }
             $foundId = $allNames[$request->getParam('name', null)];
             if ($foundId === null) {
                 $this->_forward('uebersicht');
             }
             $tarif = $tarifModel->getById($foundId);
             if (!$tarif) {
                 $name = '';
             } else {
                 $name = $tarif->anbieter . ' mit ' . $tarif->name . ' im ' . $tarif->netz . '-Netz mit Nutzerbewertungen';
             }
             return $permanent . ', Details, Tarif, Tarifdetails, Kosten, Flatrates, ' . $tarif->anbieter . ', ' . $tarif->name;
             break;
         case 'empfehlung/index':
             return $permanent . ', Empfehlung';
             break;
         case 'empfehlung/details':
             switch ($request->getParam('name', null)) {
                 case 'guenstigste-prepaid-karten-nach-tarif':
                     return $permanent . ', Empfehlung, günstigster, billigster, preiswert';
                     break;
                 case 'prepaid-karten-mit-groessten-startbonus':
                     return $permanent . ', Empfehlung, Bonus, Wechselbonus, Startguthaben, Guthaben';
                     break;
                 case 'kostenlose-prepaid-karten':
                     return 'kostenlos, ohne Kosten, gebührenfrei';
                     break;
                 case 'prepaid-karten-mit-bester-nutzerbewertung':
                     return $permanent . ', Empfehlung, Nutzerbewertung, 5 Sterne, Testsieger';
                     break;
                 case 'beste-prepaid-karten-im-d2-netz':
                     return $permanent . ', D2, D2-Netz, Vodafone, Vodafone-Netz';
                     break;
                 case 'beste-prepaid-karten-im-d1-netz':
                     return $permanent . ', D1, D1-Netz, T-Mobile, T-Mobile-Netz';
                     break;
                 case 'beste-prepaid-karten-im-o2-netz':
                     return $permanent . ', O2, O2-Netz';
                     break;
                 case 'beste-prepaid-karten-im-e-plus-netz':
                     return $permanent . ', e-Plus, e-Plus-Netz';
                     break;
                 case 'prepaid-karten-tarif-mit-kostenstopp':
                     return $permanent . ', Kosten-Stopp, kostenstopp, Kostenbremse, ';
                     break;
                 case 'prepaid-karten-tarif-mit-postpaid-rechnung':
                     return ', auf Rechnung, Postpaid, Post-Paid, Zahloption';
                     break;
                 default:
                     return $permanent . ', Empfehlung';
                     break;
             }
             break;
         case 'news/index':
             return 'Neuigkeiten, News, Aktion';
             break;
         case 'seiten/impressum':
             return 'Impressum';
             break;
         case 'seiten/kontakt':
             return 'Kontakt';
             break;
     }
 }