当前位置: 首页>>代码示例>>PHP>>正文


PHP utf8_bad_replace函数代码示例

本文整理汇总了PHP中utf8_bad_replace函数的典型用法代码示例。如果您正苦于以下问题:PHP utf8_bad_replace函数的具体用法?PHP utf8_bad_replace怎么用?PHP utf8_bad_replace使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了utf8_bad_replace函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: actionMeta

 public function actionMeta()
 {
     list($content, $album) = $this->_getPhotoOrError();
     if (empty($content['photo_exif'])) {
         return $this->responseMessage(new XenForo_Phrase('sonnb_xengallery_this_photo_does_not_contain_any_exif_information'));
     }
     if (!empty($content['photo_exif']['ExposureProgram']) && is_int($content['photo_exif']['ExposureProgram']) && $content['photo_exif']['ExposureProgram'] > 0) {
         $phrase = @sonnb_XenGallery_Model_Photo::$exifExposureProgram[$content['photo_exif']['ExposureProgram']];
         if ($phrase) {
             $phrase = new XenForo_Phrase($phrase);
             $content['photo_exif']['ExposureProgram'] = $phrase->render();
         }
     }
     if (!empty($content['photo_exif']['ExposureTime'])) {
         $content['photo_exif']['ExposureTime'] .= ' (' . $content['photo_exif']['ExposureTimeOrigin'] . ')';
     }
     if (isset($content['photo_exif']['Software'])) {
         $content['photo_exif']['Software'] = utf8_bad_replace($content['photo_exif']['Software'], '');
     }
     if (isset($content['photo_exif']['ImageDescription'])) {
         $content['photo_exif']['ImageDescription'] = utf8_bad_replace($content['photo_exif']['ImageDescription'], '');
     }
     if (isset($content['photo_exif']['Artist'])) {
         $content['photo_exif']['Artist'] = utf8_bad_replace($content['photo_exif']['Artist'], '');
     }
     if (isset($content['photo_exif']['Copyright'])) {
         $content['photo_exif']['Copyright'] = utf8_bad_replace($content['photo_exif']['Copyright'], '');
     }
     $viewParams = array('album' => $album, 'content' => $content, 'breadCrumbs' => $this->_getPhotoModel()->getContentBreadCrumbs($content, $album));
     return $this->responseView('sonnb_XenGallery_ViewPublic_Photo_Exif', 'sonnb_xengallery_photo_exif', $viewParams);
 }
开发者ID:Sywooch,项目名称:forums,代码行数:31,代码来源:Photo.php

示例2: _preSaveEntry

 protected function _preSaveEntry(array &$entry, array $data, $action)
 {
     $iaAcl = $this->_iaCore->factory('acl');
     iaUtil::loadUTF8Functions('ascii', 'validation', 'bad', 'utf8_to_ascii');
     $entry['id'] = $iaAcl->obtainFreeId();
     $entry['assignable'] = $data['visible'];
     $entry['visible'] = $data['visible'];
     if (iaCore::ACTION_ADD == $action) {
         if (empty($data['name'])) {
             $this->addMessage('error_usergroup_incorrect');
         } else {
             $entry['name'] = strtolower(iaSanitize::paranoid($data['name']));
             if (!iaValidate::isAlphaNumericValid($entry['name'])) {
                 $this->addMessage('error_usergroup_incorrect');
             } elseif ($this->_iaDb->exists('`name` = :name', array('name' => $entry['name']))) {
                 $this->addMessage('error_usergroup_exists');
             }
         }
     }
     foreach ($this->_iaCore->languages as $iso => $title) {
         if (empty($data['title'][$iso])) {
             $this->addMessage(iaLanguage::getf('error_lang_title', array('lang' => $this->_iaCore->languages[$iso])), false);
         } elseif (!utf8_is_valid($data['title'][$iso])) {
             $data['title'][$iso] = utf8_bad_replace($data['title'][$iso]);
         }
     }
     if (!$this->getMessages()) {
         foreach ($this->_iaCore->languages as $iso => $title) {
             iaLanguage::addPhrase('usergroup_' . $entry['name'], $data['title'][$iso], $iso);
         }
     }
     return !$this->getMessages();
 }
开发者ID:nicefirework,项目名称:subrion,代码行数:33,代码来源:usergroups.php

示例3: _preSaveEntry

 protected function _preSaveEntry(array &$entry, array $data, $action)
 {
     parent::_preSaveEntry($entry, $data, $action);
     iaUtil::loadUTF8Functions('ascii', 'validation', 'bad', 'utf8_to_ascii');
     if (!utf8_is_valid($entry['title'])) {
         $entry['title'] = utf8_bad_replace($entry['title']);
     }
     if (empty($entry['title'])) {
         $this->addMessage('title_is_empty');
     }
     if (!utf8_is_valid($entry['body'])) {
         $entry['body'] = utf8_bad_replace($entry['body']);
     }
     if (empty($entry['body'])) {
         $this->addMessage('body_is_empty');
     }
     if (empty($entry['date_added'])) {
         $entry['date_added'] = date(iaDb::DATETIME_FORMAT);
     }
     $entry['alias'] = $this->getHelper()->titleAlias(empty($entry['alias']) ? $entry['title'] : $entry['alias']);
     if (!empty($data['owner'])) {
         if ($memberId = $this->_iaCore->iaDb->one_bind('id', '`username` = :name OR `fullname` = :name', array('name' => iaSanitize::sql($_POST['owner'])), iaUsers::getTable())) {
             $entry['member_id'] = $memberId;
         } else {
             $this->addMessage('incorrect_owner_specified');
         }
     } else {
         $entry['member_id'] = iaUsers::getIdentity()->id;
     }
     if ($this->getMessages()) {
         return false;
     }
     unset($entry['owner']);
     if (isset($_FILES['image']['tmp_name']) && $_FILES['image']['tmp_name']) {
         $iaPicture = $this->_iaCore->factory('picture');
         $path = iaUtil::getAccountDir();
         $file = $_FILES['image'];
         $token = iaUtil::generateToken();
         $info = array('image_width' => 1000, 'image_height' => 750, 'thumb_width' => 250, 'thumb_height' => 250, 'resize_mode' => iaPicture::CROP);
         if ($image = $iaPicture->processImage($file, $path, $token, $info)) {
             if ($entry['image']) {
                 $iaPicture = $this->_iaCore->factory('picture');
                 $iaPicture->delete($entry['image']);
             }
             $entry['image'] = $image;
         }
     }
     unset($entry['tags']);
     return true;
 }
开发者ID:TalehFarzaliey,项目名称:subrion,代码行数:50,代码来源:index.php

示例4: _preSaveEntry

 protected function _preSaveEntry(array &$entry, array $data, $action)
 {
     parent::_preSaveEntry($entry, $data, $action);
     iaUtil::loadUTF8Functions('ascii', 'validation', 'bad', 'utf8_to_ascii');
     if (!utf8_is_valid($entry['title'])) {
         $entry['title'] = utf8_bad_replace($entry['title']);
     }
     if (empty($entry['title'])) {
         $this->addMessage('title_is_empty');
     }
     if (!utf8_is_valid($entry['body'])) {
         $entry['body'] = utf8_bad_replace($entry['body']);
     }
     if (empty($entry['body'])) {
         $this->addMessage('body_is_empty');
     }
     if (empty($entry['date_added'])) {
         $entry['date_added'] = date(iaDb::DATETIME_FORMAT);
     }
     $entry['alias'] = $this->getHelper()->titleAlias(empty($entry['alias']) ? $entry['title'] : $entry['alias']);
     if (isset($_FILES['image']['tmp_name']) && $_FILES['image']['tmp_name']) {
         $this->_iaCore->loadClass(iaCore::CORE, 'picture');
         $iaImage = $this->_iaCore->factoryPlugin($this->getPluginName(), iaCore::ADMIN, 'image');
         $imageData = json_decode($entry['image-data'], true);
         $path = iaUtil::getAccountDir();
         $file = $_FILES['image'];
         $token = iaUtil::generateToken();
         $info = array('image_width' => $this->_iaCore->get('portfolio_image_width'), 'image_height' => $this->_iaCore->get('portfolio_image_height'), 'crop_width' => $imageData['width'], 'crop_height' => $imageData['height'], 'thumb_width' => $this->_iaCore->get('portfolio_thumbnail_width'), 'thumb_height' => $this->_iaCore->get('portfolio_thumbnail_height'), 'positionX' => $imageData['x'], 'positionY' => $imageData['y'], 'position' => 'LT', 'resize' => 'after_crop', 'resize_mode' => iaImage::CROP);
         if ($image = $iaImage->processFolioImage($file, $path, $token, $info)) {
             if ($entry['image']) {
                 $iaImage = $this->_iaCore->factory('picture');
                 $iaImage->delete($entry['image']);
             }
             $entry['image'] = $image;
         }
     }
     if (empty($entry['image'])) {
         $this->addMessage('invalid_image_file');
     }
     if ($this->getMessages()) {
         return false;
     }
     unset($entry['image-src']);
     unset($entry['image-data']);
     return true;
 }
开发者ID:NIXAP,项目名称:subrion-plugin-portfolio,代码行数:46,代码来源:index.php

示例5: _postSaveEntry

 protected function _postSaveEntry(array &$entry, array $data, $action)
 {
     iaUtil::loadUTF8Functions('ascii', 'validation', 'bad', 'utf8_to_ascii');
     foreach ($this->_iaCore->languages as $code => $language) {
         $title = utf8_is_valid($data['title'][$code]) ? $data['title'][$code] : utf8_bad_replace($data['title'][$code]);
         iaLanguage::addPhrase('usergroup_' . $entry['name'], $title, $code);
     }
     // copy privileges
     $copyFrom = isset($data['copy_from']) ? (int) $data['copy_from'] : 0;
     if ($copyFrom) {
         $this->_iaDb->setTable('acl_privileges');
         $rows = $this->_iaDb->all(iaDb::ALL_COLUMNS_SELECTION, "`type_id` = '{$copyFrom}' AND `type` = 'group'");
         foreach ($rows as $key => &$row) {
             $row['type_id'] = $entry['id'];
             unset($rows[$key]['id']);
         }
         $this->_iaDb->insert($rows);
         $this->_iaDb->resetTable();
     }
 }
