DropdownTranslation::post_purgeItem PHP Method

post_purgeItem() public method

public post_purgeItem ( )
    function post_purgeItem()
    {
        if ($this->fields['field'] == 'name') {
            $translation = new self();
            //If last translated field is deleted, then delete also completename record
            if ($this->getNumberOfTranslations($this->fields['itemtype'], $this->fields['items_id'], $this->fields['field'], $this->fields['language']) == 0) {
                if ($completenames_id = self::getTranslationID($this->fields['items_id'], $this->fields['itemtype'], 'completename', $this->fields['language'])) {
                    $translation->delete(array('id' => $completenames_id));
                }
            }
            // If only completename for sons : drop
            // foreach (getSonsOf(getTableForItemType($this->fields['itemtype']),
            //                                        $this->fields['items_id']) as $son) {
            //    if ($this->getNumberOfTranslations($this->fields['itemtype'], $son,
            //                                      'name', $this->fields['language']) == 0) {
            //       $completenames_id = self::getTranslationID($son, $this->fields['itemtype'],
            //                                                      'completename',
            //                                                      $this->fields['language']);
            //       if ($completenames_id) {
            //          $translation = new self();
            //          $translation->delete(array('id' => $completenames_id));
            //       }
            //    }
            // }
            // Then update all sons records
            if (!isset($this->input['_no_completename'])) {
                $translation->generateCompletename($this->fields, false);
            }
        }
        return true;
    }