ilch Forum » Ilch CMS 2.X » Fehlersuche und Probleme » [ERLEDIGT] Foren/Kategorien erstellen

Geschlossen
  1. #1
    User Pic
    eisvogel10 Mitglied
    Registriert seit
    06.11.2009
    Beiträge
    142
    Beitragswertungen
    21 Beitragspunkte
    Seit dem Update auf Version 2.1.3 ist es mir nicht mehr möglich Foren/Kategorien im Backend zu erstellen bzw. hinzuzufügen, davor ging es einwandfrei.
    Edit 1: Veränderungen an Kategorien und Foren sind auch nicht mehr möglich
    Edit 2: Ilch Version 2.1.3 in neuer Umgebung und Datenbank installiert - auch dort ist der gleiche Fehler reproduzierbar grumml

    Fehlercode:
    An unexpected error occurred:
    
    property "forumId" not defined


    Hat das noch jemand oder wo liegt der Hund begraben, einer eine Idee ?

    Gruß eisvogel


    verwendete ilch Version: 2.x

    betroffene Homepage: tactical-gamers.eu/portal/


    Zuletzt modifiziert von eisvogel10 am 01.12.2017 - 12:50:25
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    blackcoder Entwickler
    Registriert seit
    22.05.2014
    Beiträge
    2.401
    Beitragswertungen
    389 Beitragspunkte
    Bitte einmal diese Zeile auskommentieren oder löschen.
    github.com/IlchCMS/Ilch-2.0/blob/v2.1.3/application/modules/forum/controllers/admin/Index.php#L78

    Problem behoben?


    Zuletzt modifiziert von blackcoder am 02.12.2017 - 22:12:25
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    eisvogel10 Mitglied
    Registriert seit
    06.11.2009
    Beiträge
    142
    Beitragswertungen
    21 Beitragspunkte
    hier in Zeile 78 lag der tote Hund begraben ...

    <?php
    /**
     * @copyright Ilch 2.0
     * @package ilch
     */
    
    namespace Modules\Forum\Controllers\Admin;
    
    use Modules\Forum\Mappers\Forum as ForumMapper;
    use Modules\Forum\Controllers\Admin\Base as BaseController;
    use Modules\User\Mappers\Group as UserGroupMapper;
    use Ilch\Validation;
    
    class Index extends BaseController
    {
        public function indexAction() 
        {
            $this->getLayout()->getAdminHmenu()
                    ->add($this->getTranslator()->trans('forum'), ['action' => 'index']);
    
            $forumMapper = new ForumMapper();
            $userGroupMapper = new UserGroupMapper();
    
            /*
             * Saves the item tree to database.
             */
            if ($this->getRequest()->isPost()) {
                if ($this->getRequest()->getPost('save')) {
                    $sortItems = json_decode($this->getRequest()->getPost('hiddenMenu'));
                    $items = $this->getRequest()->getPost('items');
    
                    foreach ($items as $item) {
                        $validation = Validation::create($item, [
                            'type' => 'required|numeric|integer',
                            'title' => 'required',
                            'readAccess' => 'min:0',
                            'replayAccess' => 'min:0',
                        ]);
                        if (!$validation->isValid()) {
                            $this->addMessage($validation->getErrorBag()->getErrorMessages(), 'danger', true);
                            $this->redirect()
                                ->withErrors($validation->getErrorBag())
                                ->to(['action' => 'index']);
                        }
                    }
    
                    $oldItems = $forumMapper->getForumItems();
    
                    /*
                     * Deletes old entries from database.
                     */
                    if (!empty($oldItems)) {
                        foreach ($oldItems as $oldItem) {
                            if (!isset($items[$oldItem->getId()])) {
                                $forumMapper->deleteItem($oldItem);
                            }
                        }
                    }
    
                    if ($items) {
                        $sortArray = [];
    
                        foreach ($sortItems as $sortItem) {
                            if ($sortItem->item_id !== null) {
                                $sortArray[$sortItem->item_id] = (int)$sortItem->parent_id;
                            }
                        }
    
                        foreach ($items as $item) {
                            $forumItem = new \Modules\Forum\Models\ForumItem;
    
                            if (strpos($item['id'], 'tmp_') !== false) {
                                $tmpId = str_replace('tmp_', '', $item['id']);
                            } else {
                                $forumItem->setId($item['id']);
                            }
    
                            $forumItem->setForumId(1);  // toter Hund wurde gelöscht ;)
                            $forumItem->setType($item['type']);
                            $forumItem->setTitle($item['title']);
                            $forumItem->setDesc($item['desc']);
                            // Don't try to store these values for a categorie. This avoids storing "undefined" from JS in the database.
                            if ($item['type'] != 0) {
                                $forumItem->setPrefix($item['prefix']);
                                $forumItem->setReadAccess($item['readAccess']);
                                $forumItem->setReplayAccess($item['replayAccess']);
                                $forumItem->setCreateAccess($item['createAccess']);
                            }
                            $newId = $forumMapper->saveItem($forumItem);
    
                            if (isset($tmpId)) {
                                foreach ($sortArray as $id => $parentId) {
                                    if ($id == $tmpId) {
                                        unset($sortArray[$id]);
                                        $sortArray[$newId] = $parentId;
                                    }
    
                                    if ($parentId == $tmpId) {
                                        $sortArray[$id] = $newId;
                                    }
                                }
                            }
                        }
    
                        $sort = 0;
    
                        foreach ($sortArray as $id => $parent) {
                            $forumItem = new \Modules\Forum\Models\ForumItem();
                            $forumItem->setId($id);
                            $forumItem->setSort($sort);
                            $forumItem->setParentId($parent);
                            $forumMapper->saveItem($forumItem);
                            $sort += 10;
                        }
                    }
                }
    
                $this->addMessage('saveSuccess');
                $this->redirect(['action' => 'index']);
            }
    
            $forumItems = $forumMapper->getForumItemsByParent(0);
            $this->getView()->set('forumItems', $forumItems);
            $this->getView()->set('forumMapper', $forumMapper);
    
            $userGroupList = $userGroupMapper->getGroupList();
            $this->getView()->set('userGroupList', $userGroupList);
        }
    }


    nur warum hatte das Script den ($forumItem->setForumId(1);) seit dem Update (Forum/CMS) im Code ?

    Danke , die Ilch Community ist einfach das Beste YesVictory
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    blackcoder Entwickler
    Registriert seit
    22.05.2014
    Beiträge
    2.401
    Beitragswertungen
    389 Beitragspunkte
    Ja, das war die Zeile, die ich verlinkt hatte.

    Die Zeile war bereits vorher vorhanden. Hätte nur zusammen mit anderen Änderungen in 2.1.3 entfernt werden müssen.

    Wird mit dem nächsten Update behoben. Danke fürs Testen.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten