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


PHP Dal类代码示例

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


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

示例1: __construct

 public function __construct($file_info)
 {
     if (is_array($file_info)) {
         $r = $file_info;
     } else {
         if (preg_match("|pa://(\\d+)|", $file_info, $m)) {
             $file_id = (int) $m[1];
         } else {
             $file_id = (int) $file_info;
         }
         if (!$file_id) {
             throw new PAException(INVALID_ID, "Invalid file ID: {$file_info}");
         }
         $r = Dal::query_one_assoc("SELECT * FROM files WHERE file_id=?", array($file_id));
         if (empty($r)) {
             throw new PAException(FILE_NOT_FOUND, "File {$file_id} not found");
         }
     }
     if ($r['incomplete']) {
         throw new PAException(FILE_NOT_FOUND, "File {$file_id} is incomplete and should not be accessed");
     }
     foreach ($r as $k => $v) {
         $this->{$k} = $v;
     }
 }
开发者ID:Cyberspace-Networks,项目名称:PeopleAggregator,代码行数:25,代码来源:StoredFile.php

示例2: testOwnerIdMemberCount

 function testOwnerIdMemberCount()
 {
     $networks = array();
     $sth = Dal::query("SELECT network_id, address, member_count, owner_id FROM networks WHERE is_active=1");
     while (list($net_id, $address, $member_count, $owner_id) = Dal::row($sth)) {
         $networks[$net_id] = array("address" => $address, "member_count" => $member_count, "owner_id" => $owner_id);
     }
     // count all members for all networks
     $sth = Dal::query("SELECT network_id, COUNT(user_id) FROM networks_users GROUP BY network_id");
     while (list($net_id, $member_count) = Dal::row($sth)) {
         $networks[$net_id]['calc_member_count'] = $member_count;
     }
     // find all owners
     $sth = Dal::query("SELECT network_id, user_id FROM networks_users where user_type='owner'");
     while (list($net_id, $owner_id) = Dal::row($sth)) {
         $networks[$net_id]['calc_owner_id'] = $owner_id;
     }
     // verify them all
     $ok = TRUE;
     foreach ($networks as $nid => $net) {
         $address = $net['address'];
         $mc = $net['member_count'];
         $cmc = $net['calc_member_count'];
         $oi = $net['owner_id'];
         $coi = (int) $net['calc_owner_id'];
         if ($cmc && ($mc != $cmc || $oi != $coi)) {
             echo "NetworkDataTest ERROR: Network {$nid} [{$address}]: member_count {$mc}, calc {$cmc} | owner_id {$oi}, found {$coi}\n";
             $ok = FALSE;
         }
     }
     $this->assertTrue($ok);
 }
开发者ID:Cyberspace-Networks,项目名称:PeopleAggregator,代码行数:32,代码来源:NetworkDataTest.php

示例3: delete

 public function delete($leaf)
 {
     //TODO: use innodb so this actually matters
     list($file_id, $servers) = Dal::query_one("SELECT file_id, servers FROM local_files WHERE filename=? FOR UPDATE", array($leaf));
     try {
         if (!$file_id) {
             throw new PAException(FILE_NOT_FOUND, "Unable to find file {$leaf} in local_files table:");
         }
         $path = $this->getPath($leaf);
         $server_ids = explode(",", $servers);
         if (in_array(PA::$server_id, $server_ids)) {
             if (empty($path)) {
                 throw new PAException(FILE_NOT_FOUND, "Unable to delete nonexistent file {$path}");
             }
             if (!@unlink($path)) {
                 throw new PAException(STORAGE_ERROR, "Error deleting {$path}");
             }
             $server_ids = array_filter($server_ids, "not_this_server");
             $servers = implode(",", $server_ids);
         }
         Dal::query("UPDATE local_files SET is_deletion=1, timestamp=NOW(), servers=? WHERE file_id=?", array($file_id, $servers));
     } catch (PAException $e) {
         Dal::rollback();
         throw $e;
     }
     return TRUE;
 }
开发者ID:Cyberspace-Networks,项目名称:PeopleAggregator,代码行数:27,代码来源:LocalStorage.php

示例4: save_tags_for_item

 public static function save_tags_for_item($user_id, $subject_type, $subject_id, $tags_array)
 {
     // remove all existig tags of this user for this item
     Dal::query("DELETE FROM {itemtags} WHERE  user_id=? AND subject_type=? AND subject_id=?", array($user_id, $subject_type, $subject_id));
     // add the given ones
     foreach ($tags_array as $i => $tag_string) {
         Dal::query("INSERT INTO {itemtags} SET \n\t\t  user_id=?, subject_type=?, subject_id=?, \n\t\t  tag_string=?", array($user_id, $subject_type, $subject_id, $tag_string));
     }
 }
