     1: <?php
     2: /*************************************************************************************/
     3: /*                                                                                   */
     4: /*      Thelia                                                                       */
     5: /*                                                                                   */
     6: /*      Copyright (c) OpenStudio                                                     */
     7: /*  email : info@thelia.net                                                      */
     8: /*      web : http://www.thelia.net                                                  */
     9: /*                                                                                   */
    10: /*      This program is free software; you can redistribute it and/or modify         */
    11: /*      it under the terms of the GNU General Public License as published by         */
    12: /*      the Free Software Foundation; either version 3 of the License                */
    13: /*                                                                                   */
    14: /*      This program is distributed in the hope that it will be useful,              */
    15: /*      but WITHOUT ANY WARRANTY; without even the implied warranty of               */
    16: /*      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                */
    17: /*      GNU General Public License for more details.                                 */
    18: /*                                                                                   */
    19: /*      You should have received a copy of the GNU General Public License            */
    20: /*      along with this program. If not, see <http://www.gnu.org/licenses/>.     */
    21: /*                                                                                   */
    22: /*************************************************************************************/
    23:
    24: namespace Thelia\Log;
    25:
    26: use Thelia\Model\Config;
    27: use Thelia\Model\ConfigDesc;
    28: use Thelia\Model\ConfigQuery;
    29:
    30: class TlogDestinationConfig
    31: {
    32:
    33:     const TYPE_TEXTAREA = 1;
    34:     const TYPE_TEXTFIELD = 2;
    35:
    36:     public $name;
    37:     public $title;
    38:     public $label;
    39:     public $default;
    40:     public $type;
    41:     public $value;
    42:
    43:     public function __construct($name, $title, $label, $default, $type)
    44:     {
    45:         $this->name = $name;
    46:         $this->title = $title;
    47:         $this->label = $label;
    48:         $this->default = $default;
    49:         $this->type = $type;
    50:
    51:         $this->load();
    52:     }
    53:
    54:
    55:     public function load()
    56:     {
    57:         if (null === $config = ConfigQuery::create()->findOneByName($this->name))
    58:         {
    59:             $config = new Config();
    60:             $config->setName($this->name);
    61:             $config->setValue($this->default);
    62:             $config->setHidden(1);
    63:             $config->setSecured(1);
    64:             $config->save();
    65:         }
    66:
    67:         $this->value = $config->getValue();
    68:     }
    69: }
    70: