/** * Returns class instance * * @return SOCIALSHARING_BOL_Service */ public static function getInstance() { if (null === self::$classInstance) { self::$classInstance = new self(); } return self::$classInstance; }
/** * Class constructor */ public function __construct($params = array()) { $this->imageUrl = SOCIALSHARING_BOL_Service::getInstance()->getDefaultImageUrl(); if (!OW::getConfig()->getValue('socialsharing', 'api_key')) { $this->setVisible(false); } if (OW::getConfig()->getValue('base', 'guests_can_view') != 1 || OW::getConfig()->getValue('base', 'maintenance')) { $this->setVisible(false); } parent::__construct(); if (!empty($params['title'])) { $this->setTitle($params['title']); } if (!empty($params['description'])) { $this->setDescription($params['description']); } if (!empty($params['url'])) { $this->setCustomUrl($params['url']); } if (!empty($params['image'])) { $this->setImageUrl($params['image']); } }
public function defaultImage() { $this->contentMenu->getElement('socialsharing_default_image')->setActive(true); $settings = new Form('default_image'); $settings->setEnctype("multipart/form-data"); $file = new FileField('image'); $validator = new SocialSharingImageValidator(true); $file->addValidator($validator); $settings->addElement($file); $submit = new Submit('upload'); $submit->setValue(OW::getLanguage()->text('socialsharing', 'upload')); $settings->addElement($submit); //printVar($config->getValue('socialsharing', 'facebook')); if (OW::getRequest()->isPost()) { if ($settings->isValid($_POST)) { SOCIALSHARING_BOL_Service::getInstance()->uploadImage($_FILES['image']['tmp_name']); OW::getFeedback()->info(OW::getLanguage()->text('socialsharing', 'upload_complite')); //Setting succsessfully saved } else { $message = OW::getLanguage()->text('base', 'upload_file_fail'); switch ($_FILES['image']['error']) { case UPLOAD_ERR_INI_SIZE: $message = $language->text('base', 'upload_file_max_upload_filesize_error'); break; case UPLOAD_ERR_PARTIAL: $message = $language->text('base', 'upload_file_file_partially_uploaded_error'); break; case UPLOAD_ERR_NO_FILE: $message = $language->text('base', 'upload_file_no_file_error'); break; case UPLOAD_ERR_NO_TMP_DIR: $message = $language->text('base', 'upload_file_no_tmp_dir_error'); break; case UPLOAD_ERR_CANT_WRITE: $message = $language->text('base', 'upload_file_cant_write_file_error'); break; case UPLOAD_ERR_EXTENSION: $message = $language->text('base', 'upload_file_invalid_extention_error'); break; } OW::getFeedback()->error($message); } $this->redirect(); } $this->addForm($settings); $this->assign('imageUrl', SOCIALSHARING_BOL_Service::getInstance()->getDefaultImageUrl()); }
/** * Default action */ public function index() { //$this->contentMenu->getElement('socialsharing_index')->setActive(true); $config = OW::getConfig(); $order = $config->getValue('socialsharing', 'order'); $defautOrder = SOCIALSHARING_CLASS_Settings::getEntityList(); if (!empty($order)) { $order = json_decode($order, true); if (!is_array($order)) { $order = $defautOrder; } $result = array(); foreach ($order as $key => $item) { if (in_array($key, $defautOrder)) { $result[$key] = $key; } } if (!empty($order)) { $order = $result; } else { $order = $defautOrder; } } else { $order = $defautOrder; } $this->assign('order', $order); $settings = new Form('settings'); //printVar($order); foreach ($order as $item) { $element = new CheckboxField($item); $element->setValue($config->getValue('socialsharing', $item)); $settings->addElement($element); } $settings->setEnctype("multipart/form-data"); $file = new FileField('image'); $validator = new SocialSharingImageValidator(true); $file->addValidator($validator); $settings->addElement($file); $submit = new Submit('save_settings'); $settings->addElement($submit); //printVar($config->getValue('socialsharing', 'facebook')); $apiKeyForm = new Form('api_key_form'); $key = new TextField('api_key'); $key->setLabel(OW::getLanguage()->text('socialsharing', 'api_key_label')); $key->setRequired(); $apiKey = OW::getConfig()->getValue('socialsharing', 'api_key'); $key->setValue($apiKey); $apiKeyForm->addElement($key); $apiKeySubmit = new Submit('save_api_key'); $apiKeyForm->addElement($apiKeySubmit); $this->addForm($apiKeyForm); if (OW::getRequest()->isPost()) { if (isset($_POST['save_settings'])) { if ($settings->isValid($_POST)) { $data = $settings->getValues(); $config->saveConfig('socialsharing', 'facebook', (bool) $data['facebook']); $config->saveConfig('socialsharing', 'twitter', (bool) $data['twitter']); $config->saveConfig('socialsharing', 'googlePlus', (bool) $data['googlePlus']); $config->saveConfig('socialsharing', 'pinterest', (bool) $data['pinterest']); SOCIALSHARING_BOL_Service::getInstance()->uploadImage($_FILES['image']['tmp_name']); OW::getFeedback()->info(OW::getLanguage()->text('socialsharing', 'settings_saved')); //Setting succsessfully saved $this->redirect(); } else { OW::getFeedback()->error(OW::getLanguage()->text('socialsharing', 'settings_saved_error')); // } } else { if (isset($_POST['save_api_key'])) { if ($apiKeyForm->isValid($_POST)) { $data = $apiKeyForm->getValues(); $config->saveConfig('socialsharing', 'api_key', $data['api_key']); OW::getFeedback()->info(OW::getLanguage()->text('socialsharing', 'api_key_saved')); //Setting succsessfully saved $this->redirect(); } else { OW::getFeedback()->error(OW::getLanguage()->text('socialsharing', 'settings_saved_error')); } } } } $this->addForm($settings); $this->assign('imageUrl', SOCIALSHARING_BOL_Service::getInstance()->getDefaultImageUrl() . '?pid=' . md5(rand(0, 9999999999))); OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('base')->getStaticJsUrl() . "jquery-ui.min.js"); OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('socialsharing')->getStaticJsUrl() . "admin.js"); OW::getDocument()->addOnloadScript(" window.sharing = new socialSharingAdmin(" . json_encode(array("ajaxResponderUrl" => OW::getRouter()->urlFor('SOCIALSHARING_CTRL_Admin', 'ajaxResponder'))) . ") "); }