开发者ID:CivicCommons,项目名称:oldBellCaPA,代码行数:9,代码来源:ItemTags.php

示例5: load_setting

 /**
  * Loads the given setting for the given user id.
  *
  * @param integer $type The type of the entity for whom settings are to be loaded.
  * @param integer $assoc_id The id of the association entity for whom settings are to be added.
  * @return $value string This string contains the object of given settings.
  */
 static function load_setting($page_id, $assoc_id, $assoc_type = "network", $child_type = null, $only_configurable = false)
 {
     Logger::log("Enter: function ModuleSetting::load_setting");
     $settings = null;
     $sql = "SELECT page_id, settings FROM {page_settings} WHERE assoc_id=? AND page_id=? AND assoc_type =?";
     $data = array($assoc_id, $page_id, $assoc_type);
     $res = Dal::query($sql, $data);
     $dynamic_page = new DynamicPage($page_id);
     if (!is_object($dynamic_page) or !$dynamic_page->docLoaded) {
         throw new Exception("Page XML config file for page ID: {$page_id} - not found!");
     }
     $dynamic_page->initialize();
     $page_settings = $xml_settings = $dynamic_page->getPageSettings();
     if ($res->numRows() > 0) {
         $row = $res->fetchRow(DB_FETCHMODE_OBJECT);
         $settings = unserialize($row->settings);
         foreach ($settings as $key => $value) {
             // merge DB and XML settings
             $page_settings[$key] = $value;
         }
         if (!is_null($child_type)) {
             if (false !== strpos($dynamic_page->page_type, $child_type)) {
                 $settings = $page_settings;
             } else {
                 $settings = null;
             }
         } else {
             $settings = $page_settings;
         }
     } else {
         if ($assoc_type == 'user' || $assoc_type == 'group') {
             // try to get default settings for current network
             $settings = self::load_setting($page_id, PA::$network_info->network_id, "network", $assoc_type, $only_configurable);
         } else {
             if ($only_configurable == false) {
                 $settings = $dynamic_page->getPageSettings();
             } else {
                 if ($only_configurable == true && $dynamic_page->is_configurable) {
                     if (!is_null($child_type)) {
                         if (false !== strpos($dynamic_page->page_type, $child_type)) {
                             $settings = $dynamic_page->getPageSettings();
                         } else {
                             $settings = null;
                         }
                     } else {
                         $settings = $dynamic_page->getPageSettings();
                     }
                 }
             }
         }
     }
     // Fix: always return navigation_code and boot_code from XML file
     $settings['navigation_code'] = $xml_settings['navigation_code'];
     $settings['boot_code'] = $xml_settings['boot_code'];
     Logger::log("Exit: function ModuleSetting::load_setting");
     return $settings;
 }
开发者ID:Cyberspace-Networks,项目名称:PeopleAggregator,代码行数:64,代码来源:ModuleSetting.php

示例6: get

 static function get($module_name)
 {
     Logger::log("Enter: function ModuleData::get");
     $sql = "SELECT  data AS data FROM {moduledata}  WHERE modulename LIKE ? ";
     $data = array($module_name);
     $res = Dal::query($sql, $data);
     if ($res->numRows() > 0) {
         $row = $res->fetchRow(DB_FETCHMODE_OBJECT);
         Logger::log("Exit: function ModuleData::get");
         return $row->data;
     }
 }
开发者ID:Cyberspace-Networks,项目名称:CoreSystem,代码行数:12,代码来源:CNModuleData.php

示例7: get_recent_by_user

 public static function get_recent_by_user($uid, $cnt = 5)
 {
     $sql = 'SELECT * FROM {rating} WHERE user_id=? 
 ORDER BY index_id
 LIMIT ?';
     $data = array($uid, $cnt);
     $res = Dal::query($sql, $data);
     $return = array();
     if ($res->numRows()) {
         while ($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) {
             array_push($return, $row);
         }
     }
     return $return;
 }
开发者ID:CivicCommons,项目名称:oldBellCaPA,代码行数:15,代码来源:PA_Rating.php