开发者ID:kamilklkn,项目名称:subrion,代码行数:20,代码来源:usergroups.php

示例6: _postSaveEntry

 protected function _postSaveEntry(array &$entry, array $data, $action)
 {
     iaUtil::loadUTF8Functions('ascii', 'validation', 'bad', 'utf8_to_ascii');
     foreach ($this->_iaCore->languages as $code => $language) {
         $title = iaSanitize::tags($data['title'][$code]);
         utf8_is_valid($title) || ($title = utf8_bad_replace($title));
         iaLanguage::addPhrase('usergroup_' . $entry['name'], $title, $code);
     }
     // copy privileges
     if ($data['copy_from']) {
         $this->_iaDb->setTable('acl_privileges');
         $where = '`type_id` = :id AND `type` = :type';
         $this->_iaDb->bind($where, array('id' => (int) $data['copy_from'], 'type' => 'group'));
         $rows = $this->_iaDb->all(iaDb::ALL_COLUMNS_SELECTION, $where);
         foreach ($rows as $key => &$row) {
             $row['type_id'] = $this->getEntryId();
             unset($rows[$key]['id']);
         }
         $this->_iaDb->insert($rows);
         $this->_iaDb->resetTable();
     }
 }
开发者ID:rentpad,项目名称:subrion,代码行数:22,代码来源:usergroups.php

示例7: _preSaveEntry

 protected function _preSaveEntry(array &$entry, array $data, $action)
 {
     parent::_preSaveEntry($entry, $data, $action);
     iaUtil::loadUTF8Functions('ascii', 'validation', 'bad', 'utf8_to_ascii');
     if (!utf8_is_valid($entry['title'])) {
         $entry['title'] = utf8_bad_replace($entry['title']);
     }
     if (empty($entry['title'])) {
         $this->addMessage('title_is_empty');
     }
     if (!utf8_is_valid($entry['body'])) {
         $entry['body'] = utf8_bad_replace($entry['body']);
     }
     if (empty($entry['body'])) {
         $this->addMessage('body_is_empty');
     }
     if (empty($entry['date_added'])) {
         $entry['date_added'] = date(iaDb::DATETIME_FORMAT);
     }
     $entry['alias'] = $this->getHelper()->titleAlias(empty($entry['alias']) ? $entry['title'] : $entry['alias']);
     if ($this->getMessages()) {
         return false;
     }
     if (isset($_FILES['image']['tmp_name']) && $_FILES['image']['tmp_name']) {
         $iaPicture = $this->_iaCore->factory('picture');
         $path = iaUtil::getAccountDir();
         $file = $_FILES['image'];
         $token = iaUtil::generateToken();
         $info = array('image_width' => 1000, 'image_height' => 750, 'thumb_width' => 250, 'thumb_height' => 250, 'resize_mode' => iaPicture::CROP);
         if ($image = $iaPicture->processImage($file, $path, $token, $info)) {
             if ($entry['image']) {
                 $iaPicture = $this->_iaCore->factory('picture');
                 $iaPicture->delete($entry['image']);
             }
             $entry['image'] = $image;
         }
     }
     return true;
 }
开发者ID:nicefirework,项目名称:subrion,代码行数:39,代码来源:index.php

示例8: utf8_bad_strip

/**
* Strips out any bad bytes from a UTF-8 string and returns the rest
* PCRE Pattern to locate bad bytes in a UTF-8 string
* Comes from W3 FAQ: Multilingual Forms
* Note: modified to include full ASCII range including control chars
* @see http://www.w3.org/International/questions/qa-forms-utf-8
* @param string
* @return string
* @package utf8
* @subpackage bad
*/
function utf8_bad_strip($original)
{
    return utf8_bad_replace($original, '');
}
开发者ID:HawesDomingue,项目名称:mechanic-watson,代码行数:15,代码来源:bad.php