示例8: testProfileReadingFunctions

 function testProfileReadingFunctions()
 {
     // find a user with 'newcss' set
     list($uid, $css) = Dal::query_one("SELECT user_id, field_value FROM user_profile_data WHERE field_type='ui' AND field_name='newcss' ORDER BY user_id LIMIT 1");
     if (empty($uid)) {
         echo "Test not possible as nobody has the newcss field set.  Try again on a more populated database.\n";
         return;
     }
     // find another field, so we can test with more than one
     list($f2_name, $f2_value) = Dal::query_one("SELECT field_name, field_value FROM user_profile_data WHERE field_type='ui' AND user_id=? AND field_name <>'newcss' AND field_value IS NOT NULL LIMIT 1", $uid);
     echo "getting ui/newcss and {$f2_name} properties from user_profile_data for user_id {$uid}.\n";
     $user = new User();
     $user->load((int) $uid);
     // load just the newcss field
     echo "getting just the newcss property for user {$uid}\n";
     $css2 = $user->get_profile_field('ui', 'newcss');
     $this->assertEquals($css, $css2);
     // load just the second field
     echo "getting just the {$f2_name} property for user {$uid}\n";
     $v = $user->get_profile_field('ui', $f2_name);
     $this->assertEquals($v, $f2_value);
     // load newcss and the second field, with get_profile_fields()
     echo "getting the newcss and {$f2_name} properties, with get_profile_fields()\n";
     $data = $user->get_profile_fields('ui', array('newcss', 'graagh', $f2_name));
     $this->assertEquals($css, $data['newcss']);
     $this->assertEquals(NULL, $data['graagh']);
     $this->assertEquals($f2_value, $data[$f2_name]);
     // try again, flushing the cache first
     Cache::reset();
     echo "(without cache) getting the newcss and {$f2_name} properties, with get_profile_fields()\n";
     $data = $user->get_profile_fields('ui', array('newcss', 'graagh', $f2_name));
     $this->assertEquals($css, $data['newcss']);
     $this->assertEquals(NULL, $data['graagh']);
     $this->assertEquals($f2_value, $data[$f2_name]);
     // regression test (phil) 2007-04-01, for bug spotted by martin
     // 2007-03-23: make sure we don't crash if we request fields that
     // are all cached.
     echo "regression: make sure it doesn't crash if everything is in the cache\n";
     $data = $user->get_profile_fields('ui', array('newcss'));
     $this->assertEquals($css, $data['newcss']);
     // try by loading the entire 'ui' section
     echo "getting entire ui section for user {$uid}\n";
     $ui = User::load_profile_section($uid, "ui");
     $this->assertEquals($css, $ui['newcss']['value']);
     $this->assertEquals($f2_value, $ui[$f2_name]['value']);
 }
开发者ID:CivicCommons,项目名称:oldBellCaPA,代码行数:46,代码来源:UserProfileDataTest.php

示例9: update

 public function update()
 {
     Logger::log("Enter: function ConfigurableText::update");
     $sql = "SELECT * FROM {configurable_text} WHERE caption = ? AND id <> ?";
     $data = array('caption' => $this->caption, 'id' => $this->id);
     $res = Dal::query($sql, $data);
     if ($res->numRows() == 0) {
         $sql = "UPDATE {configurable_text} SET caption = ?, caption_value = ? WHERE id = ?";
         $data = array('caption' => $this->caption, 'caption_value' => $this->caption_value, 'id' => $this->id);
         $res = Dal::query($sql, $data);
     } else {
         // Caption already exists
         Logger::log("Throwing exception CAPTION_NAME_EXISTS | Caption with the given name already exists", LOGGER_ERROR);
         throw new PAException(CAPTION_NAME_EXISTS, "Caption with the given name already exists");
     }
     Logger::log("Enter: function ConfigurableText::update");
     return;
 }
开发者ID:CivicCommons,项目名称:oldBellCaPA,代码行数:18,代码来源:ConfigurableText.php

示例10: get

 public static function get($conditions = NULL, $params = NULL)
 {
     Logger::log("Enter: CNRatingData::get()");
     $sql = 'SELECT * FROM {rating} WHERE 1';
     $data = array();
     if (!empty($params)) {
         foreach ($params as $key => $value) {
             $sql .= ' AND ' . $key . ' = ?';
             array_push($data, $value);
         }
     }
     $res = Dal::query($sql, $data);
     $return = array();
     if ($res->numRows()) {
         while ($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) {
             array_push($return, $row);
         }
     }
     Logger::log("Exit: CNRatingData::get()");
     return $return;
 }
开发者ID:Cyberspace-Networks,项目名称:CoreSystem,代码行数:21,代码来源:CNRatingData.php

示例11: update

 public function update($params)
 {
     $updates = array();
     $args = array();
     foreach ($params as $k => $v) {
         $col = @Item::$columns[$k];
         if (empty($col)) {
             throw new Exception("Unknown item table column '{$k}'");
         }
         if ($this->{$col} != $v) {
             $updates[] = "{$col}=?";
             $args[] = $v;
         }
     }
     if (count($updates)) {
         $args[] = $this->item_id;
         Dal::query("UPDATE {items} SET " . implode(",", $updates) . " WHERE item_id=?", $args);
         Cache::setValue("item:" . $params['type'] . ":" . $params['id'], $this);
         // update cache
     }
 }
开发者ID:CivicCommons,项目名称:oldBellCaPA,代码行数:21,代码来源:Item.php

示例12: import_user_feed

 /**
  * Function to process the user feed.
  * This function will check for the feed url added by the user in 
  * user_profile in external feeds. If it exists then it will return the associated 
  * feed_id otherwise it will add 
  */
 private function import_user_feed()
 {
     Logger::log("Enter: UserProfileFeed::import_user_feed");
     $sql = 'SELECT feed_id FROM {external_feed} WHERE import_url = ? AND is_active = ?';
     try {
         $res = Dal::query($sql, array($this->import_url, ACTIVE));
     } catch (PAException $e) {
         Logger::log("Exit UserProfileFeed::import_user_feed.Not able to get feed details for given import_url. Associated sql = {$sql}, import_url = {$this->import_url}");
         throw $e;
     }
     if ($res->numRows()) {
         //given import url exists already in the external feed list
         $row = $res->fetchRow(DB_FETCHMODE_OBJECT);
         //TODO: refresh the feed data
         $this->feed_id = $row->feed_id;
     } else {
         // Given feed does not exists in the external feeds. So add it first and then return the associated feed_id.
         //setting the feed_type to user_profile feed
         $this->feed_type = USER_PROFILE_FEED;
         $this->save();
     }
     Logger::log("Exit: UserProfileFeed::import_user_feed");
     return $this->feed_id;
 }
开发者ID:CivicCommons,项目名称:oldBellCaPA,代码行数:30,代码来源:UserProfileFeed.php

示例13: load_group

 /**
     For loading group information in the basis of group_id
     Requirement :- take a group id
     Return :- all the information of group as well as group_owner name, ID and number of members in the group
 */
 public static function load_group($group_id = FALSE, $cnt = FALSE, $show = 'ALL', $page = 1, $sort_by = 'created', $direction = 'DESC', $speacial_condition = FALSE)
 {
     Logger::log("Enter: Group::load_group() ");
     if ($sort_by == 'members') {
         $order_by = 'members' . ' ' . $direction;
     } else {
         $order_by = ' CC.' . $sort_by . ' ' . $direction;
     }
     if ($show == 'ALL' || $cnt == TRUE) {
         $limit = '';
     } else {
         $start = ($page - 1) * $show;
         $limit = 'LIMIT ' . $start . ',' . $show;
     }
     if ($group_id) {
         $sql = "SELECT count(GU.user_id) AS members,CC.collection_id AS group_id,CC.title AS group_name,CC.*,U.first_name AS owner_first_name,U.login_name AS owner_login_name,U.user_id  AS owner_id FROM {contentcollections} AS CC INNER JOIN {groups_users} AS GU on GU.group_id = CC.collection_id AND CC.is_active =1 LEFT JOIN {users} AS U on CC.author_id = U.user_id WHERE CC.collection_id = ? {$speacial_condition} GROUP BY CC.collection_id ORDER BY {$order_by} {$limit}";
         $res = Dal::query($sql, $group_id);
         if ($cnt) {
             return $res->numRows();
         }
         if ($res->numRows()) {
             while ($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) {
                 $group_description = $row;
             }
         }
         Logger::log("Exit: Group::load_group() ");
         return $group_description;
     }
 }
开发者ID:CivicCommons,项目名称:oldBellCaPA,代码行数:34,代码来源:Group.php

示例14: network_owner_link

 /**
  *   Method to load a links or links.
  *   @param $condition_array associative array of the class variables with their values.
  *   @access public
  */
 public function network_owner_link($condition = NULL, $limit = NULL)
 {
     Logger::log("Enter: function Links::network_owner_link");
     $sql = "SELECT L.* FROM {links} AS L INNER JOIN {linkcategories} AS LC ON L.category_id = LC.category_id";
     if (count($condition) > 0) {
         foreach ($condition as $key => $value) {
             $sql .= " AND L.{$key} = ?";
             $data[] = $value;
         }
     }
     $sql .= " ORDER BY L.created";
     if (!empty($limit)) {
         $sql .= " LIMIT {$limit}";
     }
     $res = Dal::query($sql, $data);
     $return = array();
     if ($res->numRows() > 0) {
         while ($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) {
             $return[] = $row;
         }
     }
     Logger::log("Exit: function Links::load_link");
     return $return;
 }
开发者ID:Cyberspace-Networks,项目名称:CoreSystem,代码行数:29,代码来源:CNLinks.php

示例15: content_type_exists

 public static function content_type_exists()
 {
     $sql = "SELECT type_id FROM {content_types} WHERE name LIKE ?";
     $res = Dal::query($sql, array(self::TYPE_NAME));
     if ($res->numRows()) {
         return true;
     }
     return false;
 }
开发者ID:Cyberspace-Networks,项目名称:PeopleAggregator,代码行数:9,代码来源:Suggestion.php


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