示例9: parsePost

 public function parsePost(array $fields, $previousValues = null)
 {
     $iaCore =& $this->iaCore;
     $error = false;
     $messages = array();
     $invalidFields = array();
     $item = array();
     $data =& $_POST;
     // access to the data source by link
     if (iaCore::ACCESS_ADMIN == $this->iaCore->getAccessType()) {
         if (isset($data['sponsored'])) {
             $item['sponsored'] = (int) $data['sponsored'];
             $item['sponsored_plan_id'] = $item['sponsored'] ? (int) $data['plan_id'] : 0;
             $item['sponsored_start'] = $item['sponsored'] ? date(iaDb::DATETIME_SHORT_FORMAT) : null;
             $item['sponsored_end'] = $item['sponsored'] ? $data['sponsored_end'] : null;
         }
         if (isset($data['featured'])) {
             $item['featured'] = (int) $data['featured'];
             if ($item['featured']) {
                 if (isset($data['featured_end']) && $data['featured_end']) {
                     $item['featured_start'] = date(iaDb::DATETIME_SHORT_FORMAT);
                     $item['featured_end'] = iaSanitize::html($data['featured_end']);
                 } else {
                     $error = true;
                     $messages[] = iaLanguage::get('featured_status_finished_date_is_empty');
                     $invalidFields[] = 'featured_end';
                 }
             } else {
                 $item['featured_start'] = null;
                 $item['featured_end'] = null;
             }
         }
         if (isset($data['status'])) {
             $item['status'] = iaSanitize::html($data['status']);
         }
         if (isset($data['date_added'])) {
             $time = strtotime($data['date_added']);
             if (!$time) {
                 $error = true;
                 $messages[] = iaLanguage::get('added_date_is_incorrect');
             } elseif ($time > time()) {
                 $error = true;
                 $messages[] = iaLanguage::get('future_date_specified_for_added_date');
             } else {
                 $item['date_added'] = date(iaDb::DATETIME_SHORT_FORMAT, $time);
             }
         }
         if (isset($data['owner'])) {
             if (empty($data['owner'])) {
                 $error = true;
                 $messages[] = iaLanguage::get('owner_is_not_specified');
             } else {
                 if ($memberId = $iaCore->iaDb->one_bind('id', '`username` = :name OR `fullname` = :name', array('name' => iaSanitize::sql($_POST['owner'])), iaUsers::getTable())) {
                     $item['member_id'] = $memberId;
                 } else {
                     $error = true;
                     $messages[] = iaLanguage::get('incorrect_owner_specified');
                 }
             }
         }
         if (isset($data['locked'])) {
             $item['locked'] = (int) $data['locked'];
         }
     }
     // the code block below filters fields based on parent/dependent structure
     $activeFields = array();
     $parentFields = array();
     foreach ($fields as $field) {
         $activeFields[$field['name']] = $field;
         if (iaField::RELATION_PARENT == $field['relation']) {
             $parentFields[$field['name']] = $field['children'];
         }
     }
     foreach ($parentFields as $fieldName => $dependencies) {
         if (isset($data[$fieldName])) {
             $value = $data[$fieldName];
             foreach ($dependencies as $dependentFieldName => $values) {
                 if (!in_array($value, $values)) {
                     unset($activeFields[$dependentFieldName]);
                 }
             }
         }
     }
     //
     $iaCore->factory('util');
     iaUtil::loadUTF8Functions('validation', 'bad');
     foreach ($activeFields as $fieldName => $field) {
         isset($data[$fieldName]) || ($data[$fieldName] = '');
         // Check the UTF-8 is well formed
         if (!is_array($data[$fieldName]) && !utf8_is_valid($data[$fieldName])) {
             $data[$fieldName] = utf8_bad_replace($data[$fieldName]);
         }
         if ($field['extra_actions']) {
             if (false === eval($field['extra_actions'])) {
                 continue;
                 // make possible to stop further processing of this field by returning FALSE
             }
         }
         if (in_array($field['type'], array(self::TEXT, self::TEXTAREA, self::NUMBER, self::RADIO, self::CHECKBOX, self::COMBO))) {
             if ($field['required']) {
//.........这里部分代码省略.........
开发者ID:nicefirework,项目名称:subrion,代码行数:101,代码来源:ia.core.field.php

示例10: _save

 private function _save(&$iaView)
 {
     $iaAcl = $this->_iaCore->factory('acl');
     if (!$iaAcl->checkAccess($iaView->name() . iaAcl::SEPARATOR . iaCore::ACTION_EDIT)) {
         return iaView::accessDenied();
     }
     $where = "`type` != 'hidden' " . ($this->_type ? 'AND `custom` = 1' : '');
     $params = $this->_iaDb->keyvalue(array('name', 'type'), $where, iaCore::getConfigTable());
     // correct admin dashboard URL generation
     $adminPage = $this->_iaCore->get('admin_page');
     iaUtil::loadUTF8Functions('ascii', 'validation', 'bad', 'utf8_to_ascii');
     $messages = array();
     $error = false;
     if ($_POST['v'] && is_array($_POST['v'])) {
         $values = $_POST['v'];
         $this->_iaCore->startHook('phpConfigurationChange', array('configurationValues' => &$values));
         $this->_iaDb->setTable(iaCore::getConfigTable());
         foreach ($values as $key => $value) {
             $s = strpos($key, '_items_enabled');
             if ($s !== false) {
                 $p = $this->_iaCore->get($key, '', !is_null($this->_type));
                 $array = $p ? explode(',', $p) : array();
                 $data = array();
                 array_shift($value);
                 if ($diff = array_diff($value, $array)) {
                     foreach ($diff as $item) {
                         array_push($data, array('action' => '+', 'item' => $item));
                     }
                 }
                 if ($diff = array_diff($array, $value)) {
                     foreach ($diff as $item) {
                         array_push($data, array('action' => '-', 'item' => $item));
                     }
                 }
                 $extra = substr($key, 0, $s);
                 $this->_iaCore->startHook('phpPackageItemChangedForPlugin', array('data' => $data), $extra);
             }
             if (is_array($value)) {
                 $value = implode(',', $value);
             }
             if (!utf8_is_valid($value)) {
                 $value = utf8_bad_replace($value);
                 trigger_error('Bad UTF-8 detected (replacing with "?") in configuration', E_USER_NOTICE);
             }
             if (self::TYPE_IMAGE == $params[$key]) {
                 if (isset($_POST['delete'][$key])) {
                     $value = '';
                 } elseif (!empty($_FILES[$key]['name'])) {
                     if (!(bool) $_FILES[$key]['error']) {
                         if (@is_uploaded_file($_FILES[$key]['tmp_name'])) {
                             $ext = strtolower(utf8_substr($_FILES[$key]['name'], -3));
                             // if jpeg
                             if ($ext == 'peg') {
                                 $ext = 'jpg';
                             }
                             if (!array_key_exists(strtolower($_FILES[$key]['type']), $this->_imageTypes) || !in_array($ext, $this->_imageTypes, true) || !getimagesize($_FILES[$key]['tmp_name'])) {
                                 $error = true;
                                 $messages[] = iaLanguage::getf('file_type_error', array('extension' => implode(', ', array_unique($this->_imageTypes))));
                             } else {
                                 if ($this->_iaCore->get($key) && file_exists(IA_UPLOADS . $this->_iaCore->get($key))) {
                                     iaUtil::deleteFile(IA_UPLOADS . $this->_iaCore->get($key));
                                 }
                                 $value = $fileName = $key . '.' . $ext;
                                 @move_uploaded_file($_FILES[$key]['tmp_name'], IA_UPLOADS . $fileName);
                                 @chmod(IA_UPLOADS . $fileName, 0777);
                             }
                         }
                     }
                 } else {
                     $value = $this->_iaCore->get($key, '', !is_null($this->_type));
                 }
             }
             if ($this->_type) {
                 $where = sprintf("`name` = '%s' AND `type` = '%s' AND `type_id` = %d", $key, $this->_type, $this->_typeId);
                 $this->_iaDb->setTable(iaCore::getCustomConfigTable());
                 if ($_POST['c'][$key]) {
                     $values = array('name' => $key, 'value' => $value, 'type' => $this->_type, 'type_id' => $this->_typeId);
                     if ($this->_iaDb->exists($where)) {
                         unset($values['value']);
                         $this->_iaDb->bind($where, $values);
                         $this->_iaDb->update(array('value' => $value), $where);
                     } else {
                         $this->_iaDb->insert($values);
                     }
                 } else {
                     $this->_iaDb->delete($where);
                 }
                 $this->_iaDb->resetTable();
             } else {
                 $this->_iaDb->update(array('value' => $value), iaDb::convertIds($key, 'name'));
             }
         }
         $this->_iaDb->resetTable();
         $this->_iaCore->iaCache->clearAll();
     }
     if (!$error) {
         $iaView->setMessages(iaLanguage::get('saved'), iaView::SUCCESS);
         if (isset($_POST['param']['admin_page']) && $_POST['param']['admin_page'] != $adminPage) {
             iaUtil::go_to(IA_URL . $_POST['param']['admin_page'] . '/configuration/general/');
         }
//.........这里部分代码省略.........
开发者ID:kamilklkn,项目名称:subrion,代码行数:101,代码来源:configuration.php

示例11: insertLocation

 public function insertLocation($contentType, $contentId, $locationData)
 {
     $existingLocation = $this->getLocationByContentId($contentType, $contentId);
     $locationData['location_name'] = utf8_bad_replace($locationData['location_name'], '');
     if ($existingLocation) {
         if (sonnb_XenGallery_Model_Gallery::getTitleForUrl($locationData['location_name']) !== sonnb_XenGallery_Model_Gallery::getTitleForUrl($existingLocation['location_name'])) {
             $this->_getDb()->update('sonnb_xengallery_location', array('location_lat' => floatval($locationData['location_lat']), 'location_lng' => floatval($locationData['location_lng']), 'location_name' => trim($locationData['location_name']), 'location_url' => sonnb_XenGallery_Model_Gallery::getTitleForUrl($locationData['location_name'])), 'location_id = ' . $existingLocation['location_id']);
         }
     } else {
         if (utf8_strlen($locationData['location_name'])) {
             $this->_getDb()->insert('sonnb_xengallery_location', array('content_type' => $contentType, 'content_id' => $contentId, 'location_lat' => floatval($locationData['location_lat']), 'location_lng' => floatval($locationData['location_lng']), 'location_name' => trim($locationData['location_name']), 'location_url' => sonnb_XenGallery_Model_Gallery::getTitleForUrl($locationData['location_name'])));
         }
     }
 }
开发者ID:Sywooch,项目名称:forums,代码行数:14,代码来源:Location.php

示例12: utf8_bad_replace

 } else {
     $error = true;
     $messages[] = iaLanguage::get('error_gb_email');
 }
 // checking email
 if (isset($_POST['aurl']) && !empty($_POST['aurl']) && 'http://' != $_POST['aurl']) {
     $entry['author_url'] = $_POST['aurl'];
     if (!iaValidate::isUrl($entry['author_url'])) {
         $error = true;
         $messages[] = iaLanguage::get('error_url');
     }
 }
 // checking body
 $entry['body'] = $_POST['message'];
 if (!utf8_is_valid($entry['body'])) {
     $entry['body'] = utf8_bad_replace($entry['body']);
 }
 $length = utf8_is_ascii($entry['body']) ? strlen($entry['body']) : utf8_strlen($entry['body']);
 if ($iaCore->get('gb_min_chars') > 0) {
     if ($length < $iaCore->get('gb_min_chars')) {
         $error = true;
         $messages[] = iaLanguage::getf('error_min_gb', array('length' => $iaCore->get('gb_min_chars')));
     }
 }
 if ($iaCore->get('gb_max_chars') > 0) {
     if ($length > $iaCore->get('gb_max_chars')) {
         $error = true;
         $messages[] = iaLanguage::getf('error_max_gb', array('length' => $iaCore->get('gb_max_chars')));
     }
 }
 if (empty($entry['body'])) {
开发者ID:intelliants,项目名称:subrion-plugin-guestbook,代码行数:31,代码来源:index.php

示例13: utf8_bad_replace

 /**
  * Replace bad bytes with an alternative character - ASCII character
  * @param $str string input string
  * @param $replace string optional
  * @return string
  */
 function utf8_bad_replace($str, $replace = '?')
 {
     require_once 'utils/bad.php';
     return utf8_bad_replace($str, $replace);
 }
开发者ID:reedstrm,项目名称:pkp-lib,代码行数:11,代码来源:String.inc.php

示例14: _preSaveEntry

 protected function _preSaveEntry(array &$entry, array $data, $action)
 {
     $entry = array('name' => iaSanitize::alias(iaUtil::checkPostParam('name')), 'item' => iaUtil::checkPostParam('item'), 'default' => iaUtil::checkPostParam('default'), 'lang_values' => iaUtil::checkPostParam('lang_values'), 'text_default' => iaSanitize::html(iaUtil::checkPostParam('text_default')), 'type' => iaUtil::checkPostParam('type'), 'annotation' => iaUtil::checkPostParam('annotation'), 'fieldgroup_id' => (int) iaUtil::checkPostParam('fieldgroup_id'), 'text_length' => (int) iaUtil::checkPostParam('text_length', 255), 'length' => iaUtil::checkPostParam('length', false), 'title' => iaUtil::checkPostParam('title'), 'pages' => iaUtil::checkPostParam('pages', array()), 'required' => iaUtil::checkPostParam('required'), 'use_editor' => (int) iaUtil::checkPostParam('use_editor'), 'empty_field' => iaSanitize::html(iaUtil::checkPostParam('empty_field')), 'url_nofollow' => (int) iaUtil::checkPostParam('url_nofollow'), 'groups' => iaUtil::checkPostParam('groups'), 'searchable' => (int) iaUtil::checkPostParam('searchable'), 'adminonly' => (int) iaUtil::checkPostParam('adminonly'), 'for_plan' => (int) iaUtil::checkPostParam('for_plan'), 'required_checks' => iaUtil::checkPostParam('required_checks'), 'extra_actions' => iaUtil::checkPostParam('extra_actions'), 'link_to' => (int) iaUtil::checkPostParam('link_to'), 'values' => '', 'relation' => iaUtil::checkPostParam('relation', iaField::RELATION_REGULAR), 'parents' => isset($data['parents']) && is_array($data['parents']) ? $data['parents'] : array(), 'children' => isset($data['children']) && is_array($data['children']) ? $data['children'] : array(), 'status' => iaUtil::checkPostParam('status', iaCore::STATUS_ACTIVE));
     iaUtil::loadUTF8Functions('ascii', 'validation', 'bad');
     if (!$this->_iaDb->exists(iaDb::convertIds($entry['fieldgroup_id']), null, iaField::getTableGroups())) {
         $entry['fieldgroup_id'] = 0;
     }
     foreach ($this->_iaCore->languages as $code => $language) {
         if (!empty($entry['annotation'][$code])) {
             if (!utf8_is_valid($entry['annotation'][$code])) {
                 $entry['annotation'][$code] = utf8_bad_replace($entry['annotation'][$code]);
             }
         }
         if (!empty($entry['title'][$code])) {
             if (!utf8_is_valid($entry['title'][$code])) {
                 $entry['title'][$code] = utf8_bad_replace($entry['title'][$code]);
             }
         } else {
             $this->addMessage(iaLanguage::getf('field_is_empty', array('field' => $language['title'] . ' ' . iaLanguage::get('title'))), false);
             break;
         }
     }
     if (iaCore::ACTION_ADD == $action) {
         $entry['name'] = trim(strtolower(iaSanitize::paranoid($entry['name'])));
         if (empty($entry['name'])) {
             $this->addMessage('field_name_incorrect');
         }
     } else {
         unset($entry['name']);
     }
     $fieldTypes = $this->_iaDb->getEnumValues(iaField::getTable(), 'type');
     if ($fieldTypes['values'] && !in_array($entry['type'], $fieldTypes['values'])) {
         $this->addMessage('field_type_invalid');
     } else {
         if (!$entry['length']) {
             $entry['length'] = iaField::DEFAULT_LENGTH;
         }
         switch ($entry['type']) {
             case iaField::TEXT:
                 if (empty($entry['text_length'])) {
                     $entry['text_length'] = 255;
                 }
                 $entry['length'] = min(255, max(1, $entry['text_length']));
                 $entry['default'] = $entry['text_default'];
                 break;
             case iaField::TEXTAREA:
                 $entry['default'] = '';
                 break;
             case iaField::COMBO:
             case iaField::RADIO:
             case iaField::CHECKBOX:
                 if (!empty($data['values']) && is_array($data['values'])) {
                     $keys = array();
                     $lang_values = array();
                     $multiDefault = explode('|', iaUtil::checkPostParam('multiple_default'));
                     $_keys = iaUtil::checkPostParam('keys');
                     $_values = iaUtil::checkPostParam('values');
                     $_langValues = iaUtil::checkPostParam('lang_values');
                     foreach ($_keys as $index => $key) {
                         if (trim($key) == '') {
                             $key = $index + 1;
                             $_keys[$index] = $key;
                         }
                         if (isset($_values[$index]) && trim($_values[$index]) != '') {
                             $values[$key] = $_values[$index];
                             $keys[$key] = $key;
                         } else {
                             unset($_keys[$index], $_values[$index]);
                         }
                         if ($_langValues) {
                             foreach ($this->_iaCore->languages as $code => $language) {
                                 if ($code != $this->_iaCore->iaView->language) {
                                     if (!isset($_values[$index])) {
                                         unset($_langValues[$code][$index]);
                                     } elseif (!isset($_langValues[$code][$index]) || trim($_langValues[$code][$index]) == '') {
                                         $lang_values[$code][$key] = $values[$key];
                                     } else {
                                         $lang_values[$code][$key] = $_langValues[$code][$index];
                                     }
                                 }
                             }
                         }
                     }
                     // delete default values if not exists in values
                     foreach ($multiDefault as $index => $default) {
                         if (!in_array($default, $values)) {
                             unset($multiDefault[$index]);
                         } else {
                             $k = array_search($default, $values);
                             $multiDefault[$index] = $k;
                         }
                     }
                     $multiDefault = array_values($multiDefault);
                     if (iaField::CHECKBOX == $entry['type']) {
                         $multiDefault = implode(',', $multiDefault);
                     } elseif (isset($multiDefault[0])) {
                         // multiple default is available for checkboxes only
                         $_POST['multiple_default'] = $multiDefault = $multiDefault[0];
                     } else {
                         $_POST['multiple_default'] = $multiDefault = '';
//.........这里部分代码省略.........
开发者ID:kamilklkn,项目名称:subrion,代码行数:101,代码来源:fields.php

示例15: getPhotoExif

 public function getPhotoExif(array $contentData, $filePath = null)
 {
     $xenOptions = XenForo_Application::getOptions();
     $exif = array();
     if (!empty($contentData) && function_exists('exif_read_data')) {
         $exifKeys = array('DateTime', 'DateTimeOriginal', 'DateTimeDigitized', 'Make', 'Model', 'ExposureTime', 'ExposureProgram', 'ExposureMode', 'FNumber', 'BrightnessValue', 'MeteringMode', 'Flash', 'ExposureMode', 'WhiteBalance', 'ISOSpeedRatings', 'ShutterSpeedValue', 'ApertureValue', 'LightSource', 'FocalLength', 'Artist', 'Copyright', 'ImageDescription', 'Software', 'Orientation', 'LensType', 'LensInfo', 'LensMake', 'LensModel', 'LensSerialNumber', 'LensSpecification', 'GPS', 'GPSLatitude', 'GPSLongitude', 'GPSLatitudeRef', 'GPSLongitudeRef', 'GPSAltitudeRef', 'GPSAltitude');
         if ($filePath === null) {
             $filePath = $this->_getContentDataModel()->getContentDataFile($contentData);
         }
         if (file_exists($filePath) || is_readable($filePath)) {
             //@ini_set('exif.encode_unicode', 'UTF-8');
             $exif = @exif_read_data($filePath, 0);
             $exif = $exif ? array_intersect_key($exif, array_flip($exifKeys)) : array();
             @getimagesize($filePath, $info);
             if (function_exists('iptcparse') && isset($info['APP13'])) {
                 $iptc = iptcparse($info['APP13']);
                 if (!empty($iptc['2#105'][0])) {
                     $exif['title'] = trim($iptc['2#105'][0]);
                     $exif['title'] = utf8_bad_replace($exif['title'], '');
                 } elseif (!empty($iptc['2#005'][0])) {
                     $exif['title'] = trim($iptc['2#005'][0]);
                     $exif['title'] = utf8_bad_replace($exif['title'], '');
                 }
                 if (!empty($iptc['2#120'][0])) {
                     $caption = trim($iptc['2#120'][0]);
                     $caption = utf8_bad_replace($caption, '');
                     if (empty($exif['title'])) {
                         if (strlen($caption) < 80) {
                             $exif['title'] = $caption;
                         } else {
                             $exif['description'] = $caption;
                         }
                     } elseif ($caption != $exif['title']) {
                         $exif['description'] = $caption;
                     }
                 }
             }
             if ($exif) {
                 if (!empty($exif['ImageDescription'])) {
                     $exif['ImageDescription'] = utf8_bad_replace($exif['ImageDescription'], '');
                     if (empty($exif['title']) && strlen($exif['ImageDescription']) < 80) {
                         $exif['title'] = $exif['ImageDescription'];
                     } elseif (empty($exif['description'])) {
                         $exif['description'] = $exif['ImageDescription'];
                     }
                 }
                 if (isset($exif['Software'])) {
                     $exif['Software'] = utf8_bad_replace($exif['Software'], '');
                 }
                 if (isset($exif['ImageDescription'])) {
                     $exif['ImageDescription'] = utf8_bad_replace($exif['ImageDescription'], '');
                 }
                 if (isset($exif['Artist'])) {
                     $exif['Artist'] = utf8_bad_replace($exif['Artist'], '');
                 }
                 if (isset($exif['Copyright'])) {
                     $exif['Copyright'] = utf8_bad_replace($exif['Copyright'], '');
                 }
                 if (!empty($exif['DateTime'])) {
                     try {
                         $test = explode(':', $exif['DateTime']);
                         if (count($test) > 3) {
                             $exif['DateTime'] = preg_replace('/:/', '/', $exif['DateTime'], 2);
                         }
                         $date = new DateTime($exif['DateTime']);
                         $exif['DateTime'] = $date->format('U');
                     } catch (Exception $e) {
                     }
                 }
                 if (!empty($exif['DateTimeOriginal'])) {
                     try {
                         $test = explode(':', $exif['DateTimeOriginal']);
                         if (count($test) > 3) {
                             $exif['DateTimeOriginal'] = preg_replace('/:/', '/', $exif['DateTimeOriginal'], 2);
                         }
                         $date = new DateTime($exif['DateTimeOriginal']);
                         $exif['DateTimeOriginal'] = $date->format('U');
                     } catch (Exception $e) {
                     }
                 }
                 if (!empty($exif['DateTimeDigitized'])) {
                     try {
                         $test = explode(':', $exif['DateTimeDigitized']);
                         if (count($test) > 3) {
                             $exif['DateTimeDigitized'] = preg_replace('/:/', '/', $exif['DateTimeDigitized'], 2);
                         }
                         $date = new DateTime($exif['DateTimeDigitized']);
                         $exif['DateTimeDigitized'] = $date->format('U');
                     } catch (Exception $e) {
                     }
                 }
                 if (!empty($exif['Make'])) {
                     if (!isset($exif['Model'])) {
                         $exif['Model'] = "";
                     }
                     $exif['Model'] = utf8_bad_replace($exif['Model']);
                     $exif['Make'] = utf8_bad_replace($exif['Make']);
                     $exif['Make'] = ucfirst(strtolower($exif['Make']));
                     $longVendors = array('OLYMPUS IMAGING CORP.' => 'Olympus', 'OLYMPUS OPTICAL CO.,LTD ' => 'Olympus', 'SAMSUNG TECHWIN CO., LTD.' => 'Samsung', 'OLYMPUS CORPORATION' => 'Olympus', 'Zoran Corporation' => 'Zoran', 'Medion OPTICAL CO,LTD' => 'Medion', 'SANYO Electric Co.,Ltd.' => 'Sanyo', 'CASIO COMPUTER CO.,LTD.' => 'Casio', 'minolta Co., Ltd.' => 'Minolta', 'Hewlett-Packard' => 'HP', 'Research In Motion' => '');
                     foreach ($longVendors as $longVendor => $newName) {
//.........这里部分代码省略.........
开发者ID:Sywooch,项目名称:forums,代码行数:101,代码来源:Photo.php


注:本文中的utf8_bad_replace函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。