Initial commit
This commit is contained in:
commit
84d9a7536e
451 changed files with 199457 additions and 0 deletions
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
400
nrpc_db/pc_parts_new_functions.sql
Normal file
400
nrpc_db/pc_parts_new_functions.sql
Normal file
|
@ -0,0 +1,400 @@
|
|||
DROP FUNCTION IF EXISTS addNewPart;
|
||||
|
||||
CREATE FUNCTION addNewPart (upc varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, price dec(19, 2), category_id int, supplier_id int, description text CHARSET utf8, image varchar(255) CHARSET utf8)
|
||||
|
||||
RETURNS int
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
DECLARE part_id int;
|
||||
DECLARE shop_id int;
|
||||
DECLARE n int;
|
||||
DECLARE i int;
|
||||
DECLARE part_count int;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO part_count
|
||||
FROM part p
|
||||
WHERE p.upc LIKE upc;
|
||||
|
||||
IF (part_count > 0) THEN
|
||||
RETURN 0;
|
||||
END IF;
|
||||
|
||||
INSERT IGNORE INTO part
|
||||
VALUES (NULL, upc, name, price, category_id, supplier_id, description, image);
|
||||
|
||||
SELECT
|
||||
LAST_INSERT_ID() INTO part_id;
|
||||
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM shop s INTO n;
|
||||
|
||||
SET i = 1;
|
||||
WHILE i <= n DO
|
||||
INSERT IGNORE INTO part_shop
|
||||
VALUES (NULL, part_id, i, 0);
|
||||
SET i = i + 1;
|
||||
END WHILE;
|
||||
|
||||
RETURN 1;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS addNewUser;
|
||||
|
||||
CREATE FUNCTION addNewUser (login varchar(255) CHARSET utf8, password varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, surname varchar(255) CHARSET utf8, phone varchar(255) CHARSET utf8, email varchar(255) CHARSET utf8, address varchar(255) CHARSET utf8)
|
||||
|
||||
RETURNS int
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
DECLARE loginCount int;
|
||||
DECLARE phoneCount int;
|
||||
DECLARE emailCount int;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO loginCount
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
|
||||
IF (loginCount > 0) THEN
|
||||
RETURN 0;
|
||||
END IF;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO phoneCount
|
||||
FROM user u
|
||||
WHERE u.phone = phone;
|
||||
|
||||
IF (phoneCount > 0) THEN
|
||||
RETURN 1;
|
||||
END IF;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO emailCount
|
||||
FROM user u
|
||||
WHERE u.email = email;
|
||||
|
||||
IF (emailCount > 0) THEN
|
||||
RETURN 2;
|
||||
END IF;
|
||||
|
||||
INSERT IGNORE INTO user
|
||||
VALUES (NULL, login, password, name, surname, phone, email, address, 0, '_', 0);
|
||||
|
||||
RETURN 3;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS createNewOrd;
|
||||
|
||||
CREATE FUNCTION createNewOrd (login varchar(255) CHARSET utf8)
|
||||
|
||||
RETURNS int
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
DECLARE user_id int;
|
||||
DECLARE shop_id int;
|
||||
|
||||
SELECT
|
||||
u.id INTO user_id
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
|
||||
SELECT
|
||||
u.pref_shop_id INTO shop_id
|
||||
FROM user u
|
||||
WHERE u.id = user_id;
|
||||
|
||||
INSERT IGNORE INTO ord
|
||||
VALUES (NULL, user_id, shop_id, 2, CURDATE());
|
||||
|
||||
RETURN LAST_INSERT_ID();
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS modifyOrder;
|
||||
|
||||
CREATE FUNCTION modifyOrder (ord_id int, part_id int, ord_count int)
|
||||
|
||||
RETURNS int
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
DECLARE supply int;
|
||||
DECLARE shop_id int;
|
||||
|
||||
SELECT
|
||||
o.id_shop INTO shop_id
|
||||
FROM ord o
|
||||
WHERE o.id = ord_id;
|
||||
|
||||
SELECT
|
||||
ps.count INTO supply
|
||||
FROM part_shop ps
|
||||
WHERE ps.id_part = part_id
|
||||
AND ps.id_shop = shop_id;
|
||||
|
||||
IF (supply >= ord_count) THEN
|
||||
UPDATE part_shop ps
|
||||
SET ps.count = ps.count - ord_count
|
||||
WHERE ps.id_part = part_id
|
||||
AND ps.id_shop = shop_id;
|
||||
|
||||
INSERT IGNORE INTO order_part
|
||||
VALUES (NULL, ord_id, part_id, ord_count);
|
||||
RETURN 1;
|
||||
END IF;
|
||||
|
||||
RETURN 0;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS modifySupply;
|
||||
|
||||
CREATE FUNCTION modifySupply (part_id int, shop_id int, supply int)
|
||||
|
||||
RETURNS int
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
UPDATE part_shop ps
|
||||
SET ps.count = supply
|
||||
WHERE ps.id_part = part_id
|
||||
AND ps.id_shop = shop_id;
|
||||
|
||||
|
||||
RETURN 1;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS handleLogin;
|
||||
|
||||
CREATE FUNCTION handleLogin (login varchar(255) CHARSET utf8, password varchar(255) CHARSET utf8)
|
||||
|
||||
RETURNS varchar(255) CHARSET utf8
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
DECLARE existing_users int;
|
||||
DECLARE cart varchar(255) CHARSET utf8;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO existing_users
|
||||
FROM user u
|
||||
WHERE u.login = login
|
||||
AND u.PASSWORD = password;
|
||||
|
||||
IF (existing_users > 0) THEN
|
||||
SELECT
|
||||
u.cart INTO cart
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
|
||||
RETURN CONVERT(cart USING utf8);
|
||||
ELSE
|
||||
RETURN '0';
|
||||
END IF;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS isUserAdmin;
|
||||
|
||||
CREATE FUNCTION isUserAdmin (login varchar(255) CHARSET utf8)
|
||||
|
||||
RETURNS bool
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
DECLARE is_user_admin bool;
|
||||
SELECT
|
||||
is_admin INTO is_user_admin
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
RETURN is_user_admin;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS modifyPart;
|
||||
|
||||
CREATE FUNCTION modifyPart (id int, upc varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, price dec(19, 2), category_id int, supplier_id int, description text CHARSET utf8, image varchar(255) CHARSET utf8)
|
||||
|
||||
RETURNS int
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
UPDATE part p
|
||||
SET p.upc = upc,
|
||||
p.name = name,
|
||||
p.price = price,
|
||||
p.id_category = category_id,
|
||||
p.id_supplier = supplier_id,
|
||||
p.description = description,
|
||||
p.image = image
|
||||
WHERE p.id = id;
|
||||
|
||||
RETURN 1;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS saveCart;
|
||||
|
||||
CREATE FUNCTION saveCart (login varchar(255) CHARSET utf8, cart varchar(255) CHARSET utf8)
|
||||
|
||||
RETURNS int
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
UPDATE user u
|
||||
SET u.cart = cart
|
||||
WHERE u.login = login;
|
||||
|
||||
RETURN 1;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS modifyUser;
|
||||
|
||||
CREATE FUNCTION modifyUser (login varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, surname varchar(255) CHARSET utf8, phone varchar(255) CHARSET utf8, email varchar(255) CHARSET utf8, address varchar(255) CHARSET utf8, shop int)
|
||||
|
||||
RETURNS int
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
UPDATE user u
|
||||
SET u.name = name,
|
||||
u.surname = surname,
|
||||
u.phone = phone,
|
||||
u.email = email,
|
||||
u.address = address,
|
||||
u.pref_shop_id = shop
|
||||
WHERE u.login = login;
|
||||
|
||||
RETURN 1;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS getUserShop;
|
||||
|
||||
CREATE FUNCTION getUserShop (login varchar(255) CHARSET utf8)
|
||||
|
||||
RETURNS int
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
DECLARE id_shop int;
|
||||
|
||||
SELECT
|
||||
u.pref_shop_id INTO id_shop
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
|
||||
RETURN id_shop;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS getEmail;
|
||||
|
||||
CREATE FUNCTION getEmail (login varchar(255) CHARSET utf8)
|
||||
|
||||
RETURNS varchar(255) CHARSET utf8
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
DECLARE email varchar(255) CHARSET utf8;
|
||||
|
||||
SELECT
|
||||
u.email INTO email
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
|
||||
RETURN email;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS ordStatus;
|
||||
|
||||
CREATE FUNCTION ordStatus (ord_id int, status_id int)
|
||||
|
||||
RETURNS int
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
UPDATE ord o
|
||||
SET o.id_status = status_id
|
||||
WHERE o.id = ord_id;
|
||||
|
||||
RETURN 1;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP FUNCTION IF EXISTS changeAdmin;
|
||||
|
||||
CREATE FUNCTION changeAdmin (user_id int)
|
||||
|
||||
RETURNS int
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
UPDATE user u
|
||||
SET u.is_admin = !u.is_admin
|
||||
WHERE u.id = user_id;
|
||||
|
||||
RETURN 1;
|
||||
END;
|
314
nrpc_db/pc_parts_new_procedures.sql
Normal file
314
nrpc_db/pc_parts_new_procedures.sql
Normal file
|
@ -0,0 +1,314 @@
|
|||
DROP PROCEDURE IF EXISTS selectParts;
|
||||
|
||||
CREATE PROCEDURE selectParts (upc varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, price_bottom dec(19, 2), price_upper dec(19, 2), category int, supplier int)
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
SELECT
|
||||
p.id,
|
||||
p.upc,
|
||||
p.name,
|
||||
p.price,
|
||||
c.name AS 'category',
|
||||
s.name AS 'supplier'
|
||||
FROM part p
|
||||
JOIN category c
|
||||
ON p.id_category = c.id
|
||||
JOIN supplier s
|
||||
ON p.id_supplier = s.id
|
||||
WHERE (upc = ''
|
||||
OR upc IS NULL
|
||||
OR p.upc LIKE CONCAT('%', upc, '%'))
|
||||
AND (name = ''
|
||||
OR name IS NULL
|
||||
OR p.name LIKE CONCAT('%', NAME, '%'))
|
||||
AND (p.price >= price_bottom
|
||||
AND p.price <= price_upper)
|
||||
AND (p.id_category = category
|
||||
OR category = 0)
|
||||
AND (p.id_supplier = supplier
|
||||
OR supplier = 0);
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP PROCEDURE IF EXISTS partInfo;
|
||||
|
||||
CREATE PROCEDURE partInfo (id int, shop int)
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
SELECT
|
||||
p.upc,
|
||||
p.name,
|
||||
p.price,
|
||||
c.id AS 'category',
|
||||
c.name AS 'category_name',
|
||||
s.id AS 'supplier',
|
||||
s.name AS 'supplier_name',
|
||||
p.description,
|
||||
p.image,
|
||||
ps.count AS 'in_stock'
|
||||
FROM part p
|
||||
JOIN category c
|
||||
ON p.id_category = c.id
|
||||
JOIN supplier s
|
||||
ON p.id_supplier = s.id
|
||||
JOIN part_shop ps
|
||||
ON p.id = ps.id_part
|
||||
JOIN shop s1
|
||||
ON ps.id_shop = s1.id
|
||||
WHERE p.id = id
|
||||
AND (s1.id = shop
|
||||
OR shop = 0);
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP PROCEDURE IF EXISTS partStock;
|
||||
|
||||
CREATE PROCEDURE partStock (id int)
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
SELECT
|
||||
s.id,
|
||||
s.name,
|
||||
s.address,
|
||||
ps.count
|
||||
FROM part p
|
||||
JOIN part_shop ps
|
||||
ON p.id = ps.id_part
|
||||
JOIN shop s
|
||||
ON ps.id_shop = s.id
|
||||
WHERE ps.id_part = id;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP PROCEDURE IF EXISTS selectPartsShopping;
|
||||
|
||||
CREATE PROCEDURE selectPartsShopping (name varchar(255) CHARSET utf8, price_bottom dec(19, 2), price_upper dec(19, 2), category int, sort int, show_absent bool, shop_id int)
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
SELECT
|
||||
p.id,
|
||||
p.name,
|
||||
p.price,
|
||||
p.image,
|
||||
ps.count AS 'in_stock',
|
||||
s.id AS 'shop',
|
||||
COUNT(*) AS 'count'
|
||||
FROM part p
|
||||
JOIN category c
|
||||
ON p.id_category = c.id
|
||||
JOIN part_shop ps
|
||||
ON p.id = ps.id_part
|
||||
JOIN shop s
|
||||
ON ps.id_shop = s.id
|
||||
WHERE (name = ''
|
||||
OR name IS NULL
|
||||
OR p.name LIKE CONCAT('%', name, '%'))
|
||||
AND (p.price >= price_bottom
|
||||
AND p.price <= price_upper)
|
||||
AND (p.id_category = category
|
||||
OR category = 0)
|
||||
AND (s.id = shop_id
|
||||
OR shop_id = 0)
|
||||
GROUP BY p.id
|
||||
HAVING ((NOT show_absent
|
||||
AND in_stock > 0
|
||||
AND (shop = shop_id
|
||||
OR shop_id = 0))
|
||||
OR show_absent)
|
||||
ORDER BY CASE sort WHEN 0 THEN p.price END ASC,
|
||||
CASE sort WHEN 1 THEN p.price END DESC;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP PROCEDURE IF EXISTS userInfo;
|
||||
|
||||
CREATE PROCEDURE userInfo (login varchar(255) CHARSET utf8, user_id int)
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
SELECT
|
||||
u.login,
|
||||
u.name,
|
||||
u.surname,
|
||||
u.phone,
|
||||
u.email,
|
||||
u.address,
|
||||
u.pref_shop_id,
|
||||
u.is_admin
|
||||
FROM user u
|
||||
WHERE u.login = login
|
||||
OR u.id = user_id;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP PROCEDURE IF EXISTS ordInfo;
|
||||
|
||||
CREATE PROCEDURE ordInfo (ord_id int)
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
SELECT
|
||||
u.login,
|
||||
s.name AS 'shop',
|
||||
s.address,
|
||||
s1.name AS 'status',
|
||||
o.date
|
||||
FROM ord o
|
||||
JOIN shop s
|
||||
ON o.id_shop = s.id
|
||||
JOIN user u
|
||||
ON o.id_user = u.id
|
||||
JOIN status s1
|
||||
ON o.id_status = s1.id
|
||||
WHERE o.id = ord_id;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP PROCEDURE IF EXISTS selectOrds;
|
||||
|
||||
CREATE PROCEDURE selectOrds (ord_id varchar(255) CHARSET utf8, login varchar(255) CHARSET utf8, shop_id int, status_id int)
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
SELECT
|
||||
o.id,
|
||||
u.login,
|
||||
s1.name AS 'shop',
|
||||
o.date,
|
||||
s.name AS 'status'
|
||||
FROM ord o
|
||||
JOIN user u
|
||||
ON o.id_user = u.id
|
||||
JOIN status s
|
||||
ON o.id_status = s.id
|
||||
JOIN shop s1
|
||||
ON o.id_shop = s1.id
|
||||
WHERE (CONVERT(o.id, char) LIKE CONCAT('%', ord_id, '%')
|
||||
OR ord_id = ''
|
||||
OR ord_id IS NULL)
|
||||
AND (login = ''
|
||||
OR login IS NULL
|
||||
OR u.login LIKE CONCAT('%', login, '%'))
|
||||
AND (shop_id = 0
|
||||
OR shop_id IS NULL
|
||||
OR o.id_shop = shop_id)
|
||||
AND (o.id_status = status_id
|
||||
OR status_id = 0)
|
||||
ORDER BY o.id DESC;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP PROCEDURE IF EXISTS userOrds;
|
||||
|
||||
CREATE PROCEDURE userOrds (login varchar(255) CHARSET utf8, user_id int)
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
SELECT
|
||||
o.id,
|
||||
s.name AS 'shop',
|
||||
o.date,
|
||||
s1.name AS 'status'
|
||||
FROM ord o
|
||||
JOIN user u
|
||||
ON o.id_user = u.id
|
||||
JOIN shop s
|
||||
ON o.id_shop = s.id
|
||||
JOIN status s1
|
||||
ON o.id_status = s1.id
|
||||
WHERE u.login = login
|
||||
OR u.id = user_id
|
||||
ORDER BY o.id DESC;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP PROCEDURE IF EXISTS ordGetParts;
|
||||
|
||||
CREATE PROCEDURE ordGetParts (ord_id int)
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
SELECT
|
||||
p.id,
|
||||
p.upc,
|
||||
p.name,
|
||||
p.price,
|
||||
op.count
|
||||
FROM order_part op
|
||||
JOIN ord o
|
||||
ON op.id_order = o.id
|
||||
JOIN part p
|
||||
ON op.id_part = p.id
|
||||
WHERE o.id = ord_id;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP PROCEDURE IF EXISTS selectUsers;
|
||||
|
||||
CREATE PROCEDURE selectUsers (login varchar(255) CHARSET utf8, phone varchar(255) CHARSET utf8, email varchar(255) CHARSET utf8, is_admin int)
|
||||
|
||||
SQL SECURITY INVOKER
|
||||
|
||||
BEGIN
|
||||
SELECT
|
||||
u.id,
|
||||
u.login,
|
||||
u.name,
|
||||
u.surname,
|
||||
u.phone,
|
||||
u.email,
|
||||
u.address,
|
||||
u.is_admin
|
||||
FROM user u
|
||||
WHERE (u.login LIKE CONCAT('%', login, '%')
|
||||
OR login = ''
|
||||
OR login IS NULL)
|
||||
AND (u.phone LIKE CONCAT('%', phone, '%')
|
||||
OR phone = ''
|
||||
OR phone IS NULL)
|
||||
AND (u.email LIKE CONCAT('%', email, '%')
|
||||
OR email = ''
|
||||
OR email IS NULL)
|
||||
AND (u.is_admin = is_admin
|
||||
OR is_admin = -1);
|
||||
END;
|
25
nrpc_db/pc_parts_new_procedures.sql.design
Normal file
25
nrpc_db/pc_parts_new_procedures.sql.design
Normal file
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Devart (www.devart.com), SQL document design file -->
|
||||
<!-- Modifying this generated file will probably render it invalid -->
|
||||
<Document>
|
||||
<Properties>
|
||||
<Type>SQL Document Design</Type>
|
||||
<DatabaseProvider>59f90733-4d68-4fdf-82a7-f0fcbf5460aa</DatabaseProvider>
|
||||
<ProviderVersion>8.1.22.0</ProviderVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
</Properties>
|
||||
<Connection Name="mysql.localhost">
|
||||
<Category>00000000-0000-0000-0000-000000000000</Category>
|
||||
<ConnectionString>User Id=root;Host=localhost;Database=mysql;Character Set=utf8</ConnectionString>
|
||||
<Database>pc_parts_new</Database>
|
||||
</Connection>
|
||||
<Views ShowAdditionalViews="False" IsLayoutActiveAttribute="True" MainViewAttribute="Code" MainViewScale="73">
|
||||
<View Name="Design" Visible="False" />
|
||||
<View Name="Code" Active="True" Visible="True">
|
||||
<Data />
|
||||
</View>
|
||||
<View Name="Data" Visible="True" />
|
||||
<View Name="Profiler" Visible="False" />
|
||||
<View Name="PivotGrid" Visible="False" />
|
||||
</Views>
|
||||
</Document>
|
51
nrpc_db/pc_parts_new_views.sql
Normal file
51
nrpc_db/pc_parts_new_views.sql
Normal file
|
@ -0,0 +1,51 @@
|
|||
DROP VIEW IF EXISTS get_shops;
|
||||
|
||||
CREATE VIEW get_shops
|
||||
AS
|
||||
SELECT
|
||||
s.id,
|
||||
s.name
|
||||
FROM shop s
|
||||
ORDER BY s.id ASC;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP VIEW IF EXISTS get_status;
|
||||
|
||||
CREATE VIEW get_status
|
||||
AS
|
||||
SELECT
|
||||
s.id,
|
||||
s.name
|
||||
FROM status s
|
||||
ORDER BY s.id ASC;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP VIEW IF EXISTS get_categories;
|
||||
|
||||
CREATE VIEW get_categories
|
||||
AS
|
||||
SELECT
|
||||
c.id,
|
||||
c.name
|
||||
FROM category c
|
||||
ORDER BY c.id ASC;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DROP VIEW IF EXISTS get_suppliers;
|
||||
|
||||
CREATE VIEW get_suppliers
|
||||
AS
|
||||
SELECT
|
||||
s.id,
|
||||
s.name
|
||||
FROM supplier s
|
||||
ORDER BY s.id ASC;
|
25
nrpc_db/pc_parts_new_views.sql.design
Normal file
25
nrpc_db/pc_parts_new_views.sql.design
Normal file
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Devart (www.devart.com), SQL document design file -->
|
||||
<!-- Modifying this generated file will probably render it invalid -->
|
||||
<Document>
|
||||
<Properties>
|
||||
<Type>SQL Document Design</Type>
|
||||
<DatabaseProvider>59f90733-4d68-4fdf-82a7-f0fcbf5460aa</DatabaseProvider>
|
||||
<ProviderVersion>8.1.22.0</ProviderVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
</Properties>
|
||||
<Connection Name="mysql.localhost">
|
||||
<Category>00000000-0000-0000-0000-000000000000</Category>
|
||||
<ConnectionString>User Id=root;Host=localhost;Database=mysql;Character Set=utf8</ConnectionString>
|
||||
<Database>pc_parts_new</Database>
|
||||
</Connection>
|
||||
<Views ShowAdditionalViews="False" IsLayoutActiveAttribute="True" MainViewAttribute="Code" MainViewScale="64">
|
||||
<View Name="Design" Visible="False" />
|
||||
<View Name="Code" Active="True" Visible="True">
|
||||
<Data />
|
||||
</View>
|
||||
<View Name="Data" Visible="True" />
|
||||
<View Name="Profiler" Visible="False" />
|
||||
<View Name="PivotGrid" Visible="False" />
|
||||
</Views>
|
||||
</Document>
|
989
nrpc_db/ps_parts_new_diagram.dbd
Normal file
989
nrpc_db/ps_parts_new_diagram.dbd
Normal file
|
@ -0,0 +1,989 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Devart (www.devart.com), the Database Diagram File -->
|
||||
<!-- Modifying this generated file will probably render it invalid -->
|
||||
<DevartDatabaseDiagram>
|
||||
<SchemaVersion>1.2</SchemaVersion>
|
||||
<DatabaseProvider>59f90733-4d68-4fdf-82a7-f0fcbf5460aa</DatabaseProvider>
|
||||
<Connection>
|
||||
<Name>mysql.localhost</Name>
|
||||
<Category>00000000-0000-0000-0000-000000000000</Category>
|
||||
<ConnectionString>User Id=root;Host=localhost;Database=mysql;Character Set=utf8</ConnectionString>
|
||||
</Connection>
|
||||
<Settings>
|
||||
<DbDiagramOptions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<CustomProperties>
|
||||
<BackgroundColor>WindowFrame</BackgroundColor>
|
||||
</CustomProperties>
|
||||
</DbDiagramOptions>
|
||||
<Options xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="PageOptions">
|
||||
<TopLeftMargins>
|
||||
<Width>39.3700787401575 in/100</Width>
|
||||
<Height>39.3700787401575 in/100</Height>
|
||||
</TopLeftMargins>
|
||||
<BottomRightMargins>
|
||||
<Width>39.3700787401575 in/100</Width>
|
||||
<Height>39.3700787401575 in/100</Height>
|
||||
</BottomRightMargins>
|
||||
<PaperSize>
|
||||
<Width>827 in/100</Width>
|
||||
<Height>1169 in/100</Height>
|
||||
</PaperSize>
|
||||
</Options>
|
||||
<Options xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="PrintOptions" />
|
||||
<Options xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ViewOptions">
|
||||
<ShadowOffset>
|
||||
<X>4 px</X>
|
||||
<Y>4 px</Y>
|
||||
</ShadowOffset>
|
||||
<CustomProperties />
|
||||
</Options>
|
||||
</Settings>
|
||||
<VirtualRelations>
|
||||
<RelationCount>0</RelationCount>
|
||||
</VirtualRelations>
|
||||
<Diagram Version="1.22.1.0">
|
||||
<DiagramModel>
|
||||
<Model xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RootModel">
|
||||
<CustomProperties>
|
||||
<OID>0</OID>
|
||||
</CustomProperties>
|
||||
<Children>
|
||||
<Model xsi:type="TableModel">
|
||||
<CustomProperties>
|
||||
<OID>1</OID>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<Location>
|
||||
<X>-320 px</X>
|
||||
<Y>-130 px</Y>
|
||||
</Location>
|
||||
<Size>
|
||||
<Width>178 px</Width>
|
||||
<Height>231 px</Height>
|
||||
</Size>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.part</Path>
|
||||
<TypeName>Table</TypeName>
|
||||
</DbOid>
|
||||
<Compartments>
|
||||
<ConstraintsCollapsed>True</ConstraintsCollapsed>
|
||||
<IndexesCollapsed>False</IndexesCollapsed>
|
||||
<TriggersCollapsed>True</TriggersCollapsed>
|
||||
</Compartments>
|
||||
</Model>
|
||||
<Model xsi:type="TableModel">
|
||||
<CustomProperties>
|
||||
<OID>2</OID>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<Location>
|
||||
<X>-620 px</X>
|
||||
<Y>-220 px</Y>
|
||||
</Location>
|
||||
<Size>
|
||||
<Width>144 px</Width>
|
||||
<Height>143 px</Height>
|
||||
</Size>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.category</Path>
|
||||
<TypeName>Table</TypeName>
|
||||
</DbOid>
|
||||
<Compartments>
|
||||
<ConstraintsCollapsed>True</ConstraintsCollapsed>
|
||||
<IndexesCollapsed>False</IndexesCollapsed>
|
||||
<TriggersCollapsed>True</TriggersCollapsed>
|
||||
</Compartments>
|
||||
</Model>
|
||||
<Model xsi:type="TableModel">
|
||||
<CustomProperties>
|
||||
<OID>3</OID>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<Location>
|
||||
<X>300 px</X>
|
||||
<Y>-140 px</Y>
|
||||
</Location>
|
||||
<Size>
|
||||
<Width>164 px</Width>
|
||||
<Height>284 px</Height>
|
||||
</Size>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.ord</Path>
|
||||
<TypeName>Table</TypeName>
|
||||
</DbOid>
|
||||
<Compartments>
|
||||
<ConstraintsCollapsed>False</ConstraintsCollapsed>
|
||||
<IndexesCollapsed>False</IndexesCollapsed>
|
||||
<TriggersCollapsed>True</TriggersCollapsed>
|
||||
</Compartments>
|
||||
</Model>
|
||||
<Model xsi:type="TableModel">
|
||||
<CustomProperties>
|
||||
<OID>4</OID>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<Location>
|
||||
<X>620 px</X>
|
||||
<Y>-130 px</Y>
|
||||
</Location>
|
||||
<Size>
|
||||
<Width>168 px</Width>
|
||||
<Height>265 px</Height>
|
||||
</Size>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.user</Path>
|
||||
<TypeName>Table</TypeName>
|
||||
</DbOid>
|
||||
<Compartments>
|
||||
<ConstraintsCollapsed>True</ConstraintsCollapsed>
|
||||
<IndexesCollapsed>False</IndexesCollapsed>
|
||||
<TriggersCollapsed>True</TriggersCollapsed>
|
||||
</Compartments>
|
||||
</Model>
|
||||
<Model xsi:type="TableModel">
|
||||
<CustomProperties>
|
||||
<OID>5</OID>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<Location>
|
||||
<X>-630 px</X>
|
||||
<Y>-10 px</Y>
|
||||
</Location>
|
||||
<Size>
|
||||
<Width>157 px</Width>
|
||||
<Height>180 px</Height>
|
||||
</Size>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.supplier</Path>
|
||||
<TypeName>Table</TypeName>
|
||||
</DbOid>
|
||||
<Compartments>
|
||||
<ConstraintsCollapsed>True</ConstraintsCollapsed>
|
||||
<IndexesCollapsed>False</IndexesCollapsed>
|
||||
<TriggersCollapsed>True</TriggersCollapsed>
|
||||
</Compartments>
|
||||
</Model>
|
||||
<Model xsi:type="TableModel">
|
||||
<CustomProperties>
|
||||
<OID>6</OID>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<Location>
|
||||
<X>30 px</X>
|
||||
<Y>170 px</Y>
|
||||
</Location>
|
||||
<Size>
|
||||
<Width>158 px</Width>
|
||||
<Height>180 px</Height>
|
||||
</Size>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.part_shop</Path>
|
||||
<TypeName>Table</TypeName>
|
||||
</DbOid>
|
||||
<Compartments>
|
||||
<ConstraintsCollapsed>True</ConstraintsCollapsed>
|
||||
<IndexesCollapsed>False</IndexesCollapsed>
|
||||
<TriggersCollapsed>True</TriggersCollapsed>
|
||||
</Compartments>
|
||||
</Model>
|
||||
<Model xsi:type="TableModel">
|
||||
<CustomProperties>
|
||||
<OID>7</OID>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<Location>
|
||||
<X>-300 px</X>
|
||||
<Y>140 px</Y>
|
||||
</Location>
|
||||
<Size>
|
||||
<Width>157 px</Width>
|
||||
<Height>180 px</Height>
|
||||
</Size>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.shop</Path>
|
||||
<TypeName>Table</TypeName>
|
||||
</DbOid>
|
||||
<Compartments>
|
||||
<ConstraintsCollapsed>True</ConstraintsCollapsed>
|
||||
<IndexesCollapsed>False</IndexesCollapsed>
|
||||
<TriggersCollapsed>True</TriggersCollapsed>
|
||||
</Compartments>
|
||||
</Model>
|
||||
<Model xsi:type="RelationLinkModel">
|
||||
<CustomProperties>
|
||||
<OID>8</OID>
|
||||
<Comment>9</Comment>
|
||||
<OutModel>1</OutModel>
|
||||
<InModel>2</InModel>
|
||||
<OutPort>10</OutPort>
|
||||
<InPort>11</InPort>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>8 px</X>
|
||||
<Y>107.6 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>10</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>138.421046588559 px</X>
|
||||
<Y>41.880302365765 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Right</Align>
|
||||
<CustomProperties>
|
||||
<OID>11</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<BendPoints>
|
||||
<PointD>
|
||||
<X>-340 px</X>
|
||||
<Y>-22.4 px</Y>
|
||||
</PointD>
|
||||
<PointD>
|
||||
<X>-340 px</X>
|
||||
<Y>-178.119697634235 px</Y>
|
||||
</PointD>
|
||||
</BendPoints>
|
||||
<IsManuallyRouted>false</IsManuallyRouted>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.part.FK_part_category_id</Path>
|
||||
<TypeName>ForeignKey</TypeName>
|
||||
</DbOid>
|
||||
</Model>
|
||||
<Model xsi:type="RelationCommentModel">
|
||||
<CustomProperties>
|
||||
<OID>9</OID>
|
||||
<HolderModel>8</HolderModel>
|
||||
<Port>12</Port>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port xsi:type="LinkPort">
|
||||
<Location>
|
||||
<X>20 px</X>
|
||||
<Y>77.8598495483398 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>12</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
<LinkPortAnchor>OutPoint</LinkPortAnchor>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<CommentOffset>
|
||||
<X>0.549072265625 px</X>
|
||||
<Y>-187.6 px</Y>
|
||||
</CommentOffset>
|
||||
</Model>
|
||||
<Model xsi:type="RelationLinkModel">
|
||||
<CustomProperties>
|
||||
<OID>13</OID>
|
||||
<Comment>14</Comment>
|
||||
<OutModel>1</OutModel>
|
||||
<InModel>5</InModel>
|
||||
<OutPort>15</OutPort>
|
||||
<InPort>16</InPort>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>4 px</X>
|
||||
<Y>121.2 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>15</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>152.368415059145 px</X>
|
||||
<Y>39.718863573191 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Right</Align>
|
||||
<CustomProperties>
|
||||
<OID>16</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<BendPoints>
|
||||
<PointD>
|
||||
<X>-340 px</X>
|
||||
<Y>-8.8 px</Y>
|
||||
</PointD>
|
||||
<PointD>
|
||||
<X>-340 px</X>
|
||||
<Y>29.718863573191 px</Y>
|
||||
</PointD>
|
||||
</BendPoints>
|
||||
<IsManuallyRouted>false</IsManuallyRouted>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.part.FK_part_supplier_id</Path>
|
||||
<TypeName>ForeignKey</TypeName>
|
||||
</DbOid>
|
||||
</Model>
|
||||
<Model xsi:type="RelationCommentModel">
|
||||
<CustomProperties>
|
||||
<OID>14</OID>
|
||||
<HolderModel>13</HolderModel>
|
||||
<Port>17</Port>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port xsi:type="LinkPort">
|
||||
<Location>
|
||||
<X>86.5 px</X>
|
||||
<Y>-38.518864440918 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>17</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
<LinkPortAnchor>OutPoint</LinkPortAnchor>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<CommentOffset>
|
||||
<X>15.3342208862305 px</X>
|
||||
<Y>77 px</Y>
|
||||
</CommentOffset>
|
||||
</Model>
|
||||
<Model xsi:type="RelationLinkModel">
|
||||
<CustomProperties>
|
||||
<OID>18</OID>
|
||||
<Comment>19</Comment>
|
||||
<OutModel>6</OutModel>
|
||||
<InModel>1</InModel>
|
||||
<OutPort>20</OutPort>
|
||||
<InPort>21</InPort>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>5 px</X>
|
||||
<Y>54 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>20</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>129.6 px</X>
|
||||
<Y>5.2 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Top</Align>
|
||||
<CustomProperties>
|
||||
<OID>21</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<BendPoints>
|
||||
<PointD>
|
||||
<X>10 px</X>
|
||||
<Y>224 px</Y>
|
||||
</PointD>
|
||||
<PointD>
|
||||
<X>10 px</X>
|
||||
<Y>-149 px</Y>
|
||||
</PointD>
|
||||
<PointD>
|
||||
<X>-190.399993896484 px</X>
|
||||
<Y>-149 px</Y>
|
||||
</PointD>
|
||||
</BendPoints>
|
||||
<IsManuallyRouted>false</IsManuallyRouted>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.part_shop.FK_stock_part_id</Path>
|
||||
<TypeName>ForeignKey</TypeName>
|
||||
</DbOid>
|
||||
</Model>
|
||||
<Model xsi:type="RelationCommentModel">
|
||||
<CustomProperties>
|
||||
<OID>19</OID>
|
||||
<HolderModel>18</HolderModel>
|
||||
<Port>22</Port>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port xsi:type="LinkPort">
|
||||
<Location>
|
||||
<X>20 px</X>
|
||||
<Y>186.5 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>22</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
<LinkPortAnchor>OutPoint</LinkPortAnchor>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<CommentOffset>
|
||||
<X>61.3954162597656 px</X>
|
||||
<Y>-404 px</Y>
|
||||
</CommentOffset>
|
||||
</Model>
|
||||
<Model xsi:type="TableModel">
|
||||
<CustomProperties>
|
||||
<OID>23</OID>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<Location>
|
||||
<X>310 px</X>
|
||||
<Y>190 px</Y>
|
||||
</Location>
|
||||
<Size>
|
||||
<Width>144 px</Width>
|
||||
<Height>143 px</Height>
|
||||
</Size>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.status</Path>
|
||||
<TypeName>Table</TypeName>
|
||||
</DbOid>
|
||||
<Compartments>
|
||||
<ConstraintsCollapsed>True</ConstraintsCollapsed>
|
||||
<IndexesCollapsed>False</IndexesCollapsed>
|
||||
<TriggersCollapsed>True</TriggersCollapsed>
|
||||
</Compartments>
|
||||
</Model>
|
||||
<Model xsi:type="TableModel">
|
||||
<CustomProperties>
|
||||
<OID>24</OID>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<Location>
|
||||
<X>40 px</X>
|
||||
<Y>-100 px</Y>
|
||||
</Location>
|
||||
<Size>
|
||||
<Width>171 px</Width>
|
||||
<Height>180 px</Height>
|
||||
</Size>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.order_part</Path>
|
||||
<TypeName>Table</TypeName>
|
||||
</DbOid>
|
||||
<Compartments>
|
||||
<ConstraintsCollapsed>True</ConstraintsCollapsed>
|
||||
<IndexesCollapsed>False</IndexesCollapsed>
|
||||
<TriggersCollapsed>True</TriggersCollapsed>
|
||||
</Compartments>
|
||||
</Model>
|
||||
<Model xsi:type="RelationLinkModel">
|
||||
<CustomProperties>
|
||||
<OID>25</OID>
|
||||
<Comment>26</Comment>
|
||||
<OutModel>6</OutModel>
|
||||
<InModel>7</InModel>
|
||||
<OutPort>27</OutPort>
|
||||
<InPort>28</InPort>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>10 px</X>
|
||||
<Y>71 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>27</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>126 px</X>
|
||||
<Y>37 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Right</Align>
|
||||
<CustomProperties>
|
||||
<OID>28</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<BendPoints>
|
||||
<PointD>
|
||||
<X>-40 px</X>
|
||||
<Y>241 px</Y>
|
||||
</PointD>
|
||||
<PointD>
|
||||
<X>-40 px</X>
|
||||
<Y>177 px</Y>
|
||||
</PointD>
|
||||
</BendPoints>
|
||||
<IsManuallyRouted>true</IsManuallyRouted>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.part_shop.FK_part_shop_shop_id</Path>
|
||||
<TypeName>ForeignKey</TypeName>
|
||||
</DbOid>
|
||||
</Model>
|
||||
<Model xsi:type="RelationCommentModel">
|
||||
<CustomProperties>
|
||||
<OID>26</OID>
|
||||
<HolderModel>25</HolderModel>
|
||||
<Port>29</Port>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port xsi:type="LinkPort">
|
||||
<Location>
|
||||
<X>70 px</X>
|
||||
<Y>32 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>29</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
<LinkPortAnchor>OutPoint</LinkPortAnchor>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<CommentOffset>
|
||||
<X>7.59335327148438 px</X>
|
||||
<Y>19 px</Y>
|
||||
</CommentOffset>
|
||||
</Model>
|
||||
<Model xsi:type="RelationLinkModel">
|
||||
<CustomProperties>
|
||||
<OID>30</OID>
|
||||
<Comment>31</Comment>
|
||||
<OutModel>24</OutModel>
|
||||
<InModel>3</InModel>
|
||||
<OutPort>32</OutPort>
|
||||
<InPort>33</InPort>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>168 px</X>
|
||||
<Y>51.1675126903553 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Right</Align>
|
||||
<CustomProperties>
|
||||
<OID>32</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>3.60000000000002 px</X>
|
||||
<Y>49.5918781725889 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>33</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<BendPoints>
|
||||
<PointD>
|
||||
<X>231 px</X>
|
||||
<Y>-48.8324873096447 px</Y>
|
||||
</PointD>
|
||||
<PointD>
|
||||
<X>231 px</X>
|
||||
<Y>-90.4081218274112 px</Y>
|
||||
</PointD>
|
||||
</BendPoints>
|
||||
<IsManuallyRouted>false</IsManuallyRouted>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.order_part.FK_order_part_ord_id</Path>
|
||||
<TypeName>ForeignKey</TypeName>
|
||||
</DbOid>
|
||||
</Model>
|
||||
<Model xsi:type="RelationCommentModel">
|
||||
<CustomProperties>
|
||||
<OID>31</OID>
|
||||
<HolderModel>30</HolderModel>
|
||||
<Port>34</Port>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port xsi:type="LinkPort">
|
||||
<Location>
|
||||
<X>-54.5 px</X>
|
||||
<Y>41.5756318920155 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Right</Align>
|
||||
<CustomProperties>
|
||||
<OID>34</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
<LinkPortAnchor>OutPoint</LinkPortAnchor>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<CommentOffset>
|
||||
<X>-71 px</X>
|
||||
<Y>-87.6 px</Y>
|
||||
</CommentOffset>
|
||||
</Model>
|
||||
<Model xsi:type="RelationLinkModel">
|
||||
<CustomProperties>
|
||||
<OID>35</OID>
|
||||
<Comment>36</Comment>
|
||||
<OutModel>24</OutModel>
|
||||
<InModel>1</InModel>
|
||||
<OutPort>37</OutPort>
|
||||
<InPort>38</InPort>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>0 px</X>
|
||||
<Y>90 px</Y>
|
||||
</Location>
|
||||
<Anchors>Top Bottom</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>37</OID>
|
||||
<PortType>FloatAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>156.8 px</X>
|
||||
<Y>37.2 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Right</Align>
|
||||
<CustomProperties>
|
||||
<OID>38</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<BendPoints>
|
||||
<PointD>
|
||||
<X>20 px</X>
|
||||
<Y>-10 px</Y>
|
||||
</PointD>
|
||||
<PointD>
|
||||
<X>20 px</X>
|
||||
<Y>-92.8 px</Y>
|
||||
</PointD>
|
||||
</BendPoints>
|
||||
<IsManuallyRouted>false</IsManuallyRouted>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.order_part.FK_order_part_part_id</Path>
|
||||
<TypeName>ForeignKey</TypeName>
|
||||
</DbOid>
|
||||
</Model>
|
||||
<Model xsi:type="RelationCommentModel">
|
||||
<CustomProperties>
|
||||
<OID>36</OID>
|
||||
<HolderModel>35</HolderModel>
|
||||
<Port>39</Port>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port xsi:type="LinkPort">
|
||||
<Location>
|
||||
<X>101 px</X>
|
||||
<Y>82.8000030517578 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>39</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
<LinkPortAnchor>OutPoint</LinkPortAnchor>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<CommentOffset>
|
||||
<X>28.7391815185547 px</X>
|
||||
<Y>-78.5 px</Y>
|
||||
</CommentOffset>
|
||||
</Model>
|
||||
<Model xsi:type="RelationLinkModel">
|
||||
<CustomProperties>
|
||||
<OID>40</OID>
|
||||
<Comment>41</Comment>
|
||||
<OutModel>3</OutModel>
|
||||
<InModel>4</InModel>
|
||||
<OutPort>42</OutPort>
|
||||
<InPort>43</InPort>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>152 px</X>
|
||||
<Y>59.9808 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Right</Align>
|
||||
<CustomProperties>
|
||||
<OID>42</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>8.79999999999995 px</X>
|
||||
<Y>37.2 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>43</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<BendPoints>
|
||||
<PointD>
|
||||
<X>484 px</X>
|
||||
<Y>-80.0192 px</Y>
|
||||
</PointD>
|
||||
<PointD>
|
||||
<X>484 px</X>
|
||||
<Y>-92.8 px</Y>
|
||||
</PointD>
|
||||
</BendPoints>
|
||||
<IsManuallyRouted>false</IsManuallyRouted>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.ord.FK_ord_user_id</Path>
|
||||
<TypeName>ForeignKey</TypeName>
|
||||
</DbOid>
|
||||
</Model>
|
||||
<Model xsi:type="RelationCommentModel">
|
||||
<CustomProperties>
|
||||
<OID>41</OID>
|
||||
<HolderModel>40</HolderModel>
|
||||
<Port>44</Port>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port xsi:type="LinkPort">
|
||||
<Location>
|
||||
<X>-88 px</X>
|
||||
<Y>12.7808030517578 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Right</Align>
|
||||
<CustomProperties>
|
||||
<OID>44</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
<LinkPortAnchor>OutPoint</LinkPortAnchor>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<CommentOffset>
|
||||
<X>36 px</X>
|
||||
<Y>-32.8 px</Y>
|
||||
</CommentOffset>
|
||||
</Model>
|
||||
<Model xsi:type="RelationLinkModel">
|
||||
<CustomProperties>
|
||||
<OID>45</OID>
|
||||
<Comment>46</Comment>
|
||||
<OutModel>3</OutModel>
|
||||
<InModel>23</InModel>
|
||||
<OutPort>47</OutPort>
|
||||
<InPort>48</InPort>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>149.6 px</X>
|
||||
<Y>109.056 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Right</Align>
|
||||
<CustomProperties>
|
||||
<OID>47</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>130 px</X>
|
||||
<Y>42 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Right</Align>
|
||||
<CustomProperties>
|
||||
<OID>48</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<BendPoints>
|
||||
<PointD>
|
||||
<X>483 px</X>
|
||||
<Y>-30.944 px</Y>
|
||||
</PointD>
|
||||
<PointD>
|
||||
<X>483 px</X>
|
||||
<Y>232 px</Y>
|
||||
</PointD>
|
||||
</BendPoints>
|
||||
<IsManuallyRouted>false</IsManuallyRouted>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.ord.FK_ord_status_id</Path>
|
||||
<TypeName>ForeignKey</TypeName>
|
||||
</DbOid>
|
||||
</Model>
|
||||
<Model xsi:type="RelationCommentModel">
|
||||
<CustomProperties>
|
||||
<OID>46</OID>
|
||||
<HolderModel>45</HolderModel>
|
||||
<Port>49</Port>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port xsi:type="LinkPort">
|
||||
<Location>
|
||||
<X>-19 px</X>
|
||||
<Y>-131.47199987793 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Right</Align>
|
||||
<CustomProperties>
|
||||
<OID>49</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
<LinkPortAnchor>OutPoint</LinkPortAnchor>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<CommentOffset>
|
||||
<X>-124 px</X>
|
||||
<Y>190.944 px</Y>
|
||||
</CommentOffset>
|
||||
</Model>
|
||||
<Model xsi:type="RelationLinkModel">
|
||||
<CustomProperties>
|
||||
<OID>50</OID>
|
||||
<Comment>51</Comment>
|
||||
<OutModel>3</OutModel>
|
||||
<InModel>7</InModel>
|
||||
<OutPort>52</OutPort>
|
||||
<InPort>53</InPort>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>10.4 px</X>
|
||||
<Y>74.4 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>52</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
<Port>
|
||||
<Location>
|
||||
<X>120 px</X>
|
||||
<Y>2.40000000000001 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Top</Align>
|
||||
<CustomProperties>
|
||||
<OID>53</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<BendPoints>
|
||||
<PointD>
|
||||
<X>280 px</X>
|
||||
<Y>-65.5999984741211 px</Y>
|
||||
</PointD>
|
||||
<PointD>
|
||||
<X>280 px</X>
|
||||
<Y>120 px</Y>
|
||||
</PointD>
|
||||
<PointD>
|
||||
<X>-180 px</X>
|
||||
<Y>120 px</Y>
|
||||
</PointD>
|
||||
</BendPoints>
|
||||
<IsManuallyRouted>false</IsManuallyRouted>
|
||||
<DbOid>
|
||||
<Path>pc_parts_new.ord.FK_ord_shop_id</Path>
|
||||
<TypeName>ForeignKey</TypeName>
|
||||
</DbOid>
|
||||
</Model>
|
||||
<Model xsi:type="RelationCommentModel">
|
||||
<CustomProperties>
|
||||
<OID>51</OID>
|
||||
<HolderModel>50</HolderModel>
|
||||
<Port>54</Port>
|
||||
<Parent>0</Parent>
|
||||
</CustomProperties>
|
||||
<PortAnchors>
|
||||
<Port xsi:type="LinkPort">
|
||||
<Location>
|
||||
<X>250 px</X>
|
||||
<Y>-185.6 px</Y>
|
||||
</Location>
|
||||
<Anchors>None</Anchors>
|
||||
<Align>Left</Align>
|
||||
<CustomProperties>
|
||||
<OID>54</OID>
|
||||
<PortType>FixedAnchor</PortType>
|
||||
</CustomProperties>
|
||||
<LinkPortAnchor>OutPoint</LinkPortAnchor>
|
||||
</Port>
|
||||
</PortAnchors>
|
||||
<CommentOffset>
|
||||
<X>78.2704162597656 px</X>
|
||||
<Y>195.6 px</Y>
|
||||
</CommentOffset>
|
||||
</Model>
|
||||
</Children>
|
||||
<ViewPort>
|
||||
<ScaleMode>Free</ScaleMode>
|
||||
<Scale>1</Scale>
|
||||
<Location>
|
||||
<X>-811.799987792969 px</X>
|
||||
<Y>-361 px</Y>
|
||||
</Location>
|
||||
</ViewPort>
|
||||
</Model>
|
||||
</DiagramModel>
|
||||
</Diagram>
|
||||
</DevartDatabaseDiagram>
|
377
nrpc_db/reserve/pc_parts_new 20210324 1854.sql
Normal file
377
nrpc_db/reserve/pc_parts_new 20210324 1854.sql
Normal file
|
@ -0,0 +1,377 @@
|
|||
--
|
||||
-- Скрипт сгенерирован Devart dbForge Studio 2019 for MySQL, Версия 8.1.22.0
|
||||
-- Домашняя страница продукта: http://www.devart.com/ru/dbforge/mysql/studio
|
||||
-- Дата скрипта: 24.03.2021 18:54:13
|
||||
-- Версия сервера: 5.7.25
|
||||
-- Версия клиента: 4.1
|
||||
--
|
||||
|
||||
--
|
||||
-- Отключение внешних ключей
|
||||
--
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
||||
--
|
||||
-- Установить режим SQL (SQL mode)
|
||||
--
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||
|
||||
--
|
||||
-- Установка кодировки, с использованием которой клиент будет посылать запросы на сервер
|
||||
--
|
||||
SET NAMES 'utf8';
|
||||
|
||||
--
|
||||
-- Удалить функцию `addNewPart`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS addNewPart;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `stock`
|
||||
--
|
||||
DROP TABLE IF EXISTS stock;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `shop`
|
||||
--
|
||||
DROP TABLE IF EXISTS shop;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `ord_parts`
|
||||
--
|
||||
DROP TABLE IF EXISTS ord_parts;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `ord`
|
||||
--
|
||||
DROP TABLE IF EXISTS ord;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `user`
|
||||
--
|
||||
DROP TABLE IF EXISTS user;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `part`
|
||||
--
|
||||
DROP TABLE IF EXISTS part;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `category`
|
||||
--
|
||||
DROP TABLE IF EXISTS category;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `supplier`
|
||||
--
|
||||
DROP TABLE IF EXISTS supplier;
|
||||
|
||||
--
|
||||
-- Создать таблицу `supplier`
|
||||
--
|
||||
CREATE TABLE supplier (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 2,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `supplier`
|
||||
--
|
||||
ALTER TABLE supplier
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `category`
|
||||
--
|
||||
CREATE TABLE category (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 8,
|
||||
AVG_ROW_LENGTH = 2340,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `category`
|
||||
--
|
||||
ALTER TABLE category
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `part`
|
||||
--
|
||||
CREATE TABLE part (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
upc bigint(12) NOT NULL,
|
||||
price decimal(19, 2) NOT NULL,
|
||||
id_category int(11) NOT NULL,
|
||||
id_supplier int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 7,
|
||||
AVG_ROW_LENGTH = 4096,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `upc` для объекта типа таблица `part`
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD UNIQUE INDEX upc (upc);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD CONSTRAINT FK_part_category_id FOREIGN KEY (id_category)
|
||||
REFERENCES category (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD CONSTRAINT FK_part_supplier_id FOREIGN KEY (id_supplier)
|
||||
REFERENCES supplier (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать таблицу `user`
|
||||
--
|
||||
CREATE TABLE user (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
login varchar(255) NOT NULL,
|
||||
password varchar(255) NOT NULL,
|
||||
info varchar(255) DEFAULT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 2,
|
||||
AVG_ROW_LENGTH = 16384,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `login` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX login (login);
|
||||
|
||||
--
|
||||
-- Создать таблицу `ord`
|
||||
--
|
||||
CREATE TABLE ord (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_user int(11) NOT NULL,
|
||||
status int(11) NOT NULL,
|
||||
date datetime NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 3,
|
||||
AVG_ROW_LENGTH = 16384,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD CONSTRAINT FK_ord_user_id FOREIGN KEY (id_user)
|
||||
REFERENCES user (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать таблицу `ord_parts`
|
||||
--
|
||||
CREATE TABLE ord_parts (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_order int(11) NOT NULL,
|
||||
id_part int(11) NOT NULL,
|
||||
count int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 3,
|
||||
AVG_ROW_LENGTH = 8192,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE ord_parts
|
||||
ADD CONSTRAINT FK_ord_parts_ord_id FOREIGN KEY (id_order)
|
||||
REFERENCES ord (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE ord_parts
|
||||
ADD CONSTRAINT FK_ord_parts_part_id FOREIGN KEY (id_part)
|
||||
REFERENCES part (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать таблицу `shop`
|
||||
--
|
||||
CREATE TABLE shop (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 3,
|
||||
AVG_ROW_LENGTH = 8192,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `shop`
|
||||
--
|
||||
ALTER TABLE shop
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `stock`
|
||||
--
|
||||
CREATE TABLE stock (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_part int(11) NOT NULL,
|
||||
id_shop int(11) NOT NULL,
|
||||
count varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 10,
|
||||
AVG_ROW_LENGTH = 4096,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE stock
|
||||
ADD CONSTRAINT FK_stock_part_id FOREIGN KEY (id_part)
|
||||
REFERENCES part (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE stock
|
||||
ADD CONSTRAINT FK_stock_shop_id FOREIGN KEY (id_shop)
|
||||
REFERENCES shop (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewPart`
|
||||
--
|
||||
CREATE FUNCTION addNewPart (upc bigint(12), category_id int(11), supplier_id int(11), price dec(11, 2))
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE part_id int;
|
||||
DECLARE shop_id int;
|
||||
DECLARE n int;
|
||||
DECLARE i int;
|
||||
INSERT IGNORE INTO part
|
||||
VALUES (NULL, upc, price, category_id, supplier_id);
|
||||
SELECT
|
||||
p.id INTO part_id
|
||||
FROM part p
|
||||
WHERE p.upc = upc;
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM s shop INTO n;
|
||||
SET i = 1;
|
||||
WHILE i <= n DO
|
||||
INSERT IGNORE INTO stock
|
||||
VALUES (NULL, part_id, i, 0);
|
||||
SET i = i + 1;
|
||||
END WHILE;
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы supplier
|
||||
--
|
||||
INSERT INTO supplier VALUES
|
||||
(1, 'Compart', 'ул. Гидротехников, д. 155', '+7 (911) 324-03-22', 'office@comp.ru');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы category
|
||||
--
|
||||
INSERT INTO category VALUES
|
||||
(5, 'Блок питания'),
|
||||
(2, 'Видеокарта'),
|
||||
(7, 'Жесткий диск'),
|
||||
(6, 'Корпус'),
|
||||
(4, 'Материнская плата'),
|
||||
(3, 'Оперативная память'),
|
||||
(1, 'Процессор');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы user
|
||||
--
|
||||
INSERT INTO user VALUES
|
||||
(1, 'erius', '12345678', '');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы shop
|
||||
--
|
||||
INSERT INTO shop VALUES
|
||||
(1, 'Магазин в ТК Алоха', 'ул. Тютчевская, д. 2', '+7 (932) 139-73-10', 'tutchevskaya15@novparts.ru'),
|
||||
(2, 'Магазин у ст. м. Чёрная речка', 'ул. Савушкина, д. 56', '+7 (924) 098-32-12', 'savushkina56@novparts.ru');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы part
|
||||
--
|
||||
INSERT INTO part VALUES
|
||||
(2, 111111111111, 239.99, 1, 1),
|
||||
(3, 123123123123, 699.99, 2, 1);
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы ord
|
||||
--
|
||||
INSERT INTO ord VALUES
|
||||
(2, 1, 3, '2021-03-24 00:00:00');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы stock
|
||||
--
|
||||
INSERT INTO stock VALUES
|
||||
(5, 2, 1, '10'),
|
||||
(7, 2, 2, '6'),
|
||||
(8, 3, 1, '1'),
|
||||
(9, 3, 2, '0\r\n');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы ord_parts
|
||||
--
|
||||
INSERT INTO ord_parts VALUES
|
||||
(1, 2, 3, 1),
|
||||
(2, 2, 2, 2);
|
||||
|
||||
--
|
||||
-- Восстановить предыдущий режим SQL (SQL mode)
|
||||
--
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
|
||||
--
|
||||
-- Включение внешних ключей
|
||||
--
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS = @OLD_FOREIGN_KEY_CHECKS */;
|
555
nrpc_db/reserve/pc_parts_new 20210407 1947.sql
Normal file
555
nrpc_db/reserve/pc_parts_new 20210407 1947.sql
Normal file
|
@ -0,0 +1,555 @@
|
|||
--
|
||||
-- Скрипт сгенерирован Devart dbForge Studio 2019 for MySQL, Версия 8.1.22.0
|
||||
-- Домашняя страница продукта: http://www.devart.com/ru/dbforge/mysql/studio
|
||||
-- Дата скрипта: 07.04.2021 19:47:04
|
||||
-- Версия сервера: 5.7.25
|
||||
-- Версия клиента: 4.1
|
||||
--
|
||||
|
||||
--
|
||||
-- Отключение внешних ключей
|
||||
--
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
||||
--
|
||||
-- Установить режим SQL (SQL mode)
|
||||
--
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||
|
||||
--
|
||||
-- Установка кодировки, с использованием которой клиент будет посылать запросы на сервер
|
||||
--
|
||||
SET NAMES 'utf8';
|
||||
|
||||
--
|
||||
-- Удалить функцию `addNewUser`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS addNewUser;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `ord`
|
||||
--
|
||||
DROP TABLE IF EXISTS ord;
|
||||
|
||||
--
|
||||
-- Удалить функцию `addNewOrd`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS addNewOrd;
|
||||
|
||||
--
|
||||
-- Удалить функцию `addNewPart`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS addNewPart;
|
||||
|
||||
--
|
||||
-- Удалить функцию `modifySupply`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS modifySupply;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `part_shop`
|
||||
--
|
||||
DROP TABLE IF EXISTS part_shop;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `shop`
|
||||
--
|
||||
DROP TABLE IF EXISTS shop;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `order_info`
|
||||
--
|
||||
DROP TABLE IF EXISTS order_info;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `status`
|
||||
--
|
||||
DROP TABLE IF EXISTS status;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `user`
|
||||
--
|
||||
DROP TABLE IF EXISTS user;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `part`
|
||||
--
|
||||
DROP TABLE IF EXISTS part;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `category`
|
||||
--
|
||||
DROP TABLE IF EXISTS category;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `supplier`
|
||||
--
|
||||
DROP TABLE IF EXISTS supplier;
|
||||
|
||||
--
|
||||
-- Создать таблицу `supplier`
|
||||
--
|
||||
CREATE TABLE supplier (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 3,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `supplier`
|
||||
--
|
||||
ALTER TABLE supplier
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `category`
|
||||
--
|
||||
CREATE TABLE category (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 8,
|
||||
AVG_ROW_LENGTH = 2340,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `category`
|
||||
--
|
||||
ALTER TABLE category
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `part`
|
||||
--
|
||||
CREATE TABLE part (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
upc bigint(12) NOT NULL,
|
||||
name varchar(255) NOT NULL,
|
||||
price decimal(19, 2) NOT NULL,
|
||||
id_category int(11) NOT NULL,
|
||||
id_supplier int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 19,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `upc` для объекта типа таблица `part`
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD UNIQUE INDEX upc (upc);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD CONSTRAINT FK_part_category_id FOREIGN KEY (id_category)
|
||||
REFERENCES category (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD CONSTRAINT FK_part_supplier_id FOREIGN KEY (id_supplier)
|
||||
REFERENCES supplier (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать таблицу `user`
|
||||
--
|
||||
CREATE TABLE user (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
login varchar(255) NOT NULL,
|
||||
password varchar(255) NOT NULL,
|
||||
name varchar(255) NOT NULL,
|
||||
surname varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(50) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 5,
|
||||
AVG_ROW_LENGTH = 5461,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `email` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX email (email);
|
||||
|
||||
--
|
||||
-- Создать индекс `login` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX login (login);
|
||||
|
||||
--
|
||||
-- Создать индекс `phone` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX phone (phone);
|
||||
|
||||
--
|
||||
-- Создать таблицу `status`
|
||||
--
|
||||
CREATE TABLE status (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 4,
|
||||
AVG_ROW_LENGTH = 8192,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `status`
|
||||
--
|
||||
ALTER TABLE status
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `order_info`
|
||||
--
|
||||
CREATE TABLE order_info (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_user int(11) NOT NULL,
|
||||
id_status int(11) NOT NULL,
|
||||
date datetime NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 4,
|
||||
AVG_ROW_LENGTH = 16384,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE order_info
|
||||
ADD CONSTRAINT FK_ord_status_id FOREIGN KEY (id_status)
|
||||
REFERENCES status (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE order_info
|
||||
ADD CONSTRAINT FK_ord_user_id FOREIGN KEY (id_user)
|
||||
REFERENCES user (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать таблицу `shop`
|
||||
--
|
||||
CREATE TABLE shop (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 3,
|
||||
AVG_ROW_LENGTH = 8192,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_shop` для объекта типа таблица `shop`
|
||||
--
|
||||
ALTER TABLE shop
|
||||
ADD UNIQUE INDEX UK_shop (name, address);
|
||||
|
||||
--
|
||||
-- Создать таблицу `part_shop`
|
||||
--
|
||||
CREATE TABLE part_shop (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_part int(11) NOT NULL,
|
||||
id_shop int(11) NOT NULL,
|
||||
count int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 9,
|
||||
AVG_ROW_LENGTH = 2048,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_stock` для объекта типа таблица `part_shop`
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD UNIQUE INDEX UK_stock (id_part, id_shop);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD CONSTRAINT FK_part_shop_shop_id FOREIGN KEY (id_shop)
|
||||
REFERENCES shop (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD CONSTRAINT FK_stock_part_id FOREIGN KEY (id_part)
|
||||
REFERENCES part (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `modifySupply`
|
||||
--
|
||||
CREATE FUNCTION modifySupply (part_id int, shop_id int, supply int)
|
||||
RETURNS varchar(255) CHARSET utf8
|
||||
BEGIN
|
||||
|
||||
UPDATE part_shop ps
|
||||
SET ps.count = ps.count + supply
|
||||
WHERE ps.id_part = part_id
|
||||
AND ps.id_shop = shop_id;
|
||||
|
||||
|
||||
RETURN "Успешно обновлено количество товара на складе";
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewPart`
|
||||
--
|
||||
CREATE FUNCTION addNewPart (upc bigint(12), name varchar(255), category_id int, supplier_id int, price dec(11, 2))
|
||||
RETURNS varchar(255) CHARSET utf8
|
||||
BEGIN
|
||||
DECLARE part_id int;
|
||||
DECLARE shop_id int;
|
||||
DECLARE n int;
|
||||
DECLARE i int;
|
||||
|
||||
INSERT IGNORE INTO part
|
||||
VALUES (NULL, upc, name, price, category_id, supplier_id);
|
||||
|
||||
SELECT
|
||||
LAST_INSERT_ID() INTO part_id;
|
||||
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM shop s INTO n;
|
||||
|
||||
SET i = 1;
|
||||
WHILE i <= n DO
|
||||
INSERT IGNORE INTO part_shop
|
||||
VALUES (NULL, part_id, i, 0);
|
||||
SET i = i + 1;
|
||||
END WHILE;
|
||||
|
||||
RETURN "Товар успешно добавлен в бд";
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewOrd`
|
||||
--
|
||||
CREATE FUNCTION addNewOrd (user_id int, part_id int, shop_id int, ord_count int)
|
||||
RETURNS varchar(255) CHARSET utf8
|
||||
BEGIN
|
||||
DECLARE order_info_id int;
|
||||
DECLARE part_shop_id int;
|
||||
DECLARE part_count int;
|
||||
|
||||
SELECT
|
||||
ps.id,
|
||||
ps.count INTO part_shop_id, part_count
|
||||
FROM part_shop ps
|
||||
WHERE ps.id_part = part_id
|
||||
AND ps.id_shop = shop_id;
|
||||
|
||||
IF (part_count < ord_count) THEN
|
||||
RETURN "На складе не хватает товара";
|
||||
END IF;
|
||||
|
||||
INSERT IGNORE INTO order_info
|
||||
VALUES (NULL, user_id, 1, CURDATE());
|
||||
|
||||
SELECT
|
||||
LAST_INSERT_ID() INTO order_info_id;
|
||||
|
||||
UPDATE part_shop ps
|
||||
SET ps.count = ps.count - ord_count
|
||||
WHERE ps.id = part_shop_id;
|
||||
|
||||
INSERT IGNORE INTO ord
|
||||
VALUE (NULL, order_info_id, part_shop_id, ord_count);
|
||||
|
||||
RETURN "Заказ успешно оформлен!";
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать таблицу `ord`
|
||||
--
|
||||
CREATE TABLE ord (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_order_info int(11) NOT NULL,
|
||||
id_part_shop int(11) NOT NULL,
|
||||
count int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 2,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `FK_ord_parts_ord_id` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD INDEX FK_ord_parts_ord_id (id_order_info);
|
||||
|
||||
--
|
||||
-- Создать индекс `FK_ord_parts_part_id` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD INDEX FK_ord_parts_part_id (id_part_shop);
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_ord` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD UNIQUE INDEX UK_ord (id_order_info, id_part_shop);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD CONSTRAINT FK_ord_order_info_id FOREIGN KEY (id_order_info)
|
||||
REFERENCES order_info (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD CONSTRAINT FK_ord_part_shop_id FOREIGN KEY (id_part_shop)
|
||||
REFERENCES part_shop (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewUser`
|
||||
--
|
||||
CREATE FUNCTION addNewUser (login varchar(255), password varchar(255), name varchar(255), surname varchar(255), phone varchar(255), email varchar(255), address varchar(255))
|
||||
RETURNS varchar(255) CHARSET utf8
|
||||
BEGIN
|
||||
INSERT IGNORE INTO user
|
||||
VALUES (NULL, login, password, name, surname, phone, email, address);
|
||||
|
||||
RETURN "Новый пользователь успешно создан";
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы supplier
|
||||
--
|
||||
INSERT INTO supplier VALUES
|
||||
(1, 'Compart', 'ул. Гидротехников, д. 155', '+7 (911) 324-03-22', 'office@comp.ru'),
|
||||
(2, 'WalrusTorg', 'ул. Пролетарская, д. 154', '+7 (905) 259-21-89', 'office@waltorg.ru');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы category
|
||||
--
|
||||
INSERT INTO category VALUES
|
||||
(5, 'Блок питания'),
|
||||
(2, 'Видеокарта'),
|
||||
(7, 'Жесткий диск'),
|
||||
(6, 'Корпус'),
|
||||
(4, 'Материнская плата'),
|
||||
(3, 'Оперативная память'),
|
||||
(1, 'Процессор');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы shop
|
||||
--
|
||||
INSERT INTO shop VALUES
|
||||
(1, 'Магазин в ТК Алоха', 'ул. Тютчевская, д. 2', '+7 (932) 139-73-10', 'tutchevskaya15@novparts.ru'),
|
||||
(2, 'Магазин у ст. м. Чёрная речка', 'ул. Савушкина, д. 56', '+7 (924) 098-32-12', 'savushkina56@novparts.ru');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы part
|
||||
--
|
||||
INSERT INTO part VALUES
|
||||
(15, 123123123123, 'AMD Ryzen 5 3600 OEM', 14990.00, 1, 2),
|
||||
(16, 321321321321, 'Gigabyte GeForce GTX 1050Ti', 15990.00, 2, 2),
|
||||
(17, 123456789123, 'Palit Gaming Pro GeForce RTX 3070', 119000.00, 2, 1),
|
||||
(18, 987654321321, 'MSI X470 AM4 Gaming Plus Max', 7990.00, 4, 2);
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы user
|
||||
--
|
||||
INSERT INTO user VALUES
|
||||
(1, 'erius', 'Roge2003', 'Егор', 'Капралов', '+7 (905) 259-21-89', 'egor_kapralov2003@mail.ru', 'ул. Рогожский Поселок, д. 113'),
|
||||
(2, 'WalrusYT', 'LubluMamy2003', 'Илья', 'Варлусов', '+7 (963) 089-94-25', 'taytsev@mail.ru', 'ул. Дружбы, д. 7'),
|
||||
(3, 'arcwarden', 'pudgemom', 'Стэко', 'Слэйв', '+7 (957) 736-65-67', 'xrenxrenxrenxren@mail.ru', 'ул. Ращупкина, д. 21'),
|
||||
(4, 'pupkin', 'vasya123', 'Вася', 'Пупкин', '+7 (911) 345-12-32', 'vasya_pupkin@mail.ru', 'ул. Ясеневая, д. 77');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы status
|
||||
--
|
||||
INSERT INTO status VALUES
|
||||
(2, 'Можно забрать'),
|
||||
(1, 'Ожидает прибытия'),
|
||||
(3, 'Отменен');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы part_shop
|
||||
--
|
||||
INSERT INTO part_shop VALUES
|
||||
(1, 15, 1, 0),
|
||||
(2, 15, 2, 0),
|
||||
(3, 16, 1, 8),
|
||||
(4, 16, 2, 0),
|
||||
(5, 17, 1, 0),
|
||||
(6, 17, 2, 0),
|
||||
(7, 18, 1, 0),
|
||||
(8, 18, 2, 0);
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы order_info
|
||||
--
|
||||
INSERT INTO order_info VALUES
|
||||
(3, 1, 1, '2021-04-07 00:00:00');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы ord
|
||||
--
|
||||
INSERT INTO ord VALUES
|
||||
(1, 3, 3, 2);
|
||||
|
||||
--
|
||||
-- Восстановить предыдущий режим SQL (SQL mode)
|
||||
--
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
|
||||
--
|
||||
-- Включение внешних ключей
|
||||
--
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS = @OLD_FOREIGN_KEY_CHECKS */;
|
717
nrpc_db/reserve/pc_parts_new 20210512 1758.sql
Normal file
717
nrpc_db/reserve/pc_parts_new 20210512 1758.sql
Normal file
|
@ -0,0 +1,717 @@
|
|||
--
|
||||
-- Скрипт сгенерирован Devart dbForge Studio 2019 for MySQL, Версия 8.1.22.0
|
||||
-- Домашняя страница продукта: http://www.devart.com/ru/dbforge/mysql/studio
|
||||
-- Дата скрипта: 12.05.2021 17:58:22
|
||||
-- Версия сервера: 5.7.25
|
||||
-- Версия клиента: 4.1
|
||||
--
|
||||
|
||||
--
|
||||
-- Отключение внешних ключей
|
||||
--
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
||||
--
|
||||
-- Установить режим SQL (SQL mode)
|
||||
--
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||
|
||||
--
|
||||
-- Установка кодировки, с использованием которой клиент будет посылать запросы на сервер
|
||||
--
|
||||
SET NAMES 'utf8';
|
||||
|
||||
--
|
||||
-- Удалить функцию `addNewUser`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS addNewUser;
|
||||
|
||||
--
|
||||
-- Удалить функцию `handleLogin`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS handleLogin;
|
||||
|
||||
--
|
||||
-- Удалить функцию `isUserAdmin`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS isUserAdmin;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `ord`
|
||||
--
|
||||
DROP TABLE IF EXISTS ord;
|
||||
|
||||
--
|
||||
-- Удалить функцию `addNewOrd`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS addNewOrd;
|
||||
|
||||
--
|
||||
-- Удалить функцию `addNewPart`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS addNewPart;
|
||||
|
||||
--
|
||||
-- Удалить функцию `modifySupply`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS modifySupply;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `part_shop`
|
||||
--
|
||||
DROP TABLE IF EXISTS part_shop;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `shop`
|
||||
--
|
||||
DROP TABLE IF EXISTS shop;
|
||||
|
||||
--
|
||||
-- Удалить функцию `modifyPart`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS modifyPart;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `part`
|
||||
--
|
||||
DROP TABLE IF EXISTS part;
|
||||
|
||||
--
|
||||
-- Удалить процедуру `selectParts`
|
||||
--
|
||||
DROP PROCEDURE IF EXISTS selectParts;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `category`
|
||||
--
|
||||
DROP TABLE IF EXISTS category;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `order_info`
|
||||
--
|
||||
DROP TABLE IF EXISTS order_info;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `status`
|
||||
--
|
||||
DROP TABLE IF EXISTS status;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `user`
|
||||
--
|
||||
DROP TABLE IF EXISTS user;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `supplier`
|
||||
--
|
||||
DROP TABLE IF EXISTS supplier;
|
||||
|
||||
--
|
||||
-- Создать таблицу `supplier`
|
||||
--
|
||||
CREATE TABLE supplier (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 3,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `supplier`
|
||||
--
|
||||
ALTER TABLE supplier
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `user`
|
||||
--
|
||||
CREATE TABLE user (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
login varchar(255) NOT NULL,
|
||||
password varchar(255) NOT NULL,
|
||||
name varchar(255) NOT NULL,
|
||||
surname varchar(255) NOT NULL,
|
||||
phone bigint(12) NOT NULL,
|
||||
email varchar(50) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
is_admin tinyint(1) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 11,
|
||||
AVG_ROW_LENGTH = 1820,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `email` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX email (email);
|
||||
|
||||
--
|
||||
-- Создать индекс `login` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX login (login);
|
||||
|
||||
--
|
||||
-- Создать индекс `phone` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX phone (phone);
|
||||
|
||||
--
|
||||
-- Создать таблицу `status`
|
||||
--
|
||||
CREATE TABLE status (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 4,
|
||||
AVG_ROW_LENGTH = 8192,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `status`
|
||||
--
|
||||
ALTER TABLE status
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `order_info`
|
||||
--
|
||||
CREATE TABLE order_info (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_user int(11) NOT NULL,
|
||||
id_status int(11) NOT NULL,
|
||||
date datetime NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 4,
|
||||
AVG_ROW_LENGTH = 16384,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE order_info
|
||||
ADD CONSTRAINT FK_ord_status_id FOREIGN KEY (id_status)
|
||||
REFERENCES status (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE order_info
|
||||
ADD CONSTRAINT FK_ord_user_id FOREIGN KEY (id_user)
|
||||
REFERENCES user (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать таблицу `category`
|
||||
--
|
||||
CREATE TABLE category (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 8,
|
||||
AVG_ROW_LENGTH = 2340,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `category`
|
||||
--
|
||||
ALTER TABLE category
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать процедуру `selectParts`
|
||||
--
|
||||
CREATE PROCEDURE selectParts (upc varchar(255), name varchar(255), price_bottom dec(19, 2), price_upper dec(19, 2), categorys varchar(255), suppliers varchar(255))
|
||||
BEGIN
|
||||
SELECT
|
||||
p.id,
|
||||
p.upc,
|
||||
p.name,
|
||||
p.price,
|
||||
c.id AS 'category',
|
||||
s.id AS 'supplier'
|
||||
FROM part p
|
||||
JOIN category c
|
||||
ON p.id_category = c.id
|
||||
JOIN supplier s
|
||||
ON p.id_supplier = s.id
|
||||
WHERE (upc = ''
|
||||
OR upc IS NULL
|
||||
OR p.upc LIKE CONCAT('%', upc, '%'))
|
||||
AND (name = ''
|
||||
OR name IS NULL
|
||||
OR p.name LIKE CONCAT('%', NAME, '%'))
|
||||
AND (p.price >= price_bottom
|
||||
AND p.price <= price_upper)
|
||||
AND (categorys = ''
|
||||
OR categorys IS NULL
|
||||
OR categorys LIKE CONCAT('%', CONVERT(p.id_category, char), '%'))
|
||||
AND (suppliers = ''
|
||||
OR suppliers IS NULL
|
||||
OR suppliers LIKE CONCAT('%', CONVERT(p.id_supplier, char), '%'));
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать таблицу `part`
|
||||
--
|
||||
CREATE TABLE part (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
upc varchar(255) NOT NULL,
|
||||
name varchar(255) NOT NULL,
|
||||
price decimal(19, 2) NOT NULL,
|
||||
id_category int(11) NOT NULL,
|
||||
id_supplier int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 22,
|
||||
AVG_ROW_LENGTH = 2340,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `upc` для объекта типа таблица `part`
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD UNIQUE INDEX upc (upc);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD CONSTRAINT FK_part_category_id FOREIGN KEY (id_category)
|
||||
REFERENCES category (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD CONSTRAINT FK_part_supplier_id FOREIGN KEY (id_supplier)
|
||||
REFERENCES supplier (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `modifyPart`
|
||||
--
|
||||
CREATE FUNCTION modifyPart (id int, upc varchar(255), name varchar(255), price dec(19, 2), category_id varchar(255), supplier_id varchar(255))
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
UPDATE part p
|
||||
SET p.upc = upc,
|
||||
p.name = name,
|
||||
p.price = price,
|
||||
p.id_category = category_id,
|
||||
p.id_supplier = supplier_id
|
||||
WHERE p.id = id;
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать таблицу `shop`
|
||||
--
|
||||
CREATE TABLE shop (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 3,
|
||||
AVG_ROW_LENGTH = 8192,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_shop` для объекта типа таблица `shop`
|
||||
--
|
||||
ALTER TABLE shop
|
||||
ADD UNIQUE INDEX UK_shop (name, address);
|
||||
|
||||
--
|
||||
-- Создать таблицу `part_shop`
|
||||
--
|
||||
CREATE TABLE part_shop (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_part int(11) NOT NULL,
|
||||
id_shop int(11) NOT NULL,
|
||||
count int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 15,
|
||||
AVG_ROW_LENGTH = 1638,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_stock` для объекта типа таблица `part_shop`
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD UNIQUE INDEX UK_stock (id_part, id_shop);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD CONSTRAINT FK_part_shop_shop_id FOREIGN KEY (id_shop)
|
||||
REFERENCES shop (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD CONSTRAINT FK_stock_part_id FOREIGN KEY (id_part)
|
||||
REFERENCES part (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `modifySupply`
|
||||
--
|
||||
CREATE FUNCTION modifySupply (part_id int, shop_id int, supply int)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
UPDATE part_shop ps
|
||||
SET ps.count = ps.count + supply
|
||||
WHERE ps.id_part = part_id
|
||||
AND ps.id_shop = shop_id;
|
||||
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewPart`
|
||||
--
|
||||
CREATE FUNCTION addNewPart (upc varchar(255), name varchar(255), price dec(19, 2), category_id int, supplier_id int)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE part_id int;
|
||||
DECLARE shop_id int;
|
||||
DECLARE n int;
|
||||
DECLARE i int;
|
||||
|
||||
INSERT IGNORE INTO part
|
||||
VALUES (NULL, upc, name, price, category_id, supplier_id);
|
||||
|
||||
SELECT
|
||||
LAST_INSERT_ID() INTO part_id;
|
||||
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM shop s INTO n;
|
||||
|
||||
SET i = 1;
|
||||
WHILE i <= n DO
|
||||
INSERT IGNORE INTO part_shop
|
||||
VALUES (NULL, part_id, i, 0);
|
||||
SET i = i + 1;
|
||||
END WHILE;
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewOrd`
|
||||
--
|
||||
CREATE FUNCTION addNewOrd (user_id int, part_id int, shop_id int, ord_count int)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE order_info_id int;
|
||||
DECLARE part_shop_id int;
|
||||
DECLARE part_count int;
|
||||
|
||||
SELECT
|
||||
ps.id,
|
||||
ps.count INTO part_shop_id, part_count
|
||||
FROM part_shop ps
|
||||
WHERE ps.id_part = part_id
|
||||
AND ps.id_shop = shop_id;
|
||||
|
||||
IF (part_count < ord_count) THEN
|
||||
RETURN 0;
|
||||
END IF;
|
||||
|
||||
INSERT IGNORE INTO order_info
|
||||
VALUES (NULL, user_id, 1, CURDATE());
|
||||
|
||||
SELECT
|
||||
LAST_INSERT_ID() INTO order_info_id;
|
||||
|
||||
UPDATE part_shop ps
|
||||
SET ps.count = ps.count - ord_count
|
||||
WHERE ps.id = part_shop_id;
|
||||
|
||||
INSERT IGNORE INTO ord
|
||||
VALUE (NULL, order_info_id, part_shop_id, ord_count);
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать таблицу `ord`
|
||||
--
|
||||
CREATE TABLE ord (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_order_info int(11) NOT NULL,
|
||||
id_part_shop int(11) NOT NULL,
|
||||
count int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 2,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `FK_ord_parts_ord_id` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD INDEX FK_ord_parts_ord_id (id_order_info);
|
||||
|
||||
--
|
||||
-- Создать индекс `FK_ord_parts_part_id` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD INDEX FK_ord_parts_part_id (id_part_shop);
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_ord` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD UNIQUE INDEX UK_ord (id_order_info, id_part_shop);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD CONSTRAINT FK_ord_order_info_id FOREIGN KEY (id_order_info)
|
||||
REFERENCES order_info (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD CONSTRAINT FK_ord_part_shop_id FOREIGN KEY (id_part_shop)
|
||||
REFERENCES part_shop (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `isUserAdmin`
|
||||
--
|
||||
CREATE FUNCTION isUserAdmin (login varchar(255))
|
||||
RETURNS tinyint(1)
|
||||
BEGIN
|
||||
DECLARE is_user_admin bool;
|
||||
SELECT
|
||||
is_admin INTO is_user_admin
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
RETURN is_user_admin;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `handleLogin`
|
||||
--
|
||||
CREATE FUNCTION handleLogin (login varchar(255), password varchar(255))
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE existing_users int;
|
||||
SELECT
|
||||
COUNT(*) INTO existing_users
|
||||
FROM user u
|
||||
WHERE u.login = login
|
||||
AND u.PASSWORD = password;
|
||||
|
||||
IF (existing_users > 0) THEN
|
||||
RETURN 1;
|
||||
ELSE
|
||||
RETURN 0;
|
||||
END IF;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewUser`
|
||||
--
|
||||
CREATE FUNCTION addNewUser (login varchar(255), password varchar(255), name varchar(255), surname varchar(255), phone varchar(255), email varchar(255), address varchar(255))
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE loginCount int;
|
||||
DECLARE phoneCount int;
|
||||
DECLARE emailCount int;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO loginCount
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
|
||||
IF (loginCount > 0) THEN
|
||||
RETURN 0;
|
||||
END IF;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO phoneCount
|
||||
FROM user u
|
||||
WHERE u.phone = phone;
|
||||
|
||||
IF (phoneCount > 0) THEN
|
||||
RETURN 1;
|
||||
END IF;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO emailCount
|
||||
FROM user u
|
||||
WHERE u.email = email;
|
||||
|
||||
IF (emailCount > 0) THEN
|
||||
RETURN 2;
|
||||
END IF;
|
||||
|
||||
INSERT IGNORE INTO user
|
||||
VALUES (NULL, login, password, name, surname, phone, email, address, 0);
|
||||
|
||||
RETURN 3;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы supplier
|
||||
--
|
||||
INSERT INTO supplier VALUES
|
||||
(1, 'Compart', 'ул. Гидротехников, д. 155', '+7 (911) 324-03-22', 'office@comp.ru'),
|
||||
(2, 'WalrusTorg', 'ул. Пролетарская, д. 154', '+7 (905) 259-21-89', 'office@waltorg.ru');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы category
|
||||
--
|
||||
INSERT INTO category VALUES
|
||||
(5, 'Блок питания'),
|
||||
(2, 'Видеокарта'),
|
||||
(7, 'Жесткий диск'),
|
||||
(6, 'Корпус'),
|
||||
(4, 'Материнская плата'),
|
||||
(3, 'Оперативная память'),
|
||||
(1, 'Процессор');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы shop
|
||||
--
|
||||
INSERT INTO shop VALUES
|
||||
(1, 'Магазин в ТК Алоха', 'ул. Тютчевская, д. 2', '+7 (932) 139-73-10', 'tutchevskaya15@novparts.ru'),
|
||||
(2, 'Магазин у ст. м. Чёрная речка', 'ул. Савушкина, д. 56', '+7 (924) 098-32-12', 'savushkina56@novparts.ru');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы part
|
||||
--
|
||||
INSERT INTO part VALUES
|
||||
(15, '75764839123', 'AMD Ryzen 5 3600 OEM', 15990.99, 1, 2),
|
||||
(16, '321981321321', 'Gigabyte GeForce GTX 1050Ti', 15990.99, 2, 2),
|
||||
(17, '123453289123', 'Palit Gaming Pro GeForce RTX 3070', 119000.99, 2, 1),
|
||||
(18, '987654321321', 'MSI X470 AM4 Gaming Plus Max', 7990.99, 4, 2),
|
||||
(19, '541269041211', 'norm', 1999.99, 7, 1),
|
||||
(20, '123456543214', 'eee', 199.12, 4, 2),
|
||||
(21, '999999999999', 'test', 1234.99, 4, 1);
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы user
|
||||
--
|
||||
INSERT INTO user VALUES
|
||||
(1, 'erius', 'Roge2003', 'Егор', 'Капралов', 89052592189, 'egor_kapralov2003@mail.ru', 'ул. Рогожский Поселок, д. 113', 1),
|
||||
(2, 'WalrusYT', 'LubluMamy2003', 'Илья', 'Тат', 89630899425, 'taytsev@mail.ru', 'ул. Дружбы, д. 7', 0),
|
||||
(3, 'arcwarden', 'pudgemom', 'Стэко', 'Слэйв', 89577366567, 'xrenxrenxrenxren@mail.ru', 'ул. Ращупкина, д. 21', 0),
|
||||
(4, 'pupkin', 'vasya123', 'Вася', 'Пупкин', 89113451232, 'vasya_pupkin@mail.ru', 'ул. Ясеневая, д. 77', 0),
|
||||
(5, 'erius1', 'wasd123', 'egor', 'karpov', 89052592169, 'wasd@mail.ru', 'ул. Пушкина, д. 1', 0),
|
||||
(6, 'black', 'bigpig', 'слэкос', 'на бабках', 822813371488, 'xrenxrenxrenxren@yandex.dot', 'не скажу', 0),
|
||||
(7, 'ernest', 'wasd', 'Ерог', 'Карпов', 89052592117, 'egor_kapralov1993@mail.ru', 'нет', 0),
|
||||
(9, 'elka', '123', 'Елена', 'Комарова', 1111111111, 'ekom@yandex.ru', 'не скажу', 0),
|
||||
(10, 'erius123', 'wasd', 'Егор', 'Капралов', 8888888888, 'egor_kapralov321312@mail.ru', 'не скажу', 0);
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы status
|
||||
--
|
||||
INSERT INTO status VALUES
|
||||
(2, 'Можно забрать'),
|
||||
(1, 'Ожидает прибытия'),
|
||||
(3, 'Отменен');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы part_shop
|
||||
--
|
||||
INSERT INTO part_shop VALUES
|
||||
(1, 15, 1, 0),
|
||||
(2, 15, 2, 0),
|
||||
(3, 16, 1, 8),
|
||||
(4, 16, 2, 0),
|
||||
(5, 17, 1, 0),
|
||||
(6, 17, 2, 0),
|
||||
(7, 18, 1, 0),
|
||||
(8, 18, 2, 0),
|
||||
(9, 19, 1, 0),
|
||||
(10, 19, 2, 0),
|
||||
(11, 20, 1, 0),
|
||||
(12, 20, 2, 0),
|
||||
(13, 21, 1, 0),
|
||||
(14, 21, 2, 0);
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы order_info
|
||||
--
|
||||
INSERT INTO order_info VALUES
|
||||
(3, 1, 1, '2021-04-07 00:00:00');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы ord
|
||||
--
|
||||
INSERT INTO ord VALUES
|
||||
(1, 3, 3, 2);
|
||||
|
||||
--
|
||||
-- Восстановить предыдущий режим SQL (SQL mode)
|
||||
--
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
|
||||
--
|
||||
-- Включение внешних ключей
|
||||
--
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS = @OLD_FOREIGN_KEY_CHECKS */;
|
768
nrpc_db/reserve/pc_parts_new 20210513 2327.sql
Normal file
768
nrpc_db/reserve/pc_parts_new 20210513 2327.sql
Normal file
|
@ -0,0 +1,768 @@
|
|||
--
|
||||
-- Скрипт сгенерирован Devart dbForge Studio 2019 for MySQL, Версия 8.1.22.0
|
||||
-- Домашняя страница продукта: http://www.devart.com/ru/dbforge/mysql/studio
|
||||
-- Дата скрипта: 13.05.2021 23:27:33
|
||||
-- Версия сервера: 5.7.25
|
||||
-- Версия клиента: 4.1
|
||||
--
|
||||
|
||||
--
|
||||
-- Отключение внешних ключей
|
||||
--
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
||||
--
|
||||
-- Установить режим SQL (SQL mode)
|
||||
--
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||
|
||||
--
|
||||
-- Установка кодировки, с использованием которой клиент будет посылать запросы на сервер
|
||||
--
|
||||
SET NAMES 'utf8';
|
||||
|
||||
--
|
||||
-- Удалить функцию `addNewUser`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS addNewUser;
|
||||
|
||||
--
|
||||
-- Удалить функцию `handleLogin`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS handleLogin;
|
||||
|
||||
--
|
||||
-- Удалить функцию `isUserAdmin`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS isUserAdmin;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `ord`
|
||||
--
|
||||
DROP TABLE IF EXISTS ord;
|
||||
|
||||
--
|
||||
-- Удалить процедуру `partStock`
|
||||
--
|
||||
DROP PROCEDURE IF EXISTS partStock;
|
||||
|
||||
--
|
||||
-- Удалить функцию `addNewOrd`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS addNewOrd;
|
||||
|
||||
--
|
||||
-- Удалить функцию `addNewPart`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS addNewPart;
|
||||
|
||||
--
|
||||
-- Удалить функцию `modifySupply`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS modifySupply;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `part_shop`
|
||||
--
|
||||
DROP TABLE IF EXISTS part_shop;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `shop`
|
||||
--
|
||||
DROP TABLE IF EXISTS shop;
|
||||
|
||||
--
|
||||
-- Удалить процедуру `partInfo`
|
||||
--
|
||||
DROP PROCEDURE IF EXISTS partInfo;
|
||||
|
||||
--
|
||||
-- Удалить функцию `modifyPart`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS modifyPart;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `part`
|
||||
--
|
||||
DROP TABLE IF EXISTS part;
|
||||
|
||||
--
|
||||
-- Удалить процедуру `selectParts`
|
||||
--
|
||||
DROP PROCEDURE IF EXISTS selectParts;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `category`
|
||||
--
|
||||
DROP TABLE IF EXISTS category;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `order_info`
|
||||
--
|
||||
DROP TABLE IF EXISTS order_info;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `status`
|
||||
--
|
||||
DROP TABLE IF EXISTS status;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `user`
|
||||
--
|
||||
DROP TABLE IF EXISTS user;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `supplier`
|
||||
--
|
||||
DROP TABLE IF EXISTS supplier;
|
||||
|
||||
--
|
||||
-- Создать таблицу `supplier`
|
||||
--
|
||||
CREATE TABLE supplier (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 3,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `supplier`
|
||||
--
|
||||
ALTER TABLE supplier
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `user`
|
||||
--
|
||||
CREATE TABLE user (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
login varchar(255) NOT NULL,
|
||||
password varchar(255) NOT NULL,
|
||||
name varchar(255) NOT NULL,
|
||||
surname varchar(255) NOT NULL,
|
||||
phone bigint(12) NOT NULL,
|
||||
email varchar(50) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
is_admin tinyint(1) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 11,
|
||||
AVG_ROW_LENGTH = 1820,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `email` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX email (email);
|
||||
|
||||
--
|
||||
-- Создать индекс `login` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX login (login);
|
||||
|
||||
--
|
||||
-- Создать индекс `phone` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX phone (phone);
|
||||
|
||||
--
|
||||
-- Создать таблицу `status`
|
||||
--
|
||||
CREATE TABLE status (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 4,
|
||||
AVG_ROW_LENGTH = 8192,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `status`
|
||||
--
|
||||
ALTER TABLE status
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `order_info`
|
||||
--
|
||||
CREATE TABLE order_info (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_user int(11) NOT NULL,
|
||||
id_status int(11) NOT NULL,
|
||||
date datetime NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 4,
|
||||
AVG_ROW_LENGTH = 16384,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE order_info
|
||||
ADD CONSTRAINT FK_ord_status_id FOREIGN KEY (id_status)
|
||||
REFERENCES status (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE order_info
|
||||
ADD CONSTRAINT FK_ord_user_id FOREIGN KEY (id_user)
|
||||
REFERENCES user (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать таблицу `category`
|
||||
--
|
||||
CREATE TABLE category (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 8,
|
||||
AVG_ROW_LENGTH = 2340,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `category`
|
||||
--
|
||||
ALTER TABLE category
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать процедуру `selectParts`
|
||||
--
|
||||
CREATE PROCEDURE selectParts (upc varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, price_bottom dec(19, 2), price_upper dec(19, 2), categorys varchar(255) CHARSET utf8, suppliers varchar(255) CHARSET utf8)
|
||||
BEGIN
|
||||
SELECT
|
||||
p.id,
|
||||
p.upc,
|
||||
p.name,
|
||||
p.price,
|
||||
c.id AS 'category',
|
||||
s.id AS 'supplier'
|
||||
FROM part p
|
||||
JOIN category c
|
||||
ON p.id_category = c.id
|
||||
JOIN supplier s
|
||||
ON p.id_supplier = s.id
|
||||
WHERE (upc = ''
|
||||
OR upc IS NULL
|
||||
OR p.upc LIKE CONCAT('%', upc, '%'))
|
||||
AND (name = ''
|
||||
OR name IS NULL
|
||||
OR p.name LIKE CONCAT('%', NAME, '%'))
|
||||
AND (p.price >= price_bottom
|
||||
AND p.price <= price_upper)
|
||||
AND (categorys = ''
|
||||
OR categorys IS NULL
|
||||
OR categorys LIKE CONCAT('%', CONVERT(p.id_category, char), '%'))
|
||||
AND (suppliers = ''
|
||||
OR suppliers IS NULL
|
||||
OR suppliers LIKE CONCAT('%', CONVERT(p.id_supplier, char), '%'));
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать таблицу `part`
|
||||
--
|
||||
CREATE TABLE part (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
upc varchar(255) NOT NULL,
|
||||
name varchar(255) NOT NULL,
|
||||
price decimal(19, 2) NOT NULL,
|
||||
id_category int(11) NOT NULL,
|
||||
id_supplier int(11) NOT NULL,
|
||||
description text DEFAULT NULL,
|
||||
image varchar(255) DEFAULT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 22,
|
||||
AVG_ROW_LENGTH = 2340,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `upc` для объекта типа таблица `part`
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD UNIQUE INDEX upc (upc);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD CONSTRAINT FK_part_category_id FOREIGN KEY (id_category)
|
||||
REFERENCES category (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD CONSTRAINT FK_part_supplier_id FOREIGN KEY (id_supplier)
|
||||
REFERENCES supplier (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `modifyPart`
|
||||
--
|
||||
CREATE FUNCTION modifyPart (id int, upc varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, price dec(19, 2), category_id varchar(255) CHARSET utf8, supplier_id varchar(255) CHARSET utf8)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
UPDATE part p
|
||||
SET p.upc = upc,
|
||||
p.name = name,
|
||||
p.price = price,
|
||||
p.id_category = category_id,
|
||||
p.id_supplier = supplier_id
|
||||
WHERE p.id = id;
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать процедуру `partInfo`
|
||||
--
|
||||
CREATE PROCEDURE partInfo (id int)
|
||||
BEGIN
|
||||
SELECT
|
||||
p.upc,
|
||||
p.name,
|
||||
p.price,
|
||||
c.name AS 'category',
|
||||
s.name AS 'supplier',
|
||||
p.description,
|
||||
p.image
|
||||
FROM part p
|
||||
JOIN category c
|
||||
ON p.id_category = c.id
|
||||
JOIN supplier s
|
||||
ON p.id_supplier = s.id
|
||||
WHERE p.id = id;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать таблицу `shop`
|
||||
--
|
||||
CREATE TABLE shop (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 3,
|
||||
AVG_ROW_LENGTH = 8192,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_shop` для объекта типа таблица `shop`
|
||||
--
|
||||
ALTER TABLE shop
|
||||
ADD UNIQUE INDEX UK_shop (name, address);
|
||||
|
||||
--
|
||||
-- Создать таблицу `part_shop`
|
||||
--
|
||||
CREATE TABLE part_shop (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_part int(11) NOT NULL,
|
||||
id_shop int(11) NOT NULL,
|
||||
count int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 15,
|
||||
AVG_ROW_LENGTH = 2048,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_stock` для объекта типа таблица `part_shop`
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD UNIQUE INDEX UK_stock (id_part, id_shop);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD CONSTRAINT FK_part_shop_shop_id FOREIGN KEY (id_shop)
|
||||
REFERENCES shop (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD CONSTRAINT FK_stock_part_id FOREIGN KEY (id_part)
|
||||
REFERENCES part (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `modifySupply`
|
||||
--
|
||||
CREATE FUNCTION modifySupply (part_id int, shop_id int, supply int)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
UPDATE part_shop ps
|
||||
SET ps.count = ps.count + supply
|
||||
WHERE ps.id_part = part_id
|
||||
AND ps.id_shop = shop_id;
|
||||
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewPart`
|
||||
--
|
||||
CREATE FUNCTION addNewPart (upc varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, price dec(19, 2), category_id int, supplier_id int)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE part_id int;
|
||||
DECLARE shop_id int;
|
||||
DECLARE n int;
|
||||
DECLARE i int;
|
||||
|
||||
INSERT IGNORE INTO part
|
||||
VALUES (NULL, upc, name, price, category_id, supplier_id);
|
||||
|
||||
SELECT
|
||||
LAST_INSERT_ID() INTO part_id;
|
||||
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM shop s INTO n;
|
||||
|
||||
SET i = 1;
|
||||
WHILE i <= n DO
|
||||
INSERT IGNORE INTO part_shop
|
||||
VALUES (NULL, part_id, i, 0);
|
||||
SET i = i + 1;
|
||||
END WHILE;
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewOrd`
|
||||
--
|
||||
CREATE FUNCTION addNewOrd (user_id int, part_id int, shop_id int, ord_count int)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE order_info_id int;
|
||||
DECLARE part_shop_id int;
|
||||
DECLARE part_count int;
|
||||
|
||||
SELECT
|
||||
ps.id,
|
||||
ps.count INTO part_shop_id, part_count
|
||||
FROM part_shop ps
|
||||
WHERE ps.id_part = part_id
|
||||
AND ps.id_shop = shop_id;
|
||||
|
||||
IF (part_count < ord_count) THEN
|
||||
RETURN 0;
|
||||
END IF;
|
||||
|
||||
INSERT IGNORE INTO order_info
|
||||
VALUES (NULL, user_id, 1, CURDATE());
|
||||
|
||||
SELECT
|
||||
LAST_INSERT_ID() INTO order_info_id;
|
||||
|
||||
UPDATE part_shop ps
|
||||
SET ps.count = ps.count - ord_count
|
||||
WHERE ps.id = part_shop_id;
|
||||
|
||||
INSERT IGNORE INTO ord
|
||||
VALUE (NULL, order_info_id, part_shop_id, ord_count);
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать процедуру `partStock`
|
||||
--
|
||||
CREATE PROCEDURE partStock (id int)
|
||||
BEGIN
|
||||
SELECT
|
||||
s.name,
|
||||
ps.count
|
||||
FROM part p
|
||||
JOIN part_shop ps
|
||||
ON p.id = ps.id_part
|
||||
JOIN shop s
|
||||
ON ps.id_shop = s.id
|
||||
WHERE ps.id_part = id;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать таблицу `ord`
|
||||
--
|
||||
CREATE TABLE ord (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_order_info int(11) NOT NULL,
|
||||
id_part_shop int(11) NOT NULL,
|
||||
count int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 2,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `FK_ord_parts_ord_id` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD INDEX FK_ord_parts_ord_id (id_order_info);
|
||||
|
||||
--
|
||||
-- Создать индекс `FK_ord_parts_part_id` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD INDEX FK_ord_parts_part_id (id_part_shop);
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_ord` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD UNIQUE INDEX UK_ord (id_order_info, id_part_shop);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD CONSTRAINT FK_ord_order_info_id FOREIGN KEY (id_order_info)
|
||||
REFERENCES order_info (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD CONSTRAINT FK_ord_part_shop_id FOREIGN KEY (id_part_shop)
|
||||
REFERENCES part_shop (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `isUserAdmin`
|
||||
--
|
||||
CREATE FUNCTION isUserAdmin (login varchar(255) CHARSET utf8)
|
||||
RETURNS tinyint(1)
|
||||
BEGIN
|
||||
DECLARE is_user_admin bool;
|
||||
SELECT
|
||||
is_admin INTO is_user_admin
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
RETURN is_user_admin;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `handleLogin`
|
||||
--
|
||||
CREATE FUNCTION handleLogin (login varchar(255) CHARSET utf8, password varchar(255) CHARSET utf8)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE existing_users int;
|
||||
SELECT
|
||||
COUNT(*) INTO existing_users
|
||||
FROM user u
|
||||
WHERE u.login = login
|
||||
AND u.PASSWORD = password;
|
||||
|
||||
IF (existing_users > 0) THEN
|
||||
RETURN 1;
|
||||
ELSE
|
||||
RETURN 0;
|
||||
END IF;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewUser`
|
||||
--
|
||||
CREATE FUNCTION addNewUser (login varchar(255) CHARSET utf8, password varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, surname varchar(255) CHARSET utf8, phone varchar(255) CHARSET utf8, email varchar(255) CHARSET utf8, address varchar(255) CHARSET utf8)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE loginCount int;
|
||||
DECLARE phoneCount int;
|
||||
DECLARE emailCount int;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO loginCount
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
|
||||
IF (loginCount > 0) THEN
|
||||
RETURN 0;
|
||||
END IF;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO phoneCount
|
||||
FROM user u
|
||||
WHERE u.phone = phone;
|
||||
|
||||
IF (phoneCount > 0) THEN
|
||||
RETURN 1;
|
||||
END IF;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO emailCount
|
||||
FROM user u
|
||||
WHERE u.email = email;
|
||||
|
||||
IF (emailCount > 0) THEN
|
||||
RETURN 2;
|
||||
END IF;
|
||||
|
||||
INSERT IGNORE INTO user
|
||||
VALUES (NULL, login, password, name, surname, phone, email, address, 0);
|
||||
|
||||
RETURN 3;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы supplier
|
||||
--
|
||||
INSERT INTO supplier VALUES
|
||||
(1, 'Compart', 'ул. Гидротехников, д. 155', '+7 (911) 324-03-22', 'office@comp.ru'),
|
||||
(2, 'WalrusTorg', 'ул. Пролетарская, д. 154', '+7 (905) 259-21-89', 'office@waltorg.ru');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы category
|
||||
--
|
||||
INSERT INTO category VALUES
|
||||
(5, 'Блок питания'),
|
||||
(2, 'Видеокарта'),
|
||||
(7, 'Жесткий диск'),
|
||||
(6, 'Корпус'),
|
||||
(4, 'Материнская плата'),
|
||||
(3, 'Оперативная память'),
|
||||
(1, 'Процессор');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы shop
|
||||
--
|
||||
INSERT INTO shop VALUES
|
||||
(1, 'Магазин в ТК Алоха', 'ул. Тютчевская, д. 2', '+7 (932) 139-73-10', 'tutchevskaya15@novparts.ru'),
|
||||
(2, 'Магазин у ст. м. Чёрная речка', 'ул. Савушкина, д. 56', '+7 (924) 098-32-12', 'savushkina56@novparts.ru');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы part
|
||||
--
|
||||
INSERT INTO part VALUES
|
||||
(15, '75764839123', 'AMD Ryzen 5 3600 OEM', 15990.99, 1, 2, NULL, NULL),
|
||||
(16, '321981321321', 'Gigabyte GeForce GTX 1050Ti', 15990.99, 2, 2, NULL, NULL),
|
||||
(17, '123453289123', 'Palit Gaming Pro GeForce RTX 3070', 119000.99, 2, 1, NULL, NULL),
|
||||
(18, '987654321321', 'MSI X470 AM4 Gaming Plus Max', 7990.99, 4, 2, NULL, NULL),
|
||||
(19, '541269041211', 'norm', 1999.99, 7, 1, NULL, NULL),
|
||||
(20, '123456543214', 'eee', 199.12, 4, 2, NULL, NULL),
|
||||
(21, '999999999999', 'test', 1234.99, 4, 1, NULL, NULL);
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы user
|
||||
--
|
||||
INSERT INTO user VALUES
|
||||
(1, 'erius', 'Roge2003', 'Егор', 'Капралов', 89052592189, 'egor_kapralov2003@mail.ru', 'ул. Рогожский Поселок, д. 113', 1),
|
||||
(2, 'WalrusYT', 'LubluMamy2003', 'Илья', 'Тат', 89630899425, 'taytsev@mail.ru', 'ул. Дружбы, д. 7', 0),
|
||||
(3, 'arcwarden', 'pudgemom', 'Стэко', 'Слэйв', 89577366567, 'xrenxrenxrenxren@mail.ru', 'ул. Ращупкина, д. 21', 0),
|
||||
(4, 'pupkin', 'vasya123', 'Вася', 'Пупкин', 89113451232, 'vasya_pupkin@mail.ru', 'ул. Ясеневая, д. 77', 0),
|
||||
(5, 'erius1', 'wasd123', 'egor', 'karpov', 89052592169, 'wasd@mail.ru', 'ул. Пушкина, д. 1', 0),
|
||||
(6, 'black', 'bigpig', 'слэкос', 'на бабках', 822813371488, 'xrenxrenxrenxren@yandex.dot', 'не скажу', 0),
|
||||
(7, 'ernest', 'wasd', 'Ерог', 'Карпов', 89052592117, 'egor_kapralov1993@mail.ru', 'нет', 0),
|
||||
(9, 'elka', '123', 'Елена', 'Комарова', 1111111111, 'ekom@yandex.ru', 'не скажу', 0),
|
||||
(10, 'erius123', 'wasd', 'Егор', 'Капралов', 8888888888, 'egor_kapralov321312@mail.ru', 'не скажу', 0);
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы status
|
||||
--
|
||||
INSERT INTO status VALUES
|
||||
(2, 'Можно забрать'),
|
||||
(1, 'Ожидает прибытия'),
|
||||
(3, 'Отменен');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы part_shop
|
||||
--
|
||||
INSERT INTO part_shop VALUES
|
||||
(1, 15, 1, 0),
|
||||
(2, 15, 2, 0),
|
||||
(3, 16, 1, 8),
|
||||
(4, 16, 2, 0),
|
||||
(5, 17, 1, 0),
|
||||
(6, 17, 2, 0),
|
||||
(7, 18, 1, 0),
|
||||
(8, 18, 2, 0),
|
||||
(9, 19, 1, 0),
|
||||
(10, 19, 2, 0),
|
||||
(11, 20, 1, 0),
|
||||
(12, 20, 2, 0),
|
||||
(13, 21, 1, 0),
|
||||
(14, 21, 2, 0);
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы order_info
|
||||
--
|
||||
INSERT INTO order_info VALUES
|
||||
(3, 1, 1, '2021-04-07 00:00:00');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы ord
|
||||
--
|
||||
INSERT INTO ord VALUES
|
||||
(1, 3, 3, 2);
|
||||
|
||||
--
|
||||
-- Восстановить предыдущий режим SQL (SQL mode)
|
||||
--
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
|
||||
--
|
||||
-- Включение внешних ключей
|
||||
--
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS = @OLD_FOREIGN_KEY_CHECKS */;
|
956
nrpc_db/reserve/pc_parts_new 20210519 1805.sql
Normal file
956
nrpc_db/reserve/pc_parts_new 20210519 1805.sql
Normal file
|
@ -0,0 +1,956 @@
|
|||
--
|
||||
-- Скрипт сгенерирован Devart dbForge Studio 2019 for MySQL, Версия 8.1.22.0
|
||||
-- Домашняя страница продукта: http://www.devart.com/ru/dbforge/mysql/studio
|
||||
-- Дата скрипта: 19.05.2021 18:05:25
|
||||
-- Версия сервера: 5.7.25
|
||||
-- Версия клиента: 4.1
|
||||
--
|
||||
|
||||
--
|
||||
-- Отключение внешних ключей
|
||||
--
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
||||
--
|
||||
-- Установить режим SQL (SQL mode)
|
||||
--
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||
|
||||
--
|
||||
-- Установка кодировки, с использованием которой клиент будет посылать запросы на сервер
|
||||
--
|
||||
SET NAMES 'utf8';
|
||||
|
||||
--
|
||||
-- Удалить функцию `addNewUser`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS addNewUser;
|
||||
|
||||
--
|
||||
-- Удалить функцию `getUserShop`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS getUserShop;
|
||||
|
||||
--
|
||||
-- Удалить функцию `handleLogin`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS handleLogin;
|
||||
|
||||
--
|
||||
-- Удалить функцию `isUserAdmin`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS isUserAdmin;
|
||||
|
||||
--
|
||||
-- Удалить функцию `saveCart`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS saveCart;
|
||||
|
||||
--
|
||||
-- Удалить процедуру `userInfo`
|
||||
--
|
||||
DROP PROCEDURE IF EXISTS userInfo;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `ord`
|
||||
--
|
||||
DROP TABLE IF EXISTS ord;
|
||||
|
||||
--
|
||||
-- Удалить процедуру `partStock`
|
||||
--
|
||||
DROP PROCEDURE IF EXISTS partStock;
|
||||
|
||||
--
|
||||
-- Удалить функцию `addNewOrd`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS addNewOrd;
|
||||
|
||||
--
|
||||
-- Удалить функцию `addNewPart`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS addNewPart;
|
||||
|
||||
--
|
||||
-- Удалить функцию `modifySupply`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS modifySupply;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `part_shop`
|
||||
--
|
||||
DROP TABLE IF EXISTS part_shop;
|
||||
|
||||
--
|
||||
-- Удалить представление `getshops`
|
||||
--
|
||||
DROP VIEW IF EXISTS getshops CASCADE;
|
||||
|
||||
--
|
||||
-- Удалить процедуру `partInfo`
|
||||
--
|
||||
DROP PROCEDURE IF EXISTS partInfo;
|
||||
|
||||
--
|
||||
-- Удалить процедуру `selectPartsShopping`
|
||||
--
|
||||
DROP PROCEDURE IF EXISTS selectPartsShopping;
|
||||
|
||||
--
|
||||
-- Удалить функцию `modifyUser`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS modifyUser;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `shop`
|
||||
--
|
||||
DROP TABLE IF EXISTS shop;
|
||||
|
||||
--
|
||||
-- Удалить функцию `modifyPart`
|
||||
--
|
||||
DROP FUNCTION IF EXISTS modifyPart;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `part`
|
||||
--
|
||||
DROP TABLE IF EXISTS part;
|
||||
|
||||
--
|
||||
-- Удалить процедуру `selectParts`
|
||||
--
|
||||
DROP PROCEDURE IF EXISTS selectParts;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `category`
|
||||
--
|
||||
DROP TABLE IF EXISTS category;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `supplier`
|
||||
--
|
||||
DROP TABLE IF EXISTS supplier;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `order_info`
|
||||
--
|
||||
DROP TABLE IF EXISTS order_info;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `status`
|
||||
--
|
||||
DROP TABLE IF EXISTS status;
|
||||
|
||||
--
|
||||
-- Удалить таблицу `user`
|
||||
--
|
||||
DROP TABLE IF EXISTS user;
|
||||
|
||||
--
|
||||
-- Создать таблицу `user`
|
||||
--
|
||||
CREATE TABLE user (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
login varchar(255) NOT NULL,
|
||||
password varchar(255) NOT NULL,
|
||||
name varchar(255) NOT NULL,
|
||||
surname varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(50) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
is_admin tinyint(1) NOT NULL,
|
||||
cart varchar(255) NOT NULL DEFAULT '_',
|
||||
pref_shop_id int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 13,
|
||||
AVG_ROW_LENGTH = 1820,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `email` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX email (email);
|
||||
|
||||
--
|
||||
-- Создать индекс `login` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX login (login);
|
||||
|
||||
--
|
||||
-- Создать индекс `phone` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX phone (phone);
|
||||
|
||||
--
|
||||
-- Создать таблицу `status`
|
||||
--
|
||||
CREATE TABLE status (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 4,
|
||||
AVG_ROW_LENGTH = 8192,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `status`
|
||||
--
|
||||
ALTER TABLE status
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `order_info`
|
||||
--
|
||||
CREATE TABLE order_info (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_user int(11) NOT NULL,
|
||||
id_status int(11) NOT NULL,
|
||||
date datetime NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AVG_ROW_LENGTH = 16384,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE order_info
|
||||
ADD CONSTRAINT FK_ord_status_id FOREIGN KEY (id_status)
|
||||
REFERENCES status (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE order_info
|
||||
ADD CONSTRAINT FK_ord_user_id FOREIGN KEY (id_user)
|
||||
REFERENCES user (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать таблицу `supplier`
|
||||
--
|
||||
CREATE TABLE supplier (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 6,
|
||||
AVG_ROW_LENGTH = 4096,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `supplier`
|
||||
--
|
||||
ALTER TABLE supplier
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `category`
|
||||
--
|
||||
CREATE TABLE category (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 21,
|
||||
AVG_ROW_LENGTH = 2340,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `category`
|
||||
--
|
||||
ALTER TABLE category
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать процедуру `selectParts`
|
||||
--
|
||||
CREATE PROCEDURE selectParts (upc varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, price_bottom dec(19, 2), price_upper dec(19, 2), category int, supplier int)
|
||||
BEGIN
|
||||
SELECT
|
||||
p.id,
|
||||
p.upc,
|
||||
p.name,
|
||||
p.price,
|
||||
c.name AS 'category',
|
||||
s.name AS 'supplier'
|
||||
FROM part p
|
||||
JOIN category c
|
||||
ON p.id_category = c.id
|
||||
JOIN supplier s
|
||||
ON p.id_supplier = s.id
|
||||
WHERE (upc = ''
|
||||
OR upc IS NULL
|
||||
OR p.upc LIKE CONCAT('%', upc, '%'))
|
||||
AND (name = ''
|
||||
OR name IS NULL
|
||||
OR p.name LIKE CONCAT('%', NAME, '%'))
|
||||
AND (p.price >= price_bottom
|
||||
AND p.price <= price_upper)
|
||||
AND (p.id_category = category
|
||||
OR category = 0)
|
||||
AND (p.id_supplier = supplier
|
||||
OR supplier = 0);
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать таблицу `part`
|
||||
--
|
||||
CREATE TABLE part (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
upc varchar(255) NOT NULL,
|
||||
name varchar(255) NOT NULL,
|
||||
price decimal(19, 2) NOT NULL,
|
||||
id_category int(11) NOT NULL,
|
||||
id_supplier int(11) NOT NULL,
|
||||
description text DEFAULT NULL,
|
||||
image varchar(255) DEFAULT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 48,
|
||||
AVG_ROW_LENGTH = 2340,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `upc` для объекта типа таблица `part`
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD UNIQUE INDEX upc (upc);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD CONSTRAINT FK_part_category_id FOREIGN KEY (id_category)
|
||||
REFERENCES category (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD CONSTRAINT FK_part_supplier_id FOREIGN KEY (id_supplier)
|
||||
REFERENCES supplier (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `modifyPart`
|
||||
--
|
||||
CREATE FUNCTION modifyPart (id int, upc varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, price dec(19, 2), category_id int, supplier_id int, description text CHARSET utf8, image varchar(255) CHARSET utf8)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
UPDATE part p
|
||||
SET p.upc = upc,
|
||||
p.name = name,
|
||||
p.price = price,
|
||||
p.id_category = category_id,
|
||||
p.id_supplier = supplier_id,
|
||||
p.description = description,
|
||||
p.image = image
|
||||
WHERE p.id = id;
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать таблицу `shop`
|
||||
--
|
||||
CREATE TABLE shop (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 3,
|
||||
AVG_ROW_LENGTH = 8192,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_shop` для объекта типа таблица `shop`
|
||||
--
|
||||
ALTER TABLE shop
|
||||
ADD UNIQUE INDEX UK_shop (name, address);
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `modifyUser`
|
||||
--
|
||||
CREATE FUNCTION modifyUser (login varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, surname varchar(255) CHARSET utf8, phone varchar(255) CHARSET utf8, email varchar(255) CHARSET utf8, address varchar(255) CHARSET utf8, shop int)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
UPDATE user u
|
||||
SET u.name = name,
|
||||
u.surname = surname,
|
||||
u.phone = phone,
|
||||
u.email = email,
|
||||
u.address = address,
|
||||
u.pref_shop_id = shop
|
||||
WHERE u.login = login;
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать процедуру `selectPartsShopping`
|
||||
--
|
||||
CREATE PROCEDURE selectPartsShopping (name varchar(255) CHARSET utf8, price_bottom dec(19, 2), price_upper dec(19, 2), category int, sort int, show_absent bool, shop_id int)
|
||||
BEGIN
|
||||
SELECT
|
||||
p.id,
|
||||
p.name,
|
||||
p.price,
|
||||
p.image,
|
||||
ps.count AS 'in_stock',
|
||||
s.id AS 'shop',
|
||||
COUNT(*) AS 'count'
|
||||
FROM part p
|
||||
JOIN category c
|
||||
ON p.id_category = c.id
|
||||
JOIN part_shop ps
|
||||
ON p.id = ps.id_part
|
||||
JOIN shop s
|
||||
ON ps.id_shop = s.id
|
||||
WHERE (name = ''
|
||||
OR name IS NULL
|
||||
OR p.name LIKE CONCAT('%', name, '%'))
|
||||
AND (p.price >= price_bottom
|
||||
AND p.price <= price_upper)
|
||||
AND (p.id_category = category
|
||||
OR category = 0)
|
||||
AND (s.id = shop_id
|
||||
OR shop_id = 0)
|
||||
GROUP BY p.id
|
||||
HAVING ((NOT show_absent
|
||||
AND in_stock > 0
|
||||
AND (shop = shop_id
|
||||
OR shop_id = 0))
|
||||
OR show_absent)
|
||||
ORDER BY CASE sort WHEN 0 THEN p.price END ASC,
|
||||
CASE sort WHEN 1 THEN p.price END DESC;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать процедуру `partInfo`
|
||||
--
|
||||
CREATE PROCEDURE partInfo (id int, shop int)
|
||||
BEGIN
|
||||
SELECT
|
||||
p.upc,
|
||||
p.name,
|
||||
p.price,
|
||||
c.id AS 'category',
|
||||
c.name AS 'category_name',
|
||||
s.id AS 'supplier',
|
||||
s.name AS 'supplier_name',
|
||||
p.description,
|
||||
p.image,
|
||||
ps.count AS 'in_stock'
|
||||
FROM part p
|
||||
JOIN category c
|
||||
ON p.id_category = c.id
|
||||
JOIN supplier s
|
||||
ON p.id_supplier = s.id
|
||||
JOIN part_shop ps
|
||||
ON p.id = ps.id_part
|
||||
JOIN shop s1
|
||||
ON ps.id_shop = s1.id
|
||||
WHERE p.id = id
|
||||
AND s1.id = shop;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать представление `getshops`
|
||||
--
|
||||
CREATE
|
||||
VIEW getshops
|
||||
AS
|
||||
SELECT
|
||||
`s`.`id` AS `id`,
|
||||
`s`.`name` AS `name`
|
||||
FROM `shop` `s`
|
||||
ORDER BY `s`.`id`;
|
||||
|
||||
--
|
||||
-- Создать таблицу `part_shop`
|
||||
--
|
||||
CREATE TABLE part_shop (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_part int(11) NOT NULL,
|
||||
id_shop int(11) NOT NULL,
|
||||
count int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 67,
|
||||
AVG_ROW_LENGTH = 2048,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_stock` для объекта типа таблица `part_shop`
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD UNIQUE INDEX UK_stock (id_part, id_shop);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD CONSTRAINT FK_part_shop_shop_id FOREIGN KEY (id_shop)
|
||||
REFERENCES shop (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD CONSTRAINT FK_stock_part_id FOREIGN KEY (id_part)
|
||||
REFERENCES part (id) ON DELETE CASCADE ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `modifySupply`
|
||||
--
|
||||
CREATE FUNCTION modifySupply (part_id int, shop_id int, supply int)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
UPDATE part_shop ps
|
||||
SET ps.count = supply
|
||||
WHERE ps.id_part = part_id
|
||||
AND ps.id_shop = shop_id;
|
||||
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewPart`
|
||||
--
|
||||
CREATE FUNCTION addNewPart (upc varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, price dec(19, 2), category_id int, supplier_id int, description text CHARSET utf8, image varchar(255) CHARSET utf8)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE part_id int;
|
||||
DECLARE shop_id int;
|
||||
DECLARE n int;
|
||||
DECLARE i int;
|
||||
|
||||
INSERT IGNORE INTO part
|
||||
VALUES (NULL, upc, name, price, category_id, supplier_id, description, image);
|
||||
|
||||
SELECT
|
||||
LAST_INSERT_ID() INTO part_id;
|
||||
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM shop s INTO n;
|
||||
|
||||
SET i = 1;
|
||||
WHILE i <= n DO
|
||||
INSERT IGNORE INTO part_shop
|
||||
VALUES (NULL, part_id, i, 0);
|
||||
SET i = i + 1;
|
||||
END WHILE;
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewOrd`
|
||||
--
|
||||
CREATE FUNCTION addNewOrd (user_id int, part_id int, shop_id int, ord_count int)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE order_info_id int;
|
||||
DECLARE part_shop_id int;
|
||||
DECLARE part_count int;
|
||||
|
||||
SELECT
|
||||
ps.id,
|
||||
ps.count INTO part_shop_id, part_count
|
||||
FROM part_shop ps
|
||||
WHERE ps.id_part = part_id
|
||||
AND ps.id_shop = shop_id;
|
||||
|
||||
IF (part_count < ord_count) THEN
|
||||
RETURN 0;
|
||||
END IF;
|
||||
|
||||
INSERT IGNORE INTO order_info
|
||||
VALUES (NULL, user_id, 1, CURDATE());
|
||||
|
||||
SELECT
|
||||
LAST_INSERT_ID() INTO order_info_id;
|
||||
|
||||
UPDATE part_shop ps
|
||||
SET ps.count = ps.count - ord_count
|
||||
WHERE ps.id = part_shop_id;
|
||||
|
||||
INSERT IGNORE INTO ord
|
||||
VALUE (NULL, order_info_id, part_shop_id, ord_count);
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать процедуру `partStock`
|
||||
--
|
||||
CREATE PROCEDURE partStock (id int)
|
||||
BEGIN
|
||||
SELECT
|
||||
s.id,
|
||||
s.name,
|
||||
ps.count
|
||||
FROM part p
|
||||
JOIN part_shop ps
|
||||
ON p.id = ps.id_part
|
||||
JOIN shop s
|
||||
ON ps.id_shop = s.id
|
||||
WHERE ps.id_part = id;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать таблицу `ord`
|
||||
--
|
||||
CREATE TABLE ord (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_order_info int(11) NOT NULL,
|
||||
id_part_shop int(11) NOT NULL,
|
||||
count int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `FK_ord_parts_ord_id` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD INDEX FK_ord_parts_ord_id (id_order_info);
|
||||
|
||||
--
|
||||
-- Создать индекс `FK_ord_parts_part_id` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD INDEX FK_ord_parts_part_id (id_part_shop);
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_ord` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD UNIQUE INDEX UK_ord (id_order_info, id_part_shop);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD CONSTRAINT FK_ord_order_info_id FOREIGN KEY (id_order_info)
|
||||
REFERENCES order_info (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD CONSTRAINT FK_ord_part_shop_id FOREIGN KEY (id_part_shop)
|
||||
REFERENCES part_shop (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать процедуру `userInfo`
|
||||
--
|
||||
CREATE PROCEDURE userInfo (login varchar(255) CHARSET utf8)
|
||||
BEGIN
|
||||
SELECT
|
||||
u.name,
|
||||
u.surname,
|
||||
u.phone,
|
||||
u.email,
|
||||
u.address,
|
||||
u.pref_shop_id
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `saveCart`
|
||||
--
|
||||
CREATE FUNCTION saveCart (login varchar(255) CHARSET utf8, cart varchar(255) CHARSET utf8)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
UPDATE user u
|
||||
SET u.cart = cart
|
||||
WHERE u.login = login;
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `isUserAdmin`
|
||||
--
|
||||
CREATE FUNCTION isUserAdmin (login varchar(255) CHARSET utf8)
|
||||
RETURNS tinyint(1)
|
||||
BEGIN
|
||||
DECLARE is_user_admin bool;
|
||||
SELECT
|
||||
is_admin INTO is_user_admin
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
RETURN is_user_admin;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `handleLogin`
|
||||
--
|
||||
CREATE FUNCTION handleLogin (login varchar(255) CHARSET utf8, password varchar(255) CHARSET utf8)
|
||||
RETURNS varchar(255) CHARSET utf8
|
||||
BEGIN
|
||||
DECLARE existing_users int;
|
||||
DECLARE cart varchar(255) CHARSET utf8;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO existing_users
|
||||
FROM user u
|
||||
WHERE u.login = login
|
||||
AND u.PASSWORD = password;
|
||||
|
||||
IF (existing_users > 0) THEN
|
||||
SELECT
|
||||
u.cart INTO cart
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
|
||||
RETURN CONVERT(cart USING utf8);
|
||||
ELSE
|
||||
RETURN '0';
|
||||
END IF;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `getUserShop`
|
||||
--
|
||||
CREATE FUNCTION getUserShop (login varchar(255) CHARSET utf8)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE id_shop int;
|
||||
SELECT
|
||||
u.pref_shop_id INTO id_shop
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
|
||||
RETURN id_shop;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewUser`
|
||||
--
|
||||
CREATE FUNCTION addNewUser (login varchar(255) CHARSET utf8, password varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, surname varchar(255) CHARSET utf8, phone varchar(255) CHARSET utf8, email varchar(255) CHARSET utf8, address varchar(255) CHARSET utf8)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE loginCount int;
|
||||
DECLARE phoneCount int;
|
||||
DECLARE emailCount int;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO loginCount
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
|
||||
IF (loginCount > 0) THEN
|
||||
RETURN 0;
|
||||
END IF;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO phoneCount
|
||||
FROM user u
|
||||
WHERE u.phone = phone;
|
||||
|
||||
IF (phoneCount > 0) THEN
|
||||
RETURN 1;
|
||||
END IF;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO emailCount
|
||||
FROM user u
|
||||
WHERE u.email = email;
|
||||
|
||||
IF (emailCount > 0) THEN
|
||||
RETURN 2;
|
||||
END IF;
|
||||
|
||||
INSERT IGNORE INTO user
|
||||
VALUES (NULL, login, password, name, surname, phone, email, address, 0, '_', 0);
|
||||
|
||||
RETURN 3;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы supplier
|
||||
--
|
||||
INSERT INTO supplier VALUES
|
||||
(1, 'Compart', 'ул. Гидротехников, д. 155', '+7 (911) 324-03-22', 'office@comp.ru'),
|
||||
(2, 'WalrusTorg', 'ул. Пролетарская, д. 154', '+7 (905) 259-21-89', 'office@waltorg.ru'),
|
||||
(3, 'OpenPC', 'ул. Комиссара Смирнова, д. 55', '+7 (974) 648-75-50', 'office@openpc.com'),
|
||||
(4, 'InterDel', 'ул. Галстяна, д. 197', '+7 (976) 285-17-14', 'office@interdel.com'),
|
||||
(5, 'PartsEx', 'ул. 5 Декабря, д. 159', '+7 (941) 598-51-05', 'office@partsex.ru');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы category
|
||||
--
|
||||
INSERT INTO category VALUES
|
||||
(7, 'HDD'),
|
||||
(9, 'PCI-E модуль'),
|
||||
(16, 'RGB подсветка'),
|
||||
(19, 'SSD'),
|
||||
(5, 'Блок питания'),
|
||||
(2, 'Видеокарта'),
|
||||
(20, 'Другое'),
|
||||
(15, 'Кабели'),
|
||||
(12, 'Клавиатура'),
|
||||
(6, 'Корпус'),
|
||||
(4, 'Материнская плата'),
|
||||
(8, 'Монитор'),
|
||||
(13, 'Мышь'),
|
||||
(14, 'Наушники'),
|
||||
(17, 'Ноутбук'),
|
||||
(3, 'Оперативная память'),
|
||||
(11, 'Охлаждение'),
|
||||
(18, 'ПК'),
|
||||
(1, 'Процессор'),
|
||||
(10, 'Сетевое оборудование');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы shop
|
||||
--
|
||||
INSERT INTO shop VALUES
|
||||
(1, 'Магазин в ТК Алоха', 'ул. Тютчевская, д. 2', '+7 (932) 139-73-10', 'tutchevskaya15@novparts.ru'),
|
||||
(2, 'Магазин у ст. м. Чёрная речка', 'ул. Савушкина, д. 56', '+7 (924) 098-32-12', 'savushkina56@novparts.ru');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы part
|
||||
--
|
||||
INSERT INTO part VALUES
|
||||
(39, '691970352436', 'Процессор AMD Ryzen 5 3600 OEM [AM4, 6 x 3600 МГц, L2 - 3 Мб, L3 - 32 МБ, 2хDDR4-3200 МГц, TDP 65 Вт]', 14599.00, 1, 1, '6-ядерный процессор AMD Ryzen 5 3600 OEM порадует высоким уровнем производительности подавляющее большинство пользователей. Устройство будет уверенно себя чувствовать в составе мощной игровой системы. Базовая частота процессора равна 3600 МГц. Турбочастота – 4200 МГц. Важной особенностью процессора является очень большой объем кэша третьего уровня: величина этого показателя равна 32 МБ. Объем кэша L2 – 3 МБ.\r\nПроцессор AMD Ryzen 5 3600 OEM не имеет встроенного графического ядра. Модель совместима с памятью DDR4, объем которой может достигать 128 ГБ. Минимально допустимая частота оперативной памяти – 1600 МГц. Максимально допустимая частота вдвое выше – 3200 МГц.\r\nПроцессор не укомплектован системой охлаждения. Выбор кулера предоставлен производителем пользователю. Несмотря на высокий уровень эксплуатационных параметров, процессор отличается незначительным (лишь 65 Вт) показателем TDP. Для установки устройства используется сокет AM4.', '691970352436.jpg'),
|
||||
(40, '029079274707', 'Видеокарта Gigabyte GeForce GTX 1050 Ti [GV-N105TOC-4GD] [PCI-E 3.0, 4 ГБ GDDR5, 128 бит, 1316 МГц - 1455 МГц, HDMI, DisplayPort, DVI-D]', 21599.00, 2, 1, 'Видеокарта Gigabyte GeForce GTX 1050 Ti создана для игрового компьютера. Разработана как модель с серьезными возможностями. Качество сборки и деталей не вызывает сомнения – производитель не стал экономить на охлаждении, внутри установлен радиатор с термотрубками, отводящий тепло от подсистемы питания, графического чипа и памяти, снаружи – два 90-миллиметровых вентилятора.\r\nПри подключении к монитору с разрешением не выше Full HD Gigabyte GeForce GTX 1050 Ti обеспечит безупречную картинку. Возможно, что для самых требовательных игр придется немного снизить настройки, но большинство будет работать отлично и на максимальных.', '029079274707.jpg'),
|
||||
(41, '493435063406', 'Материнская плата MSI X470 GAMING PLUS MAX [AM4, AMD X470, 4xDDR4-4133 МГц, 3xPCI-Ex16, аудио 7.1, Standard-ATX]', 8599.00, 4, 4, 'Материнская плата MSI X470 GAMING PLUS MAX – гарантия успеха при сборке высококлассного игрового компьютера. Возможности чипсета AMD X470, на котором базируется устройство, не нуждаются в каких-либо рекомендациях. Плата поддерживает CrossFire X. Есть поддержка NVMe-накопителей. Максимальный объем памяти – 64 ГБ. Если вас не слишком интересуют игры, то вы сможете воспользоваться тем, что совокупность эксплуатационных характеристик модели также позволяет создать мощную рабочую станцию универсального назначения.\r\nФорм-фактор платы MSI X470 GAMING PLUS MAX – Standard-ATX. Высота и ширина устройства равны 305 и 244 мм соответственно. Комплектация – стандартна. Особенностью модели является наличие подсветки.', '493435063406.jpg'),
|
||||
(42, '491143185890', 'Процессор AMD Ryzen 7 2700X BOX [AM4, 8 x 3700 МГц, L2 - 4 МБ, L3 - 16 Мб, 2хDDR4-2933 МГц, TDP 105 Вт, кулер]', 18599.00, 1, 4, 'Процессор AMD Ryzen 7 2700X BOX оборудован разъемом подключения AM4 и предназначен для эксплуатации в высокопроизводительном игровом системном блоке. Восьмиядерная модель с поддержкой 16 потоков имеет базовую тактовую частоту на уровне 3700 МГц и поддерживает технологию разгона Precision Boost 2, благодаря которой тактовую частоту можно довести до 4300 МГц. ЦПУ рассчитан на работу с памятью DDR4, тактовая частота которой находится в диапазоне 1600-2933 МГц. Наибольший объем ОЗУ, поддерживаемый этой моделью, равняется 128 ГБ.\r\nВыделяемая процессором AMD Ryzen 7 2700X BOX тепловая мощность достигает 105 Вт, а его наибольшая температура в процессе работы составляет 85 °C. Устройство поставляется вместе с эффективным кулером, поэтому вам не придется выбирать для него соответствующую систему отвода тепла. Интегрированное графическое ядро не предусмотрено конструкцией этой модели.', '491143185890.jpg'),
|
||||
(43, '797944610237', 'Оперативная память Kingston HyperX Predator [HX430C15PB3K2/16] 16 ГБ [DDR4, 8 ГБx2 шт, 3000 МГц, PC24000, 15-17-17-32]', 7799.00, 3, 2, 'Оперативная память Kingston HyperX Predator [HX430C15PB3K2/16] – это 16-гигабайтный комплект, состоящий из двух 8-гигабайтных модулей. Модель соответствует типу DDR4. Память станет отличным вариантом для использования в составе ультрапроизводительного игрового компьютера. Если же вы хотите собрать мощную систему универсального назначения, то память Kingston HyperX Predator [HX430C15PB3K2/16] также способна удовлетворить все требования.\r\nСкоростные характеристики памяти впечатляют: используя тактовую частоту 3000 МГц, модель характеризуется пропускной способностью, равной 24000 МБ/с. При этом вы сможете извлечь преимущества из поддержки технологии Intel XMP, поддержку которой имеет память. Владельцы материнских плат, рассчитанных на использование памяти, работающей на других, более низких частотах, также смогут использовать устройство, ведь память может функционировать на частотах от 1600 МГц.\r\nПамять Kingston HyperX Predator [HX430C15PB3K2/16] соответствует таймингам 15-17-17-32. Высота модулей, обусловленная наличием радиаторов, равна 42.2 мм. Напряжение питания памяти – 1.35 В.', '797944610237.jpg'),
|
||||
(44, '117371730028', 'Сертификат 80+ STANDART1376584 Блок питания CoolerMaster MWE 650 WHITE - V2 [MPE-6501-ACABW-EU] [650 Вт, EPS12V, APFC, 20+4 pin, 1x 4+4 pin, 1x 8 pin CPU, 6 шт SATA, 4x 6+2 pin PCI-E]', 4499.00, 5, 5, 'Блок питания CoolerMaster MWE 650 WHITE - V2 [MPE-6501-ACABW-EU], номинальная выходная мощность которого равна 650 Вт, способен обеспечить электропитание компонентов компьютера высокого класса. Вы сможете использовать мощный процессор, производительный видеоадаптер (или несколько видеоадаптеров), а также значительное количество плат расширения и накопителей. Форм-фактор устройства – ATX. Это значит, что блок питания обладает совместимостью с подавляющим большинством корпусов. Энергоэффективность модели превышает средний уровень: об этом свидетельствует соответствие источника питания сертификату 80 PLUS Standart.\r\nБлок питания CoolerMaster MWE 650 WHITE - V2 [MPE-6501-ACABW-EU] рассчитан на работу в условиях наличия входного напряжения от 200 до 240 В. Охлаждение устройства осуществляет малошумный, но производительный вентилятор 120-миллиметрового форм-фактора. В комплект поставки входят крепежные винты, документация и сетевой кабель питания. Длина, ширина и высота корпуса блока питания равны 140, 150 и 86 мм соответственно. Это стандартные размеры для источников питания ATX.', '117371730028.jpg'),
|
||||
(45, '513298590034', '480 ГБ SSD-накопитель Kingston A400 [SA400S37/480G] [SATA III, чтение - 500 Мбайт/сек, запись - 450 Мбайт/сек, Phison PS3111-S11, 3D NAND 3 бит TLC]', 4799.00, 19, 1, '480-гигабайтный SSD-накопитель Kingston A400 [SA400S37/480G], соответствующий 2.5-дюймовому форм-фактору, оптимален для использования в качестве системного диска в производительных мобильных или стационарных компьютерах. Модель изготовлена на базе контроллера Phison PS3111-S11, и характеризуется максимальными скоростями чтения и записи 500 и 450 МБ/с соответственно. Kingston A400 [SA400S37/480G] надежен: его ожидаемый срок службы составляет 1 миллион часов. Габаритные размеры устройства, корпус которого окрашен в серый цвет, составляют 100x69.9x7 мм.', '513298590034.jpg'),
|
||||
(47, '358188142760', 'Корпус Deepcool Tesseract SW-RD [DP-ATX-TSRBKRD] красный [Mid-Tower, Micro-ATX, Mini-ITX, Standard-ATX, 1x USB 3.2 Gen1 Type-A, 1x USB 2.0 Type-A]', 4050.00, 6, 2, 'Перед Вами ультрастильный игровой корпус Deepcool Tesseract SW-RD. Представленная модель станет настоящей находкой для геймера, который желает, чтобы все комплектующие его компьютера находились не только в красивом, но и эффективном стальном корпусе. Тщательно продуманная архитектура Deepcool Tesseract SW-RD предусматривает наличие ножек, компенсирующих неровности пола и не позволяющих днищу перегреваться, а также специального окна в боковой стенке, которое позволяет визуально наблюдать за работающей системой. Встроенная красная подсветка придаст игре в ночное время атмосферу таинственности.\r\nКорпус поставляется совместно с набором крепежных элементов и стяжками для кабеля. Предусмотрена качественная система охлаждения, выполненная в виде двух вентиляторов диаметром в 12 см. Также предусмотрены дополнительные места для еще двух аналогичных вентиляторов. Также имеется возможность установки системы жидкостного охлаждения. Для размещения блока отведена нижняя часть корпуса.', '358188142760.jpg');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы user
|
||||
--
|
||||
INSERT INTO user VALUES
|
||||
(1, 'erius', 'Roge2003', 'Ерог', 'Капралов', '89052592189', 'egor_kapralov2003@mail.ru', 'ул. Рогожский Поселок, д. 113', 1, '_.43', 1),
|
||||
(2, 'WalrusYT', 'LubluMamy2003', 'Илья', 'Тат', '89630899425', 'taytsev@mail.ru', 'ул. Дружбы, д. 7', 0, '_', 0),
|
||||
(3, 'arcwarden', 'pudgemom', 'Стэко', 'Слэйв', '89577366567', 'xrenxrenxrenxren@mail.ru', 'ул. Ращупкина, д. 21', 0, '_', 0),
|
||||
(4, 'pupkin', 'vasya123', 'Вася', 'Пупкин', '89113451232', 'vasya_pupkin@mail.ru', 'ул. Ясеневая, д. 77', 0, '_', 0),
|
||||
(5, 'erius1', 'wasd123', 'egor', 'karpov', '89052592169', 'wasd@mail.ru', 'ул. Пушкина, д. 1', 0, '_', 0),
|
||||
(6, 'black', 'bigpig', 'слэкос', 'на бабках', '822813371488', 'xrenxrenxrenxren@yandex.dot', 'не скажу', 0, '_', 0),
|
||||
(7, 'ernest', 'wasd', 'Ерог', 'Карпов', '89052592117', 'egor_kapralov1993@mail.ru', 'нет', 0, '_', 0),
|
||||
(9, 'elka', '123', 'Елена', 'Комарова', '1111111111', 'ekom@yandex.ru', 'не скажу', 0, '_', 0),
|
||||
(10, 'erius123', 'wasd', 'Егор', 'Капралов', '8888888888', 'egor_kapralov321312@mail.ru', 'не скажу', 0, '_', 0),
|
||||
(11, 'kirill19072003', 'amosus228', 'Кирилл', 'Евграфов', '79119720686', 'kirill.evgrafov.19@mail.ru', '[eq', 1, '_.45', 0),
|
||||
(12, 'test', 'test', 'test', 'test', '123', 'test', 'test', 0, '_.43', 1);
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы status
|
||||
--
|
||||
INSERT INTO status VALUES
|
||||
(2, 'Можно забрать'),
|
||||
(1, 'Ожидает прибытия'),
|
||||
(3, 'Отменен');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы part_shop
|
||||
--
|
||||
INSERT INTO part_shop VALUES
|
||||
(49, 39, 1, 3),
|
||||
(50, 39, 2, 2),
|
||||
(51, 40, 1, 5),
|
||||
(52, 40, 2, 1),
|
||||
(53, 41, 1, 0),
|
||||
(54, 41, 2, 0),
|
||||
(55, 42, 1, 0),
|
||||
(56, 42, 2, 0),
|
||||
(57, 43, 1, 4),
|
||||
(58, 43, 2, 3),
|
||||
(59, 44, 1, 0),
|
||||
(60, 44, 2, 3),
|
||||
(61, 45, 1, 4),
|
||||
(62, 45, 2, 3),
|
||||
(65, 47, 1, 0),
|
||||
(66, 47, 2, 0);
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы order_info
|
||||
--
|
||||
-- Таблица pc_parts_new.order_info не содержит данных
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы ord
|
||||
--
|
||||
-- Таблица pc_parts_new.ord не содержит данных
|
||||
|
||||
--
|
||||
-- Восстановить предыдущий режим SQL (SQL mode)
|
||||
--
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
|
||||
--
|
||||
-- Включение внешних ключей
|
||||
--
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS = @OLD_FOREIGN_KEY_CHECKS */;
|
836
nrpc_db/reserve/pc_parts_new 20210519 1813.sql
Normal file
836
nrpc_db/reserve/pc_parts_new 20210519 1813.sql
Normal file
|
@ -0,0 +1,836 @@
|
|||
--
|
||||
-- Скрипт сгенерирован Devart dbForge Studio 2019 for MySQL, Версия 8.1.22.0
|
||||
-- Домашняя страница продукта: http://www.devart.com/ru/dbforge/mysql/studio
|
||||
-- Дата скрипта: 19.05.2021 18:13:42
|
||||
-- Версия сервера: 5.7.25
|
||||
-- Версия клиента: 4.1
|
||||
--
|
||||
|
||||
--
|
||||
-- Отключение внешних ключей
|
||||
--
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
||||
--
|
||||
-- Установить режим SQL (SQL mode)
|
||||
--
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||
|
||||
--
|
||||
-- Установка кодировки, с использованием которой клиент будет посылать запросы на сервер
|
||||
--
|
||||
SET NAMES 'utf8';
|
||||
|
||||
--
|
||||
-- Установка базы данных по умолчанию
|
||||
--
|
||||
USE pc_parts_new;
|
||||
|
||||
--
|
||||
-- Создать таблицу `user`
|
||||
--
|
||||
CREATE TABLE user (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
login varchar(255) NOT NULL,
|
||||
password varchar(255) NOT NULL,
|
||||
name varchar(255) NOT NULL,
|
||||
surname varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(50) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
is_admin tinyint(1) NOT NULL,
|
||||
cart varchar(255) NOT NULL DEFAULT '_',
|
||||
pref_shop_id int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 13,
|
||||
AVG_ROW_LENGTH = 1820,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `email` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX email (email);
|
||||
|
||||
--
|
||||
-- Создать индекс `login` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX login (login);
|
||||
|
||||
--
|
||||
-- Создать индекс `phone` для объекта типа таблица `user`
|
||||
--
|
||||
ALTER TABLE user
|
||||
ADD UNIQUE INDEX phone (phone);
|
||||
|
||||
--
|
||||
-- Создать таблицу `status`
|
||||
--
|
||||
CREATE TABLE status (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 4,
|
||||
AVG_ROW_LENGTH = 8192,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `status`
|
||||
--
|
||||
ALTER TABLE status
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `order_info`
|
||||
--
|
||||
CREATE TABLE order_info (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_user int(11) NOT NULL,
|
||||
id_status int(11) NOT NULL,
|
||||
date datetime NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AVG_ROW_LENGTH = 16384,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE order_info
|
||||
ADD CONSTRAINT FK_ord_status_id FOREIGN KEY (id_status)
|
||||
REFERENCES status (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE order_info
|
||||
ADD CONSTRAINT FK_ord_user_id FOREIGN KEY (id_user)
|
||||
REFERENCES user (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать таблицу `supplier`
|
||||
--
|
||||
CREATE TABLE supplier (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 6,
|
||||
AVG_ROW_LENGTH = 4096,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `supplier`
|
||||
--
|
||||
ALTER TABLE supplier
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
--
|
||||
-- Создать таблицу `category`
|
||||
--
|
||||
CREATE TABLE category (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 21,
|
||||
AVG_ROW_LENGTH = 2340,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `name` для объекта типа таблица `category`
|
||||
--
|
||||
ALTER TABLE category
|
||||
ADD UNIQUE INDEX name (name);
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать процедуру `selectParts`
|
||||
--
|
||||
CREATE PROCEDURE selectParts (upc varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, price_bottom dec(19, 2), price_upper dec(19, 2), category int, supplier int)
|
||||
BEGIN
|
||||
SELECT
|
||||
p.id,
|
||||
p.upc,
|
||||
p.name,
|
||||
p.price,
|
||||
c.name AS 'category',
|
||||
s.name AS 'supplier'
|
||||
FROM part p
|
||||
JOIN category c
|
||||
ON p.id_category = c.id
|
||||
JOIN supplier s
|
||||
ON p.id_supplier = s.id
|
||||
WHERE (upc = ''
|
||||
OR upc IS NULL
|
||||
OR p.upc LIKE CONCAT('%', upc, '%'))
|
||||
AND (name = ''
|
||||
OR name IS NULL
|
||||
OR p.name LIKE CONCAT('%', NAME, '%'))
|
||||
AND (p.price >= price_bottom
|
||||
AND p.price <= price_upper)
|
||||
AND (p.id_category = category
|
||||
OR category = 0)
|
||||
AND (p.id_supplier = supplier
|
||||
OR supplier = 0);
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать таблицу `part`
|
||||
--
|
||||
CREATE TABLE part (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
upc varchar(255) NOT NULL,
|
||||
name varchar(255) NOT NULL,
|
||||
price decimal(19, 2) NOT NULL,
|
||||
id_category int(11) NOT NULL,
|
||||
id_supplier int(11) NOT NULL,
|
||||
description text DEFAULT NULL,
|
||||
image varchar(255) DEFAULT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 48,
|
||||
AVG_ROW_LENGTH = 2340,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `upc` для объекта типа таблица `part`
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD UNIQUE INDEX upc (upc);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD CONSTRAINT FK_part_category_id FOREIGN KEY (id_category)
|
||||
REFERENCES category (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part
|
||||
ADD CONSTRAINT FK_part_supplier_id FOREIGN KEY (id_supplier)
|
||||
REFERENCES supplier (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `modifyPart`
|
||||
--
|
||||
CREATE FUNCTION modifyPart (id int, upc varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, price dec(19, 2), category_id int, supplier_id int, description text CHARSET utf8, image varchar(255) CHARSET utf8)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
UPDATE part p
|
||||
SET p.upc = upc,
|
||||
p.name = name,
|
||||
p.price = price,
|
||||
p.id_category = category_id,
|
||||
p.id_supplier = supplier_id,
|
||||
p.description = description,
|
||||
p.image = image
|
||||
WHERE p.id = id;
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать таблицу `shop`
|
||||
--
|
||||
CREATE TABLE shop (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
name varchar(255) NOT NULL,
|
||||
address varchar(255) NOT NULL,
|
||||
phone varchar(255) NOT NULL,
|
||||
email varchar(255) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 3,
|
||||
AVG_ROW_LENGTH = 8192,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_shop` для объекта типа таблица `shop`
|
||||
--
|
||||
ALTER TABLE shop
|
||||
ADD UNIQUE INDEX UK_shop (name, address);
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `modifyUser`
|
||||
--
|
||||
CREATE FUNCTION modifyUser (login varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, surname varchar(255) CHARSET utf8, phone varchar(255) CHARSET utf8, email varchar(255) CHARSET utf8, address varchar(255) CHARSET utf8, shop int)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
UPDATE user u
|
||||
SET u.name = name,
|
||||
u.surname = surname,
|
||||
u.phone = phone,
|
||||
u.email = email,
|
||||
u.address = address,
|
||||
u.pref_shop_id = shop
|
||||
WHERE u.login = login;
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать процедуру `selectPartsShopping`
|
||||
--
|
||||
CREATE PROCEDURE selectPartsShopping (name varchar(255) CHARSET utf8, price_bottom dec(19, 2), price_upper dec(19, 2), category int, sort int, show_absent bool, shop_id int)
|
||||
BEGIN
|
||||
SELECT
|
||||
p.id,
|
||||
p.name,
|
||||
p.price,
|
||||
p.image,
|
||||
ps.count AS 'in_stock',
|
||||
s.id AS 'shop',
|
||||
COUNT(*) AS 'count'
|
||||
FROM part p
|
||||
JOIN category c
|
||||
ON p.id_category = c.id
|
||||
JOIN part_shop ps
|
||||
ON p.id = ps.id_part
|
||||
JOIN shop s
|
||||
ON ps.id_shop = s.id
|
||||
WHERE (name = ''
|
||||
OR name IS NULL
|
||||
OR p.name LIKE CONCAT('%', name, '%'))
|
||||
AND (p.price >= price_bottom
|
||||
AND p.price <= price_upper)
|
||||
AND (p.id_category = category
|
||||
OR category = 0)
|
||||
AND (s.id = shop_id
|
||||
OR shop_id = 0)
|
||||
GROUP BY p.id
|
||||
HAVING ((NOT show_absent
|
||||
AND in_stock > 0
|
||||
AND (shop = shop_id
|
||||
OR shop_id = 0))
|
||||
OR show_absent)
|
||||
ORDER BY CASE sort WHEN 0 THEN p.price END ASC,
|
||||
CASE sort WHEN 1 THEN p.price END DESC;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать процедуру `partInfo`
|
||||
--
|
||||
CREATE PROCEDURE partInfo (id int, shop int)
|
||||
BEGIN
|
||||
SELECT
|
||||
p.upc,
|
||||
p.name,
|
||||
p.price,
|
||||
c.id AS 'category',
|
||||
c.name AS 'category_name',
|
||||
s.id AS 'supplier',
|
||||
s.name AS 'supplier_name',
|
||||
p.description,
|
||||
p.image,
|
||||
ps.count AS 'in_stock'
|
||||
FROM part p
|
||||
JOIN category c
|
||||
ON p.id_category = c.id
|
||||
JOIN supplier s
|
||||
ON p.id_supplier = s.id
|
||||
JOIN part_shop ps
|
||||
ON p.id = ps.id_part
|
||||
JOIN shop s1
|
||||
ON ps.id_shop = s1.id
|
||||
WHERE p.id = id
|
||||
AND s1.id = shop;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать представление `get_shops`
|
||||
--
|
||||
CREATE
|
||||
VIEW get_shops
|
||||
AS
|
||||
SELECT
|
||||
`s`.`id` AS `id`,
|
||||
`s`.`name` AS `name`
|
||||
FROM `shop` `s`
|
||||
ORDER BY `s`.`id`;
|
||||
|
||||
--
|
||||
-- Создать таблицу `part_shop`
|
||||
--
|
||||
CREATE TABLE part_shop (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_part int(11) NOT NULL,
|
||||
id_shop int(11) NOT NULL,
|
||||
count int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
AUTO_INCREMENT = 67,
|
||||
AVG_ROW_LENGTH = 2048,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_stock` для объекта типа таблица `part_shop`
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD UNIQUE INDEX UK_stock (id_part, id_shop);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD CONSTRAINT FK_part_shop_shop_id FOREIGN KEY (id_shop)
|
||||
REFERENCES shop (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE part_shop
|
||||
ADD CONSTRAINT FK_stock_part_id FOREIGN KEY (id_part)
|
||||
REFERENCES part (id) ON DELETE CASCADE ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать функцию `modifySupply`
|
||||
--
|
||||
CREATE FUNCTION modifySupply (part_id int, shop_id int, supply int)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
UPDATE part_shop ps
|
||||
SET ps.count = supply
|
||||
WHERE ps.id_part = part_id
|
||||
AND ps.id_shop = shop_id;
|
||||
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewPart`
|
||||
--
|
||||
CREATE FUNCTION addNewPart (upc varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, price dec(19, 2), category_id int, supplier_id int, description text CHARSET utf8, image varchar(255) CHARSET utf8)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE part_id int;
|
||||
DECLARE shop_id int;
|
||||
DECLARE n int;
|
||||
DECLARE i int;
|
||||
|
||||
INSERT IGNORE INTO part
|
||||
VALUES (NULL, upc, name, price, category_id, supplier_id, description, image);
|
||||
|
||||
SELECT
|
||||
LAST_INSERT_ID() INTO part_id;
|
||||
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM shop s INTO n;
|
||||
|
||||
SET i = 1;
|
||||
WHILE i <= n DO
|
||||
INSERT IGNORE INTO part_shop
|
||||
VALUES (NULL, part_id, i, 0);
|
||||
SET i = i + 1;
|
||||
END WHILE;
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewOrd`
|
||||
--
|
||||
CREATE FUNCTION addNewOrd (user_id int, part_id int, shop_id int, ord_count int)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE order_info_id int;
|
||||
DECLARE part_shop_id int;
|
||||
DECLARE part_count int;
|
||||
|
||||
SELECT
|
||||
ps.id,
|
||||
ps.count INTO part_shop_id, part_count
|
||||
FROM part_shop ps
|
||||
WHERE ps.id_part = part_id
|
||||
AND ps.id_shop = shop_id;
|
||||
|
||||
IF (part_count < ord_count) THEN
|
||||
RETURN 0;
|
||||
END IF;
|
||||
|
||||
INSERT IGNORE INTO order_info
|
||||
VALUES (NULL, user_id, 1, CURDATE());
|
||||
|
||||
SELECT
|
||||
LAST_INSERT_ID() INTO order_info_id;
|
||||
|
||||
UPDATE part_shop ps
|
||||
SET ps.count = ps.count - ord_count
|
||||
WHERE ps.id = part_shop_id;
|
||||
|
||||
INSERT IGNORE INTO ord
|
||||
VALUE (NULL, order_info_id, part_shop_id, ord_count);
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать процедуру `partStock`
|
||||
--
|
||||
CREATE PROCEDURE partStock (id int)
|
||||
BEGIN
|
||||
SELECT
|
||||
s.id,
|
||||
s.name,
|
||||
ps.count
|
||||
FROM part p
|
||||
JOIN part_shop ps
|
||||
ON p.id = ps.id_part
|
||||
JOIN shop s
|
||||
ON ps.id_shop = s.id
|
||||
WHERE ps.id_part = id;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Создать таблицу `ord`
|
||||
--
|
||||
CREATE TABLE ord (
|
||||
id int(11) NOT NULL AUTO_INCREMENT,
|
||||
id_order_info int(11) NOT NULL,
|
||||
id_part_shop int(11) NOT NULL,
|
||||
count int(11) NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
)
|
||||
ENGINE = INNODB,
|
||||
CHARACTER SET utf8,
|
||||
COLLATE utf8_general_ci;
|
||||
|
||||
--
|
||||
-- Создать индекс `FK_ord_parts_ord_id` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD INDEX FK_ord_parts_ord_id (id_order_info);
|
||||
|
||||
--
|
||||
-- Создать индекс `FK_ord_parts_part_id` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD INDEX FK_ord_parts_part_id (id_part_shop);
|
||||
|
||||
--
|
||||
-- Создать индекс `UK_ord` для объекта типа таблица `ord`
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD UNIQUE INDEX UK_ord (id_order_info, id_part_shop);
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD CONSTRAINT FK_ord_order_info_id FOREIGN KEY (id_order_info)
|
||||
REFERENCES order_info (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
--
|
||||
-- Создать внешний ключ
|
||||
--
|
||||
ALTER TABLE ord
|
||||
ADD CONSTRAINT FK_ord_part_shop_id FOREIGN KEY (id_part_shop)
|
||||
REFERENCES part_shop (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
--
|
||||
-- Создать процедуру `userInfo`
|
||||
--
|
||||
CREATE PROCEDURE userInfo (login varchar(255) CHARSET utf8)
|
||||
BEGIN
|
||||
SELECT
|
||||
u.name,
|
||||
u.surname,
|
||||
u.phone,
|
||||
u.email,
|
||||
u.address,
|
||||
u.pref_shop_id
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `saveCart`
|
||||
--
|
||||
CREATE FUNCTION saveCart (login varchar(255) CHARSET utf8, cart varchar(255) CHARSET utf8)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
UPDATE user u
|
||||
SET u.cart = cart
|
||||
WHERE u.login = login;
|
||||
|
||||
RETURN 1;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `isUserAdmin`
|
||||
--
|
||||
CREATE FUNCTION isUserAdmin (login varchar(255) CHARSET utf8)
|
||||
RETURNS tinyint(1)
|
||||
BEGIN
|
||||
DECLARE is_user_admin bool;
|
||||
SELECT
|
||||
is_admin INTO is_user_admin
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
RETURN is_user_admin;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `handleLogin`
|
||||
--
|
||||
CREATE FUNCTION handleLogin (login varchar(255) CHARSET utf8, password varchar(255) CHARSET utf8)
|
||||
RETURNS varchar(255) CHARSET utf8
|
||||
BEGIN
|
||||
DECLARE existing_users int;
|
||||
DECLARE cart varchar(255) CHARSET utf8;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO existing_users
|
||||
FROM user u
|
||||
WHERE u.login = login
|
||||
AND u.PASSWORD = password;
|
||||
|
||||
IF (existing_users > 0) THEN
|
||||
SELECT
|
||||
u.cart INTO cart
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
|
||||
RETURN CONVERT(cart USING utf8);
|
||||
ELSE
|
||||
RETURN '0';
|
||||
END IF;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `getUserShop`
|
||||
--
|
||||
CREATE FUNCTION getUserShop (login varchar(255) CHARSET utf8)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE id_shop int;
|
||||
SELECT
|
||||
u.pref_shop_id INTO id_shop
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
|
||||
RETURN id_shop;
|
||||
END
|
||||
$$
|
||||
|
||||
--
|
||||
-- Создать функцию `addNewUser`
|
||||
--
|
||||
CREATE FUNCTION addNewUser (login varchar(255) CHARSET utf8, password varchar(255) CHARSET utf8, name varchar(255) CHARSET utf8, surname varchar(255) CHARSET utf8, phone varchar(255) CHARSET utf8, email varchar(255) CHARSET utf8, address varchar(255) CHARSET utf8)
|
||||
RETURNS int(11)
|
||||
BEGIN
|
||||
DECLARE loginCount int;
|
||||
DECLARE phoneCount int;
|
||||
DECLARE emailCount int;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO loginCount
|
||||
FROM user u
|
||||
WHERE u.login = login;
|
||||
|
||||
IF (loginCount > 0) THEN
|
||||
RETURN 0;
|
||||
END IF;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO phoneCount
|
||||
FROM user u
|
||||
WHERE u.phone = phone;
|
||||
|
||||
IF (phoneCount > 0) THEN
|
||||
RETURN 1;
|
||||
END IF;
|
||||
|
||||
SELECT
|
||||
COUNT(*) INTO emailCount
|
||||
FROM user u
|
||||
WHERE u.email = email;
|
||||
|
||||
IF (emailCount > 0) THEN
|
||||
RETURN 2;
|
||||
END IF;
|
||||
|
||||
INSERT IGNORE INTO user
|
||||
VALUES (NULL, login, password, name, surname, phone, email, address, 0, '_', 0);
|
||||
|
||||
RETURN 3;
|
||||
END
|
||||
$$
|
||||
|
||||
DELIMITER ;
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы supplier
|
||||
--
|
||||
INSERT INTO supplier VALUES
|
||||
(1, 'Compart', 'ул. Гидротехников, д. 155', '+7 (911) 324-03-22', 'office@comp.ru'),
|
||||
(2, 'WalrusTorg', 'ул. Пролетарская, д. 154', '+7 (905) 259-21-89', 'office@waltorg.ru'),
|
||||
(3, 'OpenPC', 'ул. Комиссара Смирнова, д. 55', '+7 (974) 648-75-50', 'office@openpc.com'),
|
||||
(4, 'InterDel', 'ул. Галстяна, д. 197', '+7 (976) 285-17-14', 'office@interdel.com'),
|
||||
(5, 'PartsEx', 'ул. 5 Декабря, д. 159', '+7 (941) 598-51-05', 'office@partsex.ru');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы category
|
||||
--
|
||||
INSERT INTO category VALUES
|
||||
(7, 'HDD'),
|
||||
(9, 'PCI-E модуль'),
|
||||
(16, 'RGB подсветка'),
|
||||
(19, 'SSD'),
|
||||
(5, 'Блок питания'),
|
||||
(2, 'Видеокарта'),
|
||||
(20, 'Другое'),
|
||||
(15, 'Кабели'),
|
||||
(12, 'Клавиатура'),
|
||||
(6, 'Корпус'),
|
||||
(4, 'Материнская плата'),
|
||||
(8, 'Монитор'),
|
||||
(13, 'Мышь'),
|
||||
(14, 'Наушники'),
|
||||
(17, 'Ноутбук'),
|
||||
(3, 'Оперативная память'),
|
||||
(11, 'Охлаждение'),
|
||||
(18, 'ПК'),
|
||||
(1, 'Процессор'),
|
||||
(10, 'Сетевое оборудование');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы shop
|
||||
--
|
||||
INSERT INTO shop VALUES
|
||||
(1, 'Магазин в ТК Алоха', 'ул. Тютчевская, д. 2', '+7 (932) 139-73-10', 'tutchevskaya15@novparts.ru'),
|
||||
(2, 'Магазин у ст. м. Чёрная речка', 'ул. Савушкина, д. 56', '+7 (924) 098-32-12', 'savushkina56@novparts.ru');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы part
|
||||
--
|
||||
INSERT INTO part VALUES
|
||||
(39, '691970352436', 'Процессор AMD Ryzen 5 3600 OEM [AM4, 6 x 3600 МГц, L2 - 3 Мб, L3 - 32 МБ, 2хDDR4-3200 МГц, TDP 65 Вт]', 14599.00, 1, 1, '6-ядерный процессор AMD Ryzen 5 3600 OEM порадует высоким уровнем производительности подавляющее большинство пользователей. Устройство будет уверенно себя чувствовать в составе мощной игровой системы. Базовая частота процессора равна 3600 МГц. Турбочастота – 4200 МГц. Важной особенностью процессора является очень большой объем кэша третьего уровня: величина этого показателя равна 32 МБ. Объем кэша L2 – 3 МБ.\r\nПроцессор AMD Ryzen 5 3600 OEM не имеет встроенного графического ядра. Модель совместима с памятью DDR4, объем которой может достигать 128 ГБ. Минимально допустимая частота оперативной памяти – 1600 МГц. Максимально допустимая частота вдвое выше – 3200 МГц.\r\nПроцессор не укомплектован системой охлаждения. Выбор кулера предоставлен производителем пользователю. Несмотря на высокий уровень эксплуатационных параметров, процессор отличается незначительным (лишь 65 Вт) показателем TDP. Для установки устройства используется сокет AM4.', '691970352436.jpg'),
|
||||
(40, '029079274707', 'Видеокарта Gigabyte GeForce GTX 1050 Ti [GV-N105TOC-4GD] [PCI-E 3.0, 4 ГБ GDDR5, 128 бит, 1316 МГц - 1455 МГц, HDMI, DisplayPort, DVI-D]', 21599.00, 2, 1, 'Видеокарта Gigabyte GeForce GTX 1050 Ti создана для игрового компьютера. Разработана как модель с серьезными возможностями. Качество сборки и деталей не вызывает сомнения – производитель не стал экономить на охлаждении, внутри установлен радиатор с термотрубками, отводящий тепло от подсистемы питания, графического чипа и памяти, снаружи – два 90-миллиметровых вентилятора.\r\nПри подключении к монитору с разрешением не выше Full HD Gigabyte GeForce GTX 1050 Ti обеспечит безупречную картинку. Возможно, что для самых требовательных игр придется немного снизить настройки, но большинство будет работать отлично и на максимальных.', '029079274707.jpg'),
|
||||
(41, '493435063406', 'Материнская плата MSI X470 GAMING PLUS MAX [AM4, AMD X470, 4xDDR4-4133 МГц, 3xPCI-Ex16, аудио 7.1, Standard-ATX]', 8599.00, 4, 4, 'Материнская плата MSI X470 GAMING PLUS MAX – гарантия успеха при сборке высококлассного игрового компьютера. Возможности чипсета AMD X470, на котором базируется устройство, не нуждаются в каких-либо рекомендациях. Плата поддерживает CrossFire X. Есть поддержка NVMe-накопителей. Максимальный объем памяти – 64 ГБ. Если вас не слишком интересуют игры, то вы сможете воспользоваться тем, что совокупность эксплуатационных характеристик модели также позволяет создать мощную рабочую станцию универсального назначения.\r\nФорм-фактор платы MSI X470 GAMING PLUS MAX – Standard-ATX. Высота и ширина устройства равны 305 и 244 мм соответственно. Комплектация – стандартна. Особенностью модели является наличие подсветки.', '493435063406.jpg'),
|
||||
(42, '491143185890', 'Процессор AMD Ryzen 7 2700X BOX [AM4, 8 x 3700 МГц, L2 - 4 МБ, L3 - 16 Мб, 2хDDR4-2933 МГц, TDP 105 Вт, кулер]', 18599.00, 1, 4, 'Процессор AMD Ryzen 7 2700X BOX оборудован разъемом подключения AM4 и предназначен для эксплуатации в высокопроизводительном игровом системном блоке. Восьмиядерная модель с поддержкой 16 потоков имеет базовую тактовую частоту на уровне 3700 МГц и поддерживает технологию разгона Precision Boost 2, благодаря которой тактовую частоту можно довести до 4300 МГц. ЦПУ рассчитан на работу с памятью DDR4, тактовая частота которой находится в диапазоне 1600-2933 МГц. Наибольший объем ОЗУ, поддерживаемый этой моделью, равняется 128 ГБ.\r\nВыделяемая процессором AMD Ryzen 7 2700X BOX тепловая мощность достигает 105 Вт, а его наибольшая температура в процессе работы составляет 85 °C. Устройство поставляется вместе с эффективным кулером, поэтому вам не придется выбирать для него соответствующую систему отвода тепла. Интегрированное графическое ядро не предусмотрено конструкцией этой модели.', '491143185890.jpg'),
|
||||
(43, '797944610237', 'Оперативная память Kingston HyperX Predator [HX430C15PB3K2/16] 16 ГБ [DDR4, 8 ГБx2 шт, 3000 МГц, PC24000, 15-17-17-32]', 7799.00, 3, 2, 'Оперативная память Kingston HyperX Predator [HX430C15PB3K2/16] – это 16-гигабайтный комплект, состоящий из двух 8-гигабайтных модулей. Модель соответствует типу DDR4. Память станет отличным вариантом для использования в составе ультрапроизводительного игрового компьютера. Если же вы хотите собрать мощную систему универсального назначения, то память Kingston HyperX Predator [HX430C15PB3K2/16] также способна удовлетворить все требования.\r\nСкоростные характеристики памяти впечатляют: используя тактовую частоту 3000 МГц, модель характеризуется пропускной способностью, равной 24000 МБ/с. При этом вы сможете извлечь преимущества из поддержки технологии Intel XMP, поддержку которой имеет память. Владельцы материнских плат, рассчитанных на использование памяти, работающей на других, более низких частотах, также смогут использовать устройство, ведь память может функционировать на частотах от 1600 МГц.\r\nПамять Kingston HyperX Predator [HX430C15PB3K2/16] соответствует таймингам 15-17-17-32. Высота модулей, обусловленная наличием радиаторов, равна 42.2 мм. Напряжение питания памяти – 1.35 В.', '797944610237.jpg'),
|
||||
(44, '117371730028', 'Сертификат 80+ STANDART1376584 Блок питания CoolerMaster MWE 650 WHITE - V2 [MPE-6501-ACABW-EU] [650 Вт, EPS12V, APFC, 20+4 pin, 1x 4+4 pin, 1x 8 pin CPU, 6 шт SATA, 4x 6+2 pin PCI-E]', 4499.00, 5, 5, 'Блок питания CoolerMaster MWE 650 WHITE - V2 [MPE-6501-ACABW-EU], номинальная выходная мощность которого равна 650 Вт, способен обеспечить электропитание компонентов компьютера высокого класса. Вы сможете использовать мощный процессор, производительный видеоадаптер (или несколько видеоадаптеров), а также значительное количество плат расширения и накопителей. Форм-фактор устройства – ATX. Это значит, что блок питания обладает совместимостью с подавляющим большинством корпусов. Энергоэффективность модели превышает средний уровень: об этом свидетельствует соответствие источника питания сертификату 80 PLUS Standart.\r\nБлок питания CoolerMaster MWE 650 WHITE - V2 [MPE-6501-ACABW-EU] рассчитан на работу в условиях наличия входного напряжения от 200 до 240 В. Охлаждение устройства осуществляет малошумный, но производительный вентилятор 120-миллиметрового форм-фактора. В комплект поставки входят крепежные винты, документация и сетевой кабель питания. Длина, ширина и высота корпуса блока питания равны 140, 150 и 86 мм соответственно. Это стандартные размеры для источников питания ATX.', '117371730028.jpg'),
|
||||
(45, '513298590034', '480 ГБ SSD-накопитель Kingston A400 [SA400S37/480G] [SATA III, чтение - 500 Мбайт/сек, запись - 450 Мбайт/сек, Phison PS3111-S11, 3D NAND 3 бит TLC]', 4799.00, 19, 1, '480-гигабайтный SSD-накопитель Kingston A400 [SA400S37/480G], соответствующий 2.5-дюймовому форм-фактору, оптимален для использования в качестве системного диска в производительных мобильных или стационарных компьютерах. Модель изготовлена на базе контроллера Phison PS3111-S11, и характеризуется максимальными скоростями чтения и записи 500 и 450 МБ/с соответственно. Kingston A400 [SA400S37/480G] надежен: его ожидаемый срок службы составляет 1 миллион часов. Габаритные размеры устройства, корпус которого окрашен в серый цвет, составляют 100x69.9x7 мм.', '513298590034.jpg'),
|
||||
(47, '358188142760', 'Корпус Deepcool Tesseract SW-RD [DP-ATX-TSRBKRD] красный [Mid-Tower, Micro-ATX, Mini-ITX, Standard-ATX, 1x USB 3.2 Gen1 Type-A, 1x USB 2.0 Type-A]', 4050.00, 6, 2, 'Перед Вами ультрастильный игровой корпус Deepcool Tesseract SW-RD. Представленная модель станет настоящей находкой для геймера, который желает, чтобы все комплектующие его компьютера находились не только в красивом, но и эффективном стальном корпусе. Тщательно продуманная архитектура Deepcool Tesseract SW-RD предусматривает наличие ножек, компенсирующих неровности пола и не позволяющих днищу перегреваться, а также специального окна в боковой стенке, которое позволяет визуально наблюдать за работающей системой. Встроенная красная подсветка придаст игре в ночное время атмосферу таинственности.\r\nКорпус поставляется совместно с набором крепежных элементов и стяжками для кабеля. Предусмотрена качественная система охлаждения, выполненная в виде двух вентиляторов диаметром в 12 см. Также предусмотрены дополнительные места для еще двух аналогичных вентиляторов. Также имеется возможность установки системы жидкостного охлаждения. Для размещения блока отведена нижняя часть корпуса.', '358188142760.jpg');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы user
|
||||
--
|
||||
INSERT INTO user VALUES
|
||||
(1, 'erius', 'Roge2003', 'Ерог', 'Капралов', '89052592189', 'egor_kapralov2003@mail.ru', 'ул. Рогожский Поселок, д. 113', 1, '_.43', 1),
|
||||
(2, 'WalrusYT', 'LubluMamy2003', 'Илья', 'Тат', '89630899425', 'taytsev@mail.ru', 'ул. Дружбы, д. 7', 0, '_', 0),
|
||||
(3, 'arcwarden', 'pudgemom', 'Стэко', 'Слэйв', '89577366567', 'xrenxrenxrenxren@mail.ru', 'ул. Ращупкина, д. 21', 0, '_', 0),
|
||||
(4, 'pupkin', 'vasya123', 'Вася', 'Пупкин', '89113451232', 'vasya_pupkin@mail.ru', 'ул. Ясеневая, д. 77', 0, '_', 0),
|
||||
(5, 'erius1', 'wasd123', 'egor', 'karpov', '89052592169', 'wasd@mail.ru', 'ул. Пушкина, д. 1', 0, '_', 0),
|
||||
(6, 'black', 'bigpig', 'слэкос', 'на бабках', '822813371488', 'xrenxrenxrenxren@yandex.dot', 'не скажу', 0, '_', 0),
|
||||
(7, 'ernest', 'wasd', 'Ерог', 'Карпов', '89052592117', 'egor_kapralov1993@mail.ru', 'нет', 0, '_', 0),
|
||||
(9, 'elka', '123', 'Елена', 'Комарова', '1111111111', 'ekom@yandex.ru', 'не скажу', 0, '_', 0),
|
||||
(10, 'erius123', 'wasd', 'Егор', 'Капралов', '8888888888', 'egor_kapralov321312@mail.ru', 'не скажу', 0, '_', 0),
|
||||
(11, 'kirill19072003', 'amosus228', 'Кирилл', 'Евграфов', '79119720686', 'kirill.evgrafov.19@mail.ru', '[eq', 1, '_.45', 0),
|
||||
(12, 'test', 'test', 'test', 'test', '123', 'test', 'test', 0, '_.43', 1);
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы status
|
||||
--
|
||||
INSERT INTO status VALUES
|
||||
(2, 'Можно забрать'),
|
||||
(1, 'Ожидает прибытия'),
|
||||
(3, 'Отменен');
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы part_shop
|
||||
--
|
||||
INSERT INTO part_shop VALUES
|
||||
(49, 39, 1, 3),
|
||||
(50, 39, 2, 2),
|
||||
(51, 40, 1, 5),
|
||||
(52, 40, 2, 1),
|
||||
(53, 41, 1, 0),
|
||||
(54, 41, 2, 0),
|
||||
(55, 42, 1, 0),
|
||||
(56, 42, 2, 0),
|
||||
(57, 43, 1, 4),
|
||||
(58, 43, 2, 3),
|
||||
(59, 44, 1, 0),
|
||||
(60, 44, 2, 3),
|
||||
(61, 45, 1, 4),
|
||||
(62, 45, 2, 3),
|
||||
(65, 47, 1, 0),
|
||||
(66, 47, 2, 0);
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы order_info
|
||||
--
|
||||
-- Таблица pc_parts_new.order_info не содержит данных
|
||||
|
||||
--
|
||||
-- Вывод данных для таблицы ord
|
||||
--
|
||||
-- Таблица pc_parts_new.ord не содержит данных
|
||||
|
||||
--
|
||||
-- Восстановить предыдущий режим SQL (SQL mode)
|
||||
--
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
|
||||
--
|
||||
-- Включение внешних ключей
|
||||
--
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS = @OLD_FOREIGN_KEY_CHECKS */;
|
1027
nrpc_db/reserve/pc_parts_new 20210522 0128.sql
Normal file
1027
nrpc_db/reserve/pc_parts_new 20210522 0128.sql
Normal file
File diff suppressed because it is too large
Load diff
1002
nrpc_db/reserve/pc_parts_new 20210522 0138.sql
Normal file
1002
nrpc_db/reserve/pc_parts_new 20210522 0138.sql
Normal file
File diff suppressed because it is too large
Load diff
1002
nrpc_db/reserve/pc_parts_new 20210522 0153.sql
Normal file
1002
nrpc_db/reserve/pc_parts_new 20210522 0153.sql
Normal file
File diff suppressed because it is too large
Load diff
1059
nrpc_db/reserve/pc_parts_new 20210523 2358.sql
Normal file
1059
nrpc_db/reserve/pc_parts_new 20210523 2358.sql
Normal file
File diff suppressed because it is too large
Load diff
1060
nrpc_db/reserve/pc_parts_new 20210524 0302.sql
Normal file
1060
nrpc_db/reserve/pc_parts_new 20210524 0302.sql
Normal file
File diff suppressed because it is too large
Load diff
1328
nrpc_db/reserve/pc_parts_new 20210526 0259.sql
Normal file
1328
nrpc_db/reserve/pc_parts_new 20210526 0259.sql
Normal file
File diff suppressed because it is too large
Load diff
1328
nrpc_db/reserve/pc_parts_new 20210526 0349.sql
Normal file
1328
nrpc_db/reserve/pc_parts_new 20210526 0349.sql
Normal file
File diff suppressed because it is too large
Load diff
BIN
nrpc_db/schema.png
Normal file
BIN
nrpc_db/schema.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 207 KiB |
51
nrpc_site/admin/index.php
Normal file
51
nrpc_site/admin/index.php
Normal file
|
@ -0,0 +1,51 @@
|
|||
<?php
|
||||
include '../config.php';
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<?php if (isset($_COOKIE['is_admin'])) { ?>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Админ - главная</title>
|
||||
<link href="../style.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="header">
|
||||
<ul id="nav">
|
||||
<li><a href="../index.php">Вернуться на сайт</a></li>
|
||||
<li><a href="parts.php">Товары</a></li>
|
||||
<li><a href="orders.php">Заказы</a></li>
|
||||
<li><a href="users.php">Пользователи</a></li>
|
||||
<li><a href="shops.php">Магазины и поставщики</a></li>
|
||||
<li class="active"><a href="index.php">На главную</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="masthead">
|
||||
<h2>Администраторская панель</h2>
|
||||
|
||||
</div>
|
||||
<div id="blue-bar">
|
||||
|
||||
</div>
|
||||
<div id="main">
|
||||
<div id='content'>
|
||||
<h1>Вы попали в администраторску панель</h1>
|
||||
<h2>Данная панель предназначена для управления базой данных через сайт</h2>
|
||||
<h3>Выберите один из разделов в верхнем правом углу страницы, чтобы приступить к администрированию</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<h1>Контакты</h1>
|
||||
<h2>Связаться с нами можно по телефону: +7 (997) 190-55-05</h2>
|
||||
<h2>Наш офис находится по адресу: ул. Амбаторный, д. 134</h2>
|
||||
<h3><a href="https://vk.com/id369980463">Разработчик сайта</a></h3>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<?php } else { ?>
|
||||
<h2>В доступе отказано</br>
|
||||
<a href="../index.php">На главную</a>
|
||||
</h2>
|
||||
<?php } ?>
|
||||
</html>
|
58
nrpc_site/admin/order_info.php
Normal file
58
nrpc_site/admin/order_info.php
Normal file
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
include '../config.php';
|
||||
include '../code/order_info_code.php'
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<?php if (isset($_COOKIE['is_admin'])) { ?>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Подробности</title>
|
||||
<link href="../style.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<script src="../code/js_code.js"></script>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="header">
|
||||
<ul id="nav">
|
||||
<li><a href="../index.php">Вернуться на сайт</a></li>
|
||||
<li><a href="parts.php">Товары</a></li>
|
||||
<li><a href="orders.php">Заказы</a></li>
|
||||
<li><a href="users.php">Пользователи</a></li>
|
||||
<li><a href="shops.php">Магазины и поставщики</a></li>
|
||||
<li><a href="index.php">На главную</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="masthead">
|
||||
<h2>Информация о заказе <?= $id ?></h2>
|
||||
</div>
|
||||
<div id="blue-bar">
|
||||
|
||||
</div>
|
||||
<div id="main">
|
||||
<div id="content">
|
||||
<?php showOrdInfo($con); ?>
|
||||
<?php partsOrder($con); ?></br></br>
|
||||
<form name='order_change' method='get' action="order_info.php?ord_id=<?= $id ?>">
|
||||
<input class='btn' name='finish' type='submit' value='Завершить заказ'/>
|
||||
<input class='btn' name='cancel' type='submit' value='Отменить заказ'/>
|
||||
<input type="hidden" name="ord_id" value=<?= $id ?> />
|
||||
</form>
|
||||
</br></br>
|
||||
<div clas="txt"><b><?= $saved ?></b></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<h1>Контакты</h1>
|
||||
<h2>Связаться с нами можно по телефону: +7 (997) 190-55-05</h2>
|
||||
<h2>Наш офис находится по адресу: ул. Амбаторный, д. 134</h2>
|
||||
<h3><a href="https://vk.com/id369980463">Разработчик сайта</a></h3>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<?php } else { ?>
|
||||
<h2>В доступе отказано</br>
|
||||
<a href="../index.php">На главную</a>
|
||||
</h2>
|
||||
<?php } ?>
|
||||
</html>
|
60
nrpc_site/admin/orders.php
Normal file
60
nrpc_site/admin/orders.php
Normal file
|
@ -0,0 +1,60 @@
|
|||
<?php
|
||||
include '../config.php';
|
||||
include '../code/orders_code.php'
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<?php if (isset($_COOKIE['is_admin'])) { ?>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Админ - заказы</title>
|
||||
<link href="../style.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<script src="../code/js_code.js"></script>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="header">
|
||||
<ul id="nav">
|
||||
<li><a href="../index.php">Вернуться на сайт</a></li>
|
||||
<li><a href="parts.php">Товары</a></li>
|
||||
<li class="active"><a href="#">Заказы</a></li>
|
||||
<li><a href="users.php">Пользователи</a></li>
|
||||
<li><a href="index.php">На главную</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="masthead">
|
||||
<h2>Заказы</h2>
|
||||
<h3>Поиск заказов, возможность отменять или завершать заказы</h3>
|
||||
</div>
|
||||
<div id="blue-bar">
|
||||
|
||||
</div>
|
||||
<div id="main">
|
||||
<div id="content">
|
||||
<h2>Поиск и изменение существующих заказов:</h2></br>
|
||||
<form name="orders_modify" method="get" action="orders.php">
|
||||
<div class='txt'>
|
||||
Номер: <input class='filter' type="text" name="orders_id" value="<?= $data[0] ?>"/></br></br>
|
||||
Пользователь: <input class='filter' type="text" name="orders_name" value="<?= $data[1] ?>"/></br></br>
|
||||
Магазин: <?php echo selectShops($con, 'orders_shop', $data[2]); ?></br></br>
|
||||
Статус: <?php echo selectStatus($con, 'orders_status', $data[3]); ?></br></br>
|
||||
<input class='btn' type="submit" name="orders_show" value="Показать заказы"/></br></br>
|
||||
</div>
|
||||
<?php showOrders($con); ?>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<h1>Контакты</h1>
|
||||
<h2>Связаться с нами можно по телефону: +7 (997) 190-55-05</h2>
|
||||
<h2>Наш офис находится по адресу: ул. Амбаторный, д. 134</h2>
|
||||
<h3><a href="https://vk.com/id369980463">Разработчик сайта</a></h3>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<?php } else { ?>
|
||||
<h2>В доступе отказано</br>
|
||||
<a href="../index.php">На главную</a>
|
||||
</h2>
|
||||
<?php } ?>
|
||||
</html>
|
84
nrpc_site/admin/parts.php
Normal file
84
nrpc_site/admin/parts.php
Normal file
|
@ -0,0 +1,84 @@
|
|||
<?php
|
||||
include '../config.php';
|
||||
include '../code/parts_shopping_code.php';
|
||||
include '../code/parts_code.php';
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<?php if (isset($_COOKIE['is_admin'])) { ?>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Админ - товары</title>
|
||||
<link href="../style.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<script src="../code/js_code.js"></script>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="header">
|
||||
<ul id="nav">
|
||||
<li><a href="../index.php">Вернуться на сайт</a></li>
|
||||
<li class="active"><a href="#">Товары</a></li>
|
||||
<li><a href="orders.php">Заказы</a></li>
|
||||
<li><a href="users.php">Пользователи</a></li>
|
||||
<li><a href="index.php">На главную</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="masthead">
|
||||
<h2>Товары</h2>
|
||||
<h3>Возможность модифицировать и добавлять товары</h3>
|
||||
</div>
|
||||
<div id="blue-bar">
|
||||
|
||||
</div>
|
||||
<div id="main">
|
||||
<div id="content">
|
||||
<h2>Поиск и изменение существующих комплектующих:</h2></br>
|
||||
<div class='txt'>
|
||||
<form name="parts_modify" method="get" action="parts.php">
|
||||
Артикул: <input class='filter' type="text" name="parts_upc" value="<?= $data[0] ?>"/></br></br>
|
||||
Наименование: <input class='filter' type="text" name="parts_name" value="<?= $data[1] ?>"/></br></br>
|
||||
Стоимость от: <input class='filter' type="number" name="parts_price_bottom" min="0" max="1000000" step="100" value="<?= $data[2] ?>"/>
|
||||
до: <input class='filter' type="number" name="parts_price_upper" min="0" max="1000000" step="100" value="<?= $data[3] ?>"/> рублей</br></br>
|
||||
<?php
|
||||
$categories = getCategories($con);
|
||||
$suppliers = getSuppliers($con);
|
||||
echo 'Категория: ' . selectCategory($categories, $data[4], 'parts_categorys', true) . '</br></br>';
|
||||
echo 'Поставщик: ' . selectSupplier($suppliers, $data[5], 'parts_suppliers', true);
|
||||
?></br></br>
|
||||
<input class='btn' type="submit" name="parts_show" value="Показать товары"/>
|
||||
</form></div>
|
||||
</br></br>
|
||||
<?php showParts($con); ?></br></br>
|
||||
<h2>Добавление новых комплектующих:</h2></br>
|
||||
<div class="txt">
|
||||
<form enctype="multipart/form-data" name="part_add" method="post" action="parts.php">
|
||||
Артикул: <input class='filter' type="text" name="part_add_upc"/>
|
||||
Наименование: <input class='filter' type="text" name="part_add_name"/></br></br>
|
||||
Стоимость: <input class='filter' type="number" name="part_add_price" min="0.00" max="1000000.00" step="0.01" value="0.00"/> рублей</br></br>
|
||||
<?php
|
||||
echo 'Категория: ' . selectCategory($categories, 1, 'part_add_categorys', false);
|
||||
echo 'Поставщик: ' . selectSupplier($suppliers, 1, 'part_add_suppliers', false);
|
||||
?>
|
||||
</br></br>
|
||||
Описание: <textarea rows="10" cols="100" name="part_add_description"></textarea></br></br>
|
||||
Изображение: <input type="file" name="part_add_image" accept="image/jpeg"/></br></br>
|
||||
<input class='btn' type="submit" name="add_part" value="Добавить товар"/>
|
||||
<?php addPart($con); ?>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<h1>Контакты</h1>
|
||||
<h2>Связаться с нами можно по телефону: +7 (997) 190-55-05</h2>
|
||||
<h2>Наш офис находится по адресу: ул. Амбаторный, д. 134</h2>
|
||||
<h3><a href="https://vk.com/id369980463">Разработчик сайта</a></h3>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<?php } else { ?>
|
||||
<h2>В доступе отказано</br>
|
||||
<a href="../index.php">На главную</a>
|
||||
</h2>
|
||||
<?php } ?>
|
||||
</html>
|
69
nrpc_site/admin/stock.php
Normal file
69
nrpc_site/admin/stock.php
Normal file
|
@ -0,0 +1,69 @@
|
|||
<?php
|
||||
include '../config.php';
|
||||
include '../code/parts_shopping_code.php';
|
||||
include '../code/parts_code.php';
|
||||
include '../code/stock_code.php';
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<?php if (isset($_COOKIE['is_admin'])) { ?>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Подробности</title>
|
||||
<link href="../style.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="header">
|
||||
<ul id="nav">
|
||||
<li><a href="../index.php">Вернуться на сайт</a></li>
|
||||
<li><a href="parts.php">Товары</a></li>
|
||||
<li><a href="orders.php">Заказы</a></li>
|
||||
<li><a href="users.php">Пользователи</a></li>
|
||||
<li><a href="index.php">На главную</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="masthead">
|
||||
<h2>Подробности о <?= $name ?></h2>
|
||||
</div>
|
||||
<div id="blue-bar">
|
||||
|
||||
</div>
|
||||
<div id="main">
|
||||
<div id="content">
|
||||
<h2>Общая информация</h2></br>
|
||||
<div class='txt'>
|
||||
<form enctype="multipart/form-data" name="form_info" method="post" action="stock.php">
|
||||
Артикул: <input class='filter' type="text" name="part_upc" value="<?= $upc ?>"/></br></br>
|
||||
Наименование: <input class='filter' type="text" name="part_name" value="<?= $name ?>"/></br></br>
|
||||
Стоимость: <input class='filter' type="number" name="part_price" min="0.00" max="1000000.00" step="0.01" value="<?= $price ?>"/> рублей</br></br>
|
||||
<?php
|
||||
echo 'Категория: ' . selectCategory($categories, $category, 'part_category', false) . '</br></br>';
|
||||
echo 'Поставщик: ' . selectSupplier($suppliers, $supplier, 'part_supplier', false) . '</br></br>';
|
||||
?>
|
||||
Описание: <textarea rows="10" cols="100" name="part_description"><?= $description ?></textarea></br></br>
|
||||
Изображение: <img src="../images/parts/<?= $file ?>" height="200px"/><input type=hidden name="prev_img" value="<?= $file ?>"/></br></br>
|
||||
<input type="file" name="part_image" accept="image/jpeg"/></br></br>
|
||||
<input type="hidden" name="part_id" value="<?= $id ?>"/>
|
||||
<h2>Наличие в магазинах</h2></br>
|
||||
<?php displayStock($con, $id); ?>
|
||||
<input class='btn' type="submit" name="part_save" value="Сохранить внесенные изменения"/>
|
||||
<?php saveSucces(); ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<h1>Контакты</h1>
|
||||
<h2>Связаться с нами можно по телефону: +7 (997) 190-55-05</h2>
|
||||
<h2>Наш офис находится по адресу: ул. Амбаторный, д. 134</h2>
|
||||
<h3><a href="https://vk.com/id369980463">Разработчик сайта</a></h3>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<?php } else { ?>
|
||||
<h2>В доступе отказано</br>
|
||||
<a href="../index.php">На главную</a>
|
||||
</h2>
|
||||
<?php } ?>
|
||||
</html>
|
56
nrpc_site/admin/user_info.php
Normal file
56
nrpc_site/admin/user_info.php
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
include '../config.php';
|
||||
include '../code/user_info_code.php';
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<?php if (isset($_COOKIE['is_admin'])) { ?>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Админ - пользователи</title>
|
||||
<link href="../style.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<script src="../code/js_code.js"></script>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="header">
|
||||
<ul id="nav">
|
||||
<li><a href="../index.php">Вернуться на сайт</a></li>
|
||||
<li><a href="parts.php">Товары</a></li>
|
||||
<li><a href="orders.php">Заказы</a></li>
|
||||
<li><a href="users.php">Пользователи</a></li>
|
||||
<li><a href="index.php">На главную</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="masthead">
|
||||
<h2>Информация о пользователе <?= $id ?></h2>
|
||||
</div>
|
||||
<div id="blue-bar">
|
||||
|
||||
</div>
|
||||
<div id="main">
|
||||
<div id='content'>
|
||||
<div class='txt'>
|
||||
<form name='user_change' method='get' action='user_info.php'>
|
||||
<?php showUserInfo($con); ?></br></br>
|
||||
<?= $saved ?></br></br>
|
||||
<h2>Заказы пользователя</h2>
|
||||
<?php showOrders($con); ?>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<h1>Контакты</h1>
|
||||
<h2>Связаться с нами можно по телефону: +7 (997) 190-55-05</h2>
|
||||
<h2>Наш офис находится по адресу: ул. Амбаторный, д. 134</h2>
|
||||
<h3><a href="https://vk.com/id369980463">Разработчик сайта</a></h3>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<?php } else { ?>
|
||||
<h2>В доступе отказано</br>
|
||||
<a href="../index.php">На главную</a>
|
||||
</h2>
|
||||
<?php } ?>
|
||||
</html>
|
64
nrpc_site/admin/users.php
Normal file
64
nrpc_site/admin/users.php
Normal file
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
include '../config.php';
|
||||
include '../code/users_code.php';
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<?php if (isset($_COOKIE['is_admin'])) { ?>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Админ - пользователи</title>
|
||||
<link href="../style.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<script src="../code/js_code.js"></script>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="header">
|
||||
<ul id="nav">
|
||||
<li><a href="../index.php">Вернуться на сайт</a></li>
|
||||
<li><a href="parts.php">Товары</a></li>
|
||||
<li><a href="orders.php">Заказы</a></li>
|
||||
<li class="active"><a href="#">Пользователи</a></li>
|
||||
<li><a href="index.php">На главную</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="masthead">
|
||||
<h2>Пользователи</h2>
|
||||
<h3>Поиск информации о пользователях, возможность сделать пользователя админом</h3>
|
||||
</div>
|
||||
<div id="blue-bar">
|
||||
|
||||
</div>
|
||||
<div id="main">
|
||||
<div id='content'>
|
||||
<h2>Поиск пользователей</h2>
|
||||
<div class='txt'>
|
||||
<form name='user_find' method='get' action='users.php'>
|
||||
Логин: <input class='filter' name='user_login' type='text' value='<?= $data[0] ?>' /></br></br>
|
||||
Номер телефона: <input class='filter' name='user_phone' type='text' value='<?= $data[1] ?>' /></br></br>
|
||||
Эл. почта: <input class='filter' name='user_email' type='text' value='<?= $data[2] ?>' /></br></br>
|
||||
Админ: <select class='filter' name='user_admin'>
|
||||
<option value='-1'>Все</option>
|
||||
<option value='0'>Нет</option>
|
||||
<option value='1'>Да</option>
|
||||
</select></br></br>
|
||||
<input class='btn' name='show_users' type='submit' value='Показать пользователей'/></br></br>
|
||||
</form>
|
||||
</div>
|
||||
<?php showUsers($con); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<h1>Контакты</h1>
|
||||
<h2>Связаться с нами можно по телефону: +7 (997) 190-55-05</h2>
|
||||
<h2>Наш офис находится по адресу: ул. Амбаторный, д. 134</h2>
|
||||
<h3><a href="https://vk.com/id369980463">Разработчик сайта</a></h3>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<?php } else { ?>
|
||||
<h2>В доступе отказано</br>
|
||||
<a href="../index.php">На главную</a>
|
||||
</h2>
|
||||
<?php } ?>
|
||||
</html>
|
52
nrpc_site/code/cart_code.php
Normal file
52
nrpc_site/code/cart_code.php
Normal file
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
|
||||
if (!isset($_COOKIE['cart'])) {
|
||||
header('Location: ../index.php');
|
||||
exit();
|
||||
}
|
||||
|
||||
function showCartParts($con) {
|
||||
$ids = '';
|
||||
$cart_parts = explode('.', $_COOKIE['cart']);
|
||||
echo "<form name='make_order' method='post' action='order.php'>";
|
||||
foreach ($cart_parts as $id) {
|
||||
if (is_numeric($id)) {
|
||||
if (isset($_COOKIE['login'])) {
|
||||
$login = $_COOKIE['login'];
|
||||
$sql = "SELECT getUserShop('$login') AS 'result';";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$shop = $r['result'];
|
||||
$flag = true;
|
||||
}
|
||||
$sql = "CALL partInfo($id, $shop)";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$name = $r['name'];
|
||||
$price = $r['price'];
|
||||
$image = $r['image'];
|
||||
$in_stock = $r['in_stock'];
|
||||
if ($in_stock > 0) {
|
||||
echo "<div class='partcart' id='part_entry$id'>"
|
||||
. "<a href='part.php?part_id=$id'><img src='../images/parts/$image'/></a>"
|
||||
. "<a href='part.php?part_id=$id'>$name</a>"
|
||||
. "<div class='cart_price' id='price_display$id'>$price ₽</div>"
|
||||
. "<div class='cart_stock'>В наличии <b>$in_stock</b> шт.</div>"
|
||||
. "<div class='count'><button type='button' class='input_btn' id='down$id' onclick='down($id)'>-</button> "
|
||||
. "<input class='input_value' id='value$id' name='count$id' value='1' min=1 type='number' max=$in_stock readonly></input> "
|
||||
. "<button type='button' class='input_btn' id='up$id' onclick='up($id)'>+</button></div>"
|
||||
. "<input type=hidden id='price$id' value=$price />"
|
||||
. "</div>";
|
||||
} else
|
||||
echo "<script>removeFromCart($id);</script>";
|
||||
while (mysqli_more_results($con))
|
||||
mysqli_next_result($con);
|
||||
}
|
||||
}
|
||||
if (isset($flag)) {
|
||||
$ids = substr($_COOKIE['cart'], 2);
|
||||
echo "<input id='make_order' class='btn' type='submit' name='order' value='Оформить заказ'/><input type=hidden name='part_ids' value='$ids'/>";
|
||||
} else
|
||||
echo 'Ваша корзина пуста, зайдите в <a href="shopping.php">каталог</a> и выберите товары для покупки';
|
||||
echo '</form>';
|
||||
}
|
14
nrpc_site/code/exit_handle.php
Normal file
14
nrpc_site/code/exit_handle.php
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?php
|
||||
|
||||
if (isset($_REQUEST['exit']) && isset($_COOKIE['login'])) {
|
||||
$login = $_COOKIE['login'];
|
||||
$cart = $_COOKIE['cart'];
|
||||
$sql = "SELECT saveCart('$login', '$cart');";
|
||||
$query = mysqli_query($con, $sql);
|
||||
unset($_COOKIE['cart']);
|
||||
setcookie('cart', null, time() - 3600, '/');
|
||||
unset($_COOKIE['login']);
|
||||
setcookie('login', null, time() - 3600, '/');
|
||||
unset($_COOKIE['is_admin']);
|
||||
setcookie('is_admin', null, time() - 3600, '/');
|
||||
}
|
127
nrpc_site/code/js_code.js
Normal file
127
nrpc_site/code/js_code.js
Normal file
|
@ -0,0 +1,127 @@
|
|||
function addToCart(id) {
|
||||
var cookies = document.cookie;
|
||||
var arr = cookies.split(';');
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
var tmp = arr[i].trim().split('=');
|
||||
if (tmp[0] === 'cart') {
|
||||
if (tmp[1].includes(id))
|
||||
break;
|
||||
var new_cookie = tmp[0] + "=" + tmp[1] + "." + id + "; " + "path=/;";
|
||||
document.cookie = new_cookie;
|
||||
break;
|
||||
}
|
||||
}
|
||||
var btn = document.getElementById('buy_part' + id);
|
||||
btn.value = 'В корзине';
|
||||
btn.setAttribute("onClick", "removeFromCart(" + id + ");");
|
||||
btn.setAttribute("class", "incart");
|
||||
cartCount();
|
||||
}
|
||||
|
||||
function removeFromCart(id) {
|
||||
var cookies = document.cookie;
|
||||
var arr = cookies.split(';');
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
var tmp = arr[i].trim().split('=');
|
||||
if (tmp[0] === 'cart') {
|
||||
var ids = tmp[1].split('.');
|
||||
var result = '';
|
||||
for (var j = 0; j < ids.length; j++)
|
||||
if (ids[j] != id)
|
||||
result += '.' + ids[j];
|
||||
result = result.substring(1, result.length);
|
||||
var new_cookie = tmp[0] + '=' + result + ';' + 'path=/;';
|
||||
document.cookie = new_cookie;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!cartCount()) {
|
||||
var tmp = document.getElementById('cart');
|
||||
if (tmp !== null)
|
||||
tmp.innerHTML = 'Ваша корзина пуста, зайдите в <a href="shopping.php">каталог</a> и выберите товары для покупки';
|
||||
}
|
||||
var btn = document.getElementById('buy_part' + id);
|
||||
if (btn !== null) {
|
||||
btn.value = 'Купить';
|
||||
btn.setAttribute("onClick", "addToCart(" + id + ");");
|
||||
btn.setAttribute("class", "buy");
|
||||
}
|
||||
}
|
||||
|
||||
function askLogin() {
|
||||
alert('Для покупки комплектующих требуется войти в свой аккаунт');
|
||||
}
|
||||
|
||||
function cartCount() {
|
||||
var notif = document.getElementById('notif');
|
||||
var cart = document.cookie;
|
||||
var arr = cart.split(' ');
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
var tmp = arr[i].split('=');
|
||||
if (tmp[0] === 'cart') {
|
||||
var prev_result = tmp[1].substring(0, tmp[1].length - 1);
|
||||
var ids = prev_result.split('.');
|
||||
var count = ids.length - 1;
|
||||
if (count > 0) {
|
||||
notif.textContent = '•';
|
||||
notif.style.visibility = 'visible';
|
||||
return true;
|
||||
} else {
|
||||
notif.style.visibility = 'hidden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function specifyShop() {
|
||||
alert('Для покупки комплектующих требуется указать магазин в разделе "Профиль"');
|
||||
}
|
||||
|
||||
function up(id) {
|
||||
var counter = document.getElementById('value' + id);
|
||||
counter.stepUp(1);
|
||||
var count = parseInt(counter.value);
|
||||
var price = document.getElementById('price' + id);
|
||||
var float_price = parseFloat(price.value);
|
||||
var result = (count * float_price).toFixed(2) + " ₽";
|
||||
document.getElementById('price_display' + id).textContent = result;
|
||||
}
|
||||
|
||||
function down(id) {
|
||||
var counter = document.getElementById('value' + id);
|
||||
if (counter.value === '1') {
|
||||
var conf = confirm('Убрать данный товар из корзины?');
|
||||
if (conf) {
|
||||
var part = document.getElementById('part_entry' + id);
|
||||
part.parentNode.removeChild(part);
|
||||
var btn = document.getElementById('make_order');
|
||||
btn.parentNode.removeChild(btn);
|
||||
removeFromCart(id);
|
||||
}
|
||||
return;
|
||||
}
|
||||
counter.stepDown(1);
|
||||
var count = parseInt(counter.value);
|
||||
var price = document.getElementById('price' + id);
|
||||
var float_price = parseFloat(price.value);
|
||||
var result = (count * float_price).toFixed(2) + " ₽";
|
||||
document.getElementById('price_display' + id).textContent = result;
|
||||
}
|
||||
|
||||
function checkCartEmpty() {
|
||||
var cart = document.cookie;
|
||||
var arr = cart.split(' ');
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
var tmp = arr[i].split('=');
|
||||
if (tmp[0] === 'cart') {
|
||||
if (tmp[1].length < 3)
|
||||
return;
|
||||
}
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
function openWindow(link) {
|
||||
window.open(link);
|
||||
}
|
37
nrpc_site/code/login_code.php
Normal file
37
nrpc_site/code/login_code.php
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
|
||||
$msg = "Неверный логин или пароль</br>";
|
||||
$error = false;
|
||||
|
||||
if (isset($_COOKIE['login'])) {
|
||||
header('Location: ../index.php');
|
||||
exit();
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['sub'])) {
|
||||
$login = $_REQUEST['login'];
|
||||
$password = $_REQUEST['password'];
|
||||
$func = 'result';
|
||||
|
||||
$sql = "SELECT handleLogin('$login', '$password') AS '$func';";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$result = $r["$func"];
|
||||
|
||||
if ($result != '0') {
|
||||
setcookie('login', $login, 0, '/');
|
||||
setcookie('cart', $result, 0, '/');
|
||||
|
||||
$sql = "SELECT isUserAdmin('$login') AS '$func';";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$result = $r["$func"];
|
||||
if ($result == 1)
|
||||
setcookie('is_admin', $result, 0, '/');
|
||||
|
||||
header('Location: ../index.php');
|
||||
exit();
|
||||
} else {
|
||||
$error = true;
|
||||
}
|
||||
}
|
85
nrpc_site/code/order_code.php
Normal file
85
nrpc_site/code/order_code.php
Normal file
|
@ -0,0 +1,85 @@
|
|||
<?php
|
||||
|
||||
if (isset($_REQUEST['part_ids']))
|
||||
setcookie('cart', '_', 0, '/');
|
||||
|
||||
require_once '../dompdf/autoload.inc.php';
|
||||
|
||||
use Dompdf\Dompdf;
|
||||
|
||||
function orderConfirmed($con) {
|
||||
if (isset($_REQUEST['part_ids'])) {
|
||||
$login = $_COOKIE['login'];
|
||||
$sql = "SELECT createNewOrd('$login') AS 'result';";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$ord_id = $r['result'];
|
||||
$ids = explode('.', $_REQUEST['part_ids']);
|
||||
$sql = "CALL ordInfo($ord_id);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$shop = $r['shop'];
|
||||
$date = $r['date'];
|
||||
$address = $r['address'];
|
||||
while (mysqli_more_results($con))
|
||||
mysqli_next_result($con);
|
||||
$i = 0;
|
||||
$sum = 0;
|
||||
$dompdf = new Dompdf();
|
||||
$html = '';
|
||||
$html .= "<style type='text/css'>html * { font-family: DejaVu Sans; }"
|
||||
. "table { text-align: center; font-size: 12px; }</style>";
|
||||
$html .= "<h2>Чек к заказку $ord_id от $date</h2></br></br><table border='1px'>";
|
||||
$html .= "<tr><td>Номер</td><td>Артикул</td><td>Наименование</td><td>Цена</td><td>Кол-во</td><td>Стоимость</td></tr>";
|
||||
foreach ($ids as $id) {
|
||||
$count = $_REQUEST["count$id"];
|
||||
$sql = "SELECT modifyOrder($ord_id, $id, $count) AS 'result';";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
if ($r['result'] != 1) {
|
||||
echo 'Ошибка при создании заказа';
|
||||
return;
|
||||
}
|
||||
$sql = "CALL partInfo($id, 0);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$price = $r['price'];
|
||||
$price_dec = number_format($price, 2, '.', ' ');
|
||||
$upc = $r['upc'];
|
||||
$name = $r['name'];
|
||||
$sum_dec = number_format($price * $count, 2, '.', ' ');
|
||||
$index = $i + 1;
|
||||
$html .= "<tr><td>$index</td><td>$upc</td><td>$name</td><td>$price_dec</td><td>$count</td><td>$sum_dec</td></tr>";
|
||||
$i++;
|
||||
$sum += $price * $count;
|
||||
while (mysqli_more_results($con))
|
||||
mysqli_next_result($con);
|
||||
}
|
||||
$sum_final = number_format($sum, 2, '.', ' ');
|
||||
$html .= "</table><h3>Итого: $sum_final рублей</h3></br></br><h4>Заказ готов к выдаче и ждет оплаты в магазине $shop по адресу $address</h4>";
|
||||
$sql = "SELECT saveCart('$login', '_');";
|
||||
$query = mysqli_query($con, $sql);
|
||||
// $sql = "SELECT getEmail('$login') AS 'email';";
|
||||
// $query = mysqli_query($con, $sql);
|
||||
// $r = mysqli_fetch_assoc($query);
|
||||
// $email = $r['email'];
|
||||
// $headers = "From: nrpc <nrpc@nrpc.ru>\n";
|
||||
// $headers .= "Cc: nrpc <nrpc@nrpc.ru>\n";
|
||||
// $headers .= "X-Sender: nrpc <nrpc@nrpc.ru>\n";
|
||||
// $headers .= 'X-Mailer: PHP/' . phpversion();
|
||||
// $headers .= "X-Priority: 1\n";
|
||||
// $headers .= "Return-Path: nrpc@nrpc.ru\n";
|
||||
// $headers .= "MIME-Version: 1.0\r\n";
|
||||
// $headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
|
||||
// $res = mail($email, 'Заказ', 'Заказ успешно оформлен!', $headers);
|
||||
$dompdf->load_html($html);
|
||||
$dompdf->render();
|
||||
$output = $dompdf->output();
|
||||
file_put_contents("../receipt/$ord_id.pdf", $output);
|
||||
$link = '"downloadReceipt.php?ord=' . $ord_id . '"';
|
||||
echo "Ваш заказ успешно офрмлен!</br></br><button class='btn' type='button' onclick='location.href=" . $link . "'>Скачать чек</button>";
|
||||
} else {
|
||||
header('Location: ../index.php');
|
||||
exit();
|
||||
}
|
||||
}
|
73
nrpc_site/code/order_info_code.php
Normal file
73
nrpc_site/code/order_info_code.php
Normal file
|
@ -0,0 +1,73 @@
|
|||
<?php
|
||||
|
||||
if (isset($_REQUEST['ord_id']))
|
||||
$id = $_REQUEST['ord_id'];
|
||||
else {
|
||||
header('Location: index.php');
|
||||
exit();
|
||||
}
|
||||
|
||||
$saved = '';
|
||||
|
||||
if (isset($_REQUEST['finish'])) {
|
||||
$sql = "SELECT ordStatus($id, 4) AS 'result';";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
if ($r['result'] == 1)
|
||||
$saved = '<span style="color:#008000;">Заказ был успешно завершен!</span>';
|
||||
else
|
||||
$saved = '<span style="color:#FF0000;">Ошибка при завершении заказа!</span>';
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['cancel'])) {
|
||||
$sql = "SELECT ordStatus($id, 3) AS 'result';";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
if ($r['result'] == 1)
|
||||
$saved = '<span style="color:#008000;">Заказ был успешно отменен!</span>';
|
||||
else
|
||||
$saved = '<span style="color:#FF0000;">Ошибка при отмене заказа!</span>';
|
||||
}
|
||||
|
||||
function showOrdInfo($con) {
|
||||
global $id;
|
||||
$sql = "CALL ordInfo($id);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$login = $r['login'];
|
||||
$shop = $r['shop'];
|
||||
$address = $r['address'];
|
||||
$status = $r['status'];
|
||||
$date = $r['date'];
|
||||
echo "<div class='txt'><form name='order_info' method='post' action='order_info.php'><table>"
|
||||
. "<tr><td>Пользователь: </td><td>$login</td></tr>"
|
||||
. "<tr><td>Магазин: </td><td>$shop ($address)</td></tr>"
|
||||
. "<tr><td>Дата: </td><td>$date</td></tr>"
|
||||
. "<tr><td>Статус: </td><td>$status</td></tr>"
|
||||
. "</table></div></br></br>";
|
||||
while (mysqli_more_results($con))
|
||||
mysqli_next_result($con);
|
||||
}
|
||||
|
||||
function partsOrder($con) {
|
||||
global $id;
|
||||
echo "<form name='part_order' method='get' action='order_info.php'><table border='1px'>"
|
||||
. "<tr><td>Артикул</td><td>Наименование</td><td>Цена</td><td>Кол-во</td><td>Стоимость</td></tr>";
|
||||
$sql = "CALL ordGetParts($id)";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$sum = 0;
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$part_id = $r['id'];
|
||||
$upc = $r['upc'];
|
||||
$name = $r['name'];
|
||||
$price = $r['price'];
|
||||
$count = $r['count'];
|
||||
$cost = $price * $count;
|
||||
$sum += $cost;
|
||||
$cost = number_format($cost, 2, '.', ' ');
|
||||
echo "<tr><td>$upc</td><td><a href='../pages/part.php?part_id=$part_id'>$name</a></td><td>$price</td><td>$count</td><td>$cost</td></tr>";
|
||||
}
|
||||
$link = '"../pages/downloadReceipt.php?ord=' . $id . '"';
|
||||
$sum = number_format($sum, 2, '.', ' ');
|
||||
echo "</table></br><b style='font-size: 24px; margin-right: 20px;'>Итого: $sum рублей</b> <button class='btn' type='button' onclick='location.href=" . $link . "'>Скачать чек</button></form>";
|
||||
}
|
80
nrpc_site/code/orders_code.php
Normal file
80
nrpc_site/code/orders_code.php
Normal file
|
@ -0,0 +1,80 @@
|
|||
<?php
|
||||
|
||||
$data = ['', '', 0, 0];
|
||||
|
||||
if (isset($_REQUEST['orders_show'])) {
|
||||
$data[0] = $_REQUEST['orders_id'];
|
||||
$data[1] = $_REQUEST['orders_name'];
|
||||
$data[2] = $_REQUEST['orders_shop'];
|
||||
$data[3] = $_REQUEST['orders_status'];
|
||||
}
|
||||
|
||||
function selectShops($con, $sel, $def) {
|
||||
$result = '';
|
||||
$result .= "<select class='filter' name='$sel'>";
|
||||
if ($def == 0)
|
||||
$result .= "<option value=$def>Не выбран</option>";
|
||||
$sql = "SELECT * FROM get_shops;";
|
||||
$query = mysqli_query($con, $sql);
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$id = $r['id'];
|
||||
$name = $r['name'];
|
||||
$selected = $def == $id ? 'selected' : '';
|
||||
$result .= "<option value=$id $selected>$name</option>";
|
||||
}
|
||||
$result .= '</select>';
|
||||
return $result;
|
||||
}
|
||||
|
||||
function selectStatus($con, $sel, $def) {
|
||||
$result = '';
|
||||
$result .= "<select class='filter' name='$sel'>";
|
||||
if ($def == 0)
|
||||
$result .= "<option value=$def>Не выбран</option>";
|
||||
$sql = "SELECT * FROM get_status;";
|
||||
$query = mysqli_query($con, $sql);
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$id = $r['id'];
|
||||
$name = $r['name'];
|
||||
$selected = $def == $id ? 'selected' : '';
|
||||
$result .= "<option value=$id $selected>$name</option>";
|
||||
}
|
||||
$result .= '</select>';
|
||||
return $result;
|
||||
}
|
||||
|
||||
function showOrders($con) {
|
||||
if (isset($_REQUEST['orders_show'])) {
|
||||
global $data;
|
||||
$ord_id = $data[0];
|
||||
$ord_user = $data[1];
|
||||
$ord_shop = $data[2];
|
||||
$ord_status = $data[3];
|
||||
$sql = "CALL selectOrds('$ord_id', '$ord_user', $ord_shop, $ord_status);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
echo '<form name="parts_modify" method="post" action="parts.php"><table border=1px cellspacing=3px>'
|
||||
. '<tr><td><b>Номер</b></td>'
|
||||
. '<td><b>Пользователь</b></td>'
|
||||
. '<td><b>Магазин</b></td>'
|
||||
. '<td><b>Дата</b></td>'
|
||||
. '<td><b>Статус</b></td>'
|
||||
. '<td><b>Подробности</b></td></tr>';
|
||||
$host = $_SERVER['HTTP_HOST'];
|
||||
$link = "http://$host/admin/order_info.php?ord_id=";
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$id = $r['id'];
|
||||
$login = $r['login'];
|
||||
$shop = $r['shop'];
|
||||
$date = $r['date'];
|
||||
$status = $r['status'];
|
||||
$final_link = $link . $id;
|
||||
echo "<tr><td>$id</td>"
|
||||
. "<td>$login</td>"
|
||||
. "<td>$shop</td>"
|
||||
. "<td>$date</td>"
|
||||
. "<td>$status</td>"
|
||||
. "<td align='center'><input class='btn' type=button name='ord_info$id' value='Посмотреть' onclick='openWindow(" . '"' . $final_link . '"' . ");'/></td>";
|
||||
}
|
||||
echo '</table></br></br></form>';
|
||||
}
|
||||
}
|
74
nrpc_site/code/part_code.php
Normal file
74
nrpc_site/code/part_code.php
Normal file
|
@ -0,0 +1,74 @@
|
|||
<?php
|
||||
|
||||
$part_name = '';
|
||||
|
||||
function showPart($con) {
|
||||
global $part_name;
|
||||
if (isset($_REQUEST['part_id']))
|
||||
$id = $_REQUEST['part_id'];
|
||||
else {
|
||||
header('Location: ../index.php');
|
||||
exit();
|
||||
}
|
||||
if (isset($_COOKIE['login'])) {
|
||||
$login = $_COOKIE['login'];
|
||||
$sql = "SELECT getUserShop('$login') AS 'result';";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$shop = $r['result'];
|
||||
} else
|
||||
$shop = 0;
|
||||
$sql = "CALL partInfo($id, $shop);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$upc = $r['upc'];
|
||||
$name = $r['name'];
|
||||
$price = number_format($r['price'], 2, ',', ' ');
|
||||
$description = $r['description'];
|
||||
$image = $r['image'];
|
||||
$category = $r['category_name'];
|
||||
$supplier = $r['supplier_name'];
|
||||
$in_stock = $r['in_stock'];
|
||||
$btn_value = 'Нет в наличии';
|
||||
$disabled = 'disabled';
|
||||
$btn_id = 'out';
|
||||
if ($in_stock > 0) {
|
||||
$btn_value = 'Купить';
|
||||
$disabled = '';
|
||||
$btn_id = 'buy';
|
||||
}
|
||||
if (isset($_COOKIE['cart'])) {
|
||||
$cart = explode('.', $_COOKIE['cart']);
|
||||
$onclick = "addToCart($id);";
|
||||
if (in_array($id, $cart)) {
|
||||
$btn_value = 'В корзине';
|
||||
$btn_id = 'incart';
|
||||
$onclick = "removeFromCart($id);";
|
||||
}
|
||||
if ($shop == 0)
|
||||
$onclick = "specifyShop();";
|
||||
} else
|
||||
$onclick = "askLogin();";
|
||||
$part_name = $name;
|
||||
echo "<div id='part_display'>"
|
||||
. "<img src='../images/parts/$image'/>"
|
||||
. "<div id='display_name'>$name</div>"
|
||||
. "<div id='display_price'>$price ₽</div>"
|
||||
. "<input class='$btn_id' id='buy_part$id' type=button value='$btn_value' $disabled onclick='$onclick'/>"
|
||||
. "</div>"
|
||||
. "<h2>Описание:</h2><span id='description'>$description</span></br></br>"
|
||||
. "Код товара: $upc</br></br>";
|
||||
while (mysqli_more_results($con))
|
||||
mysqli_next_result($con);
|
||||
|
||||
$sql = "CALL partStock($id);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
echo '<h2>Наличие:</h2></br><table id="stock_table" cellpadding="8px">';
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$shop_name = $r['name'];
|
||||
$count = $r['count'];
|
||||
$address = $r['address'];
|
||||
echo "<tr><td>$shop_name: </td><td><b>$count шт.</b></td><td>($address)</td></tr>";
|
||||
}
|
||||
echo "</table>";
|
||||
}
|
98
nrpc_site/code/parts_code.php
Normal file
98
nrpc_site/code/parts_code.php
Normal file
|
@ -0,0 +1,98 @@
|
|||
<?php
|
||||
|
||||
$data = ['', '', 0.00, 1000000.00, 0, 0];
|
||||
$categories = getCategories($con);
|
||||
$suppliers = getSuppliers($con);
|
||||
|
||||
if (isset($_REQUEST['parts_show'])) {
|
||||
$upc = $_REQUEST['parts_upc'];
|
||||
$name = $_REQUEST['parts_name'];
|
||||
$price_bottom = $_REQUEST['parts_price_bottom'];
|
||||
$price_upper = $_REQUEST['parts_price_upper'];
|
||||
$category_id = $_REQUEST['parts_categorys'];
|
||||
$supplier_id = $_REQUEST['parts_suppliers'];
|
||||
$data[0] = $upc;
|
||||
$data[1] = $name;
|
||||
$data[2] = $price_bottom;
|
||||
$data[3] = $price_upper;
|
||||
$data[4] = $category_id;
|
||||
$data[5] = $supplier_id;
|
||||
}
|
||||
|
||||
function showParts($con) {
|
||||
if (isset($_REQUEST['parts_show'])) {
|
||||
global $data;
|
||||
$host = $_SERVER['HTTP_HOST'];
|
||||
$link = "http://$host/admin/stock.php?part_id=";
|
||||
$upc = $_REQUEST['parts_upc'];
|
||||
$name = $_REQUEST['parts_name'];
|
||||
$price_bottom = $_REQUEST['parts_price_bottom'];
|
||||
$price_upper = $_REQUEST['parts_price_upper'];
|
||||
$category_id = $_REQUEST['parts_categorys'];
|
||||
$supplier_id = $_REQUEST['parts_suppliers'];
|
||||
$data[0] = $upc;
|
||||
$data[1] = $name;
|
||||
$data[2] = $price_bottom;
|
||||
$data[3] = $price_upper;
|
||||
$data[4] = $category_id;
|
||||
$data[5] = $supplier_id;
|
||||
$category_arr = getCategories($con);
|
||||
$supplier_arr = getSuppliers($con);
|
||||
$sql = "CALL selectParts('$upc', '$name', $price_bottom, $price_upper, $category_id, $supplier_id);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
echo '<form name="parts_modify" method="post" action="parts.php"><table border=1px cellspacing=3px>'
|
||||
. '<tr><td><b>ID</b></td>'
|
||||
. '<td><b>Артикул</b></td>'
|
||||
. '<td><b>Наименование</b></td>'
|
||||
. '<td><b>Цена</b></td>'
|
||||
. '<td><b>Категория</b></td>'
|
||||
. '<td><b>Поставщик</b></td>'
|
||||
. '<td><b>Подробности</b></td></tr>';
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$id = $r['id'];
|
||||
$upc = $r['upc'];
|
||||
$name = $r['name'];
|
||||
$price = $r['price'];
|
||||
$category = $r['category'];
|
||||
$supplier = $r['supplier'];
|
||||
$final_link = $link . $id;
|
||||
echo "<tr><td>$id</td>"
|
||||
. "<td>$upc</td>"
|
||||
. "<td><a href='../pages/part.php?part_id=$id'>$name</a></td>"
|
||||
. "<td>$price</td>"
|
||||
. "<td>$category</td>"
|
||||
. "<td>$supplier</td>"
|
||||
. "<td align='center'><input class='btn' type=button name='stock$id' value='Посмотреть' onclick='openWindow(" . '"' . $final_link . '"' . ");'/></td>";
|
||||
}
|
||||
echo '</table></br></br></form>';
|
||||
}
|
||||
}
|
||||
|
||||
function addPart($con) {
|
||||
if (isset($_REQUEST['add_part'])) {
|
||||
$upc = $_REQUEST['part_add_upc'];
|
||||
$name = $_REQUEST['part_add_name'];
|
||||
$price = $_REQUEST['part_add_price'];
|
||||
$category = $_REQUEST['part_add_categorys'];
|
||||
$supplier = $_REQUEST['part_add_suppliers'];
|
||||
$description = $_REQUEST['part_add_description'];
|
||||
$path = $_FILES['part_add_image']['name'];
|
||||
$ext = pathinfo($path, PATHINFO_EXTENSION);
|
||||
$image = "$upc.$ext";
|
||||
$moveto = "../images/parts/$image";
|
||||
if (move_uploaded_file($_FILES['part_add_image']['tmp_name'], $moveto)) {
|
||||
if ($upc != '' && $name != '') {
|
||||
$sql = "SELECT addNewPart('$upc', '$name', $price, $category, $supplier, '$description', '$image') AS 'result';";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$result = $r['result'];
|
||||
if ($result == 1)
|
||||
echo '<span style="color:#008000;">Товар успешно добавлен!</span>';
|
||||
else
|
||||
echo '<span style="color:#FF0000;">Товар с таким артикулом уже существует!</span>';
|
||||
} else
|
||||
echo '<span style="color:#FF0000;">Заполнены не все поля!</span>';
|
||||
} else
|
||||
echo '<span style="color:#FF0000;">Ошибка при загрузке изображения!</span>';
|
||||
}
|
||||
}
|
61
nrpc_site/code/parts_shopping_code.php
Normal file
61
nrpc_site/code/parts_shopping_code.php
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?php
|
||||
|
||||
function getCategories($con) {
|
||||
$categories = [];
|
||||
$sql = "SELECT * FROM get_categories;";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$i = 0;
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$categories[$i][0] = $r['id'];
|
||||
$categories[$i][1] = $r['name'];
|
||||
$i++;
|
||||
}
|
||||
return $categories;
|
||||
}
|
||||
|
||||
function getSuppliers($con) {
|
||||
$suppliers = [];
|
||||
$sql = "SELECT * FROM get_suppliers;";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$i = 0;
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$suppliers[$i][0] = $r['id'];
|
||||
$suppliers[$i][1] = $r['name'];
|
||||
$i++;
|
||||
}
|
||||
return $suppliers;
|
||||
}
|
||||
|
||||
function selectCategory($arr, $def, $sel, $allowAll) {
|
||||
$result = "<select class='filter' name='$sel'>";
|
||||
$selected = '';
|
||||
if ($def == 0)
|
||||
$selected = 'selected';
|
||||
if ($allowAll == true)
|
||||
$result .= "<option value=0 $selected>Все</option>";
|
||||
for ($i = 0; $i < sizeof($arr); $i++) {
|
||||
$id = $arr[$i][0];
|
||||
$name = $arr[$i][1];
|
||||
$selected = $id == $def ? 'selected' : '';
|
||||
$result .= "<option value=$id $selected>$name</option>";
|
||||
}
|
||||
$result .= '</select> ';
|
||||
return $result;
|
||||
}
|
||||
|
||||
function selectSupplier($arr, $def, $sel, $allowAll) {
|
||||
$result = "<select class='filter' name='$sel'>";
|
||||
$selected = '';
|
||||
if ($def == 0)
|
||||
$selected = 'selected';
|
||||
if ($allowAll == true)
|
||||
$result .= "<option value=0 $selected>Все</option>";
|
||||
for ($i = 0; $i < sizeof($arr); $i++) {
|
||||
$id = $arr[$i][0];
|
||||
$name = $arr[$i][1];
|
||||
$selected = $id == $def ? 'selected' : '';
|
||||
$result .= "<option value=$id $selected>$name</option>";
|
||||
}
|
||||
$result .= '</select> ';
|
||||
return $result;
|
||||
}
|
96
nrpc_site/code/profile_code.php
Normal file
96
nrpc_site/code/profile_code.php
Normal file
|
@ -0,0 +1,96 @@
|
|||
<?php
|
||||
|
||||
$name = '';
|
||||
$surname = '';
|
||||
$phone = '';
|
||||
$email = '';
|
||||
$address = '';
|
||||
$pref_shop_id = 0;
|
||||
|
||||
if (isset($_COOKIE['login'])) {
|
||||
global $name, $surname, $phone, $email, $address, $pref_shop_id;
|
||||
$login = $_COOKIE['login'];
|
||||
$sql = "CALL userInfo('$login', 0);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$name = $r['name'];
|
||||
$surname = $r['surname'];
|
||||
$phone = $r['phone'];
|
||||
$email = $r['email'];
|
||||
$address = $r['address'];
|
||||
$pref_shop_id = $r['pref_shop_id'];
|
||||
while (mysqli_more_results($con))
|
||||
mysqli_next_result($con);
|
||||
} else {
|
||||
header('Location: ../index.php');
|
||||
exit();
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['save_changes'])) {
|
||||
$login = $_COOKIE['login'];
|
||||
$name = $_REQUEST['name'];
|
||||
$surname = $_REQUEST['surname'];
|
||||
$phone = $_REQUEST['phone'];
|
||||
$email = $_REQUEST['email'];
|
||||
$address = $_REQUEST['address'];
|
||||
$shop = $_REQUEST['shop'];
|
||||
$sql = "SELECT modifyUser('$login', '$name', '$surname', '$phone', '$email', '$address', $shop)";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
header('Location: profile.php?saved=1');
|
||||
exit();
|
||||
}
|
||||
|
||||
function showProfile($con) {
|
||||
global $name, $surname, $phone, $email, $address, $pref_shop_id;
|
||||
$shop_select = selectShops($con, 'shop', $pref_shop_id);
|
||||
echo '<form name="profile" method="post" action="profile.php"><table>'
|
||||
. "<tr><td><div class='txt'>Имя: </div></td><td><input class='fld' type='text' name='name' value='$name'/></td></tr>"
|
||||
. "<tr><td><div class='txt'>Фамилия: </div></td><td><input class='fld' type='text' name='surname' value='$surname'/></td></tr></td></tr>"
|
||||
. "<tr><td><div class='txt'>Телефон: </div></td><td><input class='fld' type='text' name='phone' value='$phone'/></td></tr>"
|
||||
. "<tr><td><div class='txt'>Эл. почта: </div></td><td><input class='fld' type='text' name='email' value='$email'/></td></tr>"
|
||||
. "<tr><td><div class='txt'>Адрес: </div></td><td><input class='fld' type='text' name='address' value='$address'/></td></tr>"
|
||||
. "<tr><td><div class='txt'>Магазин: </div></td><td>$shop_select</td></tr>"
|
||||
. '</table></br><input class="btn" type="submit" name="save_changes" value="Сохранить изменения"/></form></br>';
|
||||
if (isset($_REQUEST['saved']))
|
||||
echo '<span style="color:#008000; font-size: 24px;"><b>Изменения успешно сохранены!</b></span>';
|
||||
}
|
||||
|
||||
function selectShops($con, $sel, $def) {
|
||||
$result = '';
|
||||
$result .= "<select class='fld' name='$sel'>";
|
||||
if ($def == 0)
|
||||
$result .= "<option value=$def>Не выбран</option>";
|
||||
$sql = "SELECT * FROM get_shops;";
|
||||
$query = mysqli_query($con, $sql);
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$id = $r['id'];
|
||||
$name = $r['name'];
|
||||
$selected = $def == $id ? 'selected' : '';
|
||||
$result .= "<option value=$id $selected>$name</option>";
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
function showOrders($con) {
|
||||
$login = $_COOKIE['login'];
|
||||
$sql = "CALL userOrds('$login', 0)";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$orders = '<form name="orders" method="get" action="profile.php"><table cellpadding="10px" class="txt" border="1px">'
|
||||
. '<tr><td>Номер</td><td>Магазин</td><td>Дата</td><td>Статус</td><td>Чек</td></tr>';
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$ord_id = $r['id'];
|
||||
$shop = $r['shop'];
|
||||
$date = $r['date'];
|
||||
$status = $r['status'];
|
||||
$link = '"downloadReceipt.php?ord=' . $ord_id . '"';
|
||||
$receipt = "<button class='btn' type='button' onclick='location.href=" . $link . "'>Скачать чек</button>";
|
||||
$orders .= "<tr><td>$ord_id</td><td>$shop</td><td>$date</td><td>$status</td><td>$receipt</td></tr>";
|
||||
$flag = true;
|
||||
}
|
||||
$orders .= '</table></form>';
|
||||
if (isset($flag))
|
||||
echo $orders;
|
||||
else
|
||||
echo 'На данный момент у вас нет заказов';
|
||||
}
|
58
nrpc_site/code/register_code.php
Normal file
58
nrpc_site/code/register_code.php
Normal file
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
|
||||
$msgs = ["Такой логин уже существует</br>", "Данный номер телефона уже занят другим пользователем</br>", "Данная почта уже занята другим пользователем</br>", "Неправильный номер телефона</br>", "Заполните все поля</br>"];
|
||||
$msg = "";
|
||||
$error = false;
|
||||
|
||||
$data = ['', '', '', '', '', ''];
|
||||
|
||||
if (isset($_COOKIE['login'])) {
|
||||
header('Location: ../index.php');
|
||||
exit();
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['sub'])) {
|
||||
$login = $_REQUEST['login'];
|
||||
$password = $_REQUEST['password'];
|
||||
$name = $_REQUEST['name'];
|
||||
$surname = $_REQUEST['surname'];
|
||||
$phone = $_REQUEST['phone'];
|
||||
$email = $_REQUEST['email'];
|
||||
$address = $_REQUEST['address'];
|
||||
$func = 'result';
|
||||
|
||||
$data[0] = $name;
|
||||
$data[1] = $surname;
|
||||
$data[2] = $login;
|
||||
$data[3] = $phone;
|
||||
$data[4] = $email;
|
||||
$data[5] = $address;
|
||||
|
||||
if (strlen($phone) > 12) {
|
||||
$data[3] = '';
|
||||
$msg = $msgs[3];
|
||||
$error = true;
|
||||
return;
|
||||
}
|
||||
if ($name == null || $surname == null || $login == null || $phone == null || $email == null || $address == null || $password == null) {
|
||||
$msg = $msgs[4];
|
||||
$error = true;
|
||||
return;
|
||||
}
|
||||
$sql = "SELECT addNewUser('$login', '$password', '$name', '$surname', '$phone', '$email', '$address') AS '$func';";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$result = $r["$func"];
|
||||
|
||||
if ($result == 3) {
|
||||
setcookie('login', $login, 0, '/');
|
||||
setcookie('cart', '_', 0, '/');
|
||||
header('Location: ../index.php');
|
||||
exit();
|
||||
} else {
|
||||
$data[$result + 2] = '';
|
||||
$msg = $msgs[$result];
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
|
97
nrpc_site/code/shopping_code.php
Normal file
97
nrpc_site/code/shopping_code.php
Normal file
|
@ -0,0 +1,97 @@
|
|||
<?php
|
||||
|
||||
$data = ['', 0.00, 1000000.00, 0, 0, ''];
|
||||
|
||||
function selectSort($def) {
|
||||
$selected = '';
|
||||
if ($def != 0)
|
||||
$selected = 'selected';
|
||||
return '<select class="filter" name="parts_sort">'
|
||||
. '<option value=0>По возрастанию цены</option>'
|
||||
. "<option value=1 $selected>По убыванию цены</option>"
|
||||
. '</select>';
|
||||
}
|
||||
|
||||
function showPartsShop($con) {
|
||||
global $data;
|
||||
if (isset($_REQUEST['parts_show'])) {
|
||||
$name = $_REQUEST['parts_name'];
|
||||
$price_bottom = $_REQUEST['parts_price_bottom'];
|
||||
$price_upper = $_REQUEST['parts_price_upper'];
|
||||
$category_id = $_REQUEST['parts_categorys'];
|
||||
$sort = $_REQUEST['parts_sort'];
|
||||
$show_absent = 0;
|
||||
if (isset($_REQUEST['show_absent']))
|
||||
$show_absent = $_REQUEST['show_absent'];
|
||||
} else {
|
||||
$name = '';
|
||||
$price_bottom = 0;
|
||||
$price_upper = 1000000;
|
||||
$category_id = 0;
|
||||
$sort = 0;
|
||||
$show_absent = 0;
|
||||
}
|
||||
$data[0] = $name;
|
||||
$data[1] = $price_bottom;
|
||||
$data[2] = $price_upper;
|
||||
$data[3] = $category_id;
|
||||
$data[4] = $sort;
|
||||
if (isset($_COOKIE['login'])) {
|
||||
$login = $_COOKIE['login'];
|
||||
$sql = "SELECT getUserShop('$login') AS 'result';";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$shop = $r['result'];
|
||||
} else
|
||||
$shop = 1;
|
||||
if ($show_absent == 1)
|
||||
$data[5] = 'checked';
|
||||
$sql = "SELECT s.name FROM shop s WHERE s.id = $shop";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$shop_name = $r['name'];
|
||||
$sql = "CALL selectPartsShopping('$name', $price_bottom, $price_upper, $category_id, $sort, $show_absent, $shop);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
echo "<h2>Товары в магазине $shop_name</h2>";
|
||||
echo '<form name="part_list" method="post" action="shopping.php">';
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$flag = 1;
|
||||
$id = $r['id'];
|
||||
$name = $r['name'];
|
||||
$price = number_format($r['price'], 2, '.', ' ');
|
||||
$image = $r['image'];
|
||||
$in_stock = $r['in_stock'];
|
||||
$btn_id = 'out';
|
||||
$btn_value = 'Нет в наличии';
|
||||
$disabled = 'disabled';
|
||||
if ($in_stock > 0) {
|
||||
$btn_value = 'Купить';
|
||||
$disabled = '';
|
||||
$btn_id = 'buy';
|
||||
}
|
||||
if (isset($_COOKIE['cart'])) {
|
||||
$cart = explode('.', $_COOKIE['cart']);
|
||||
$onclick = "addToCart($id);";
|
||||
if (in_array($id, $cart)) {
|
||||
$btn_value = 'В корзине';
|
||||
$btn_id = 'incart';
|
||||
$onclick = "removeFromCart($id);";
|
||||
}
|
||||
if ($shop == 0)
|
||||
$onclick = "specifyShop();";
|
||||
} else
|
||||
$onclick = "askLogin();";
|
||||
echo '<div id="part">'
|
||||
. "<a href='part.php?part_id=$id'><img src='../images/parts/$image'/></a>"
|
||||
. "<a id='part_name' href='part.php?part_id=$id'>$name</a>"
|
||||
. "<div id='part_price'>$price ₽</div>"
|
||||
. "<input class='$btn_id' id='buy_part$id' type=button value='$btn_value' $disabled onclick='$onclick'/>"
|
||||
. "<div id='part_stock'>В наличии <b>$in_stock</b> шт.</div>"
|
||||
. '</div>';
|
||||
}
|
||||
if (!isset($flag))
|
||||
echo '<h2 style="margin-right: 500px;">По вашему запросу ничего не найдено</h2>';
|
||||
echo '</form>';
|
||||
while (mysqli_more_results($con))
|
||||
mysqli_next_result($con);
|
||||
}
|
97
nrpc_site/code/stock_code.php
Normal file
97
nrpc_site/code/stock_code.php
Normal file
|
@ -0,0 +1,97 @@
|
|||
<?php
|
||||
|
||||
$file = '';
|
||||
|
||||
if (isset($_REQUEST['part_save'])) {
|
||||
$id = $_REQUEST['part_id'];
|
||||
$upc = $_REQUEST['part_upc'];
|
||||
$name = $_REQUEST['part_name'];
|
||||
$price = $_REQUEST['part_price'];
|
||||
$category = $_REQUEST['part_category'];
|
||||
$supplier = $_REQUEST['part_supplier'];
|
||||
$description = $_REQUEST['part_description'];
|
||||
$file = $_REQUEST['prev_img'];
|
||||
$path = $_FILES['part_image']['name'];
|
||||
$ext = pathinfo($path, PATHINFO_EXTENSION);
|
||||
$image = "$upc.$ext";
|
||||
$moveto = "../images/parts/$image";
|
||||
$saved = 0;
|
||||
if ($path != '')
|
||||
$file_moved = move_uploaded_file($_FILES['part_image']['tmp_name'], $moveto);
|
||||
else {
|
||||
$file_moved = true;
|
||||
$image = $file;
|
||||
}
|
||||
if ($file_moved) {
|
||||
$sql = "SELECT modifyPart($id, '$upc', '$name', $price, $category, $supplier, '$description', '$image');";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
if (mysqli_more_results($con))
|
||||
mysqli_next_result($con);
|
||||
$ids = $_REQUEST['shop_ids'];
|
||||
$shop_ids = explode(' ', $ids);
|
||||
foreach ($shop_ids as &$shop_id) {
|
||||
$count = $_REQUEST["shop_count$shop_id"];
|
||||
$sql = "SELECT modifySupply($id, $shop_id, $count);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
if (mysqli_more_results($con))
|
||||
mysqli_next_result($con);
|
||||
}
|
||||
$saved = 1;
|
||||
}
|
||||
header('Cache-Control: no-cache');
|
||||
header('Pragma: no-cache');
|
||||
header("Location: stock.php?part_id=$id&saved=$saved");
|
||||
exit();
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['part_id'])) {
|
||||
$id = $_REQUEST['part_id'];
|
||||
$sql = "CALL partInfo($id, 0);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$upc = $r['upc'];
|
||||
$name = $r['name'];
|
||||
$price = $r['price'];
|
||||
$category = $r['category'];
|
||||
$supplier = $r['supplier'];
|
||||
$description = $r['description'];
|
||||
$image = $r['image'];
|
||||
if (mysqli_more_results($con))
|
||||
mysqli_next_result($con);
|
||||
$file = $image;
|
||||
} else {
|
||||
header('Location: index.php');
|
||||
exit();
|
||||
}
|
||||
|
||||
function saveSucces() {
|
||||
if (isset($_REQUEST['saved'])) {
|
||||
$saved = $_REQUEST['saved'];
|
||||
if ($saved == 0)
|
||||
echo '<span style="color:#FF0000; font-size: 24px;">Произошла ошибка, проверьте введенные данные!</span>';
|
||||
if ($saved == 1)
|
||||
echo '<span style="color:#008000; font-size: 24px;">Изменения успешно внесены!</span>';
|
||||
}
|
||||
}
|
||||
|
||||
function displayStock($con, $id) {
|
||||
$sql = "CALL partStock($id);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$ids = [];
|
||||
$i = 0;
|
||||
echo '<table>';
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$shop_id = $r['id'];
|
||||
$shop_name = $r['name'];
|
||||
$count = $r['count'];
|
||||
$ids[$i] = "$shop_id";
|
||||
$i++;
|
||||
echo "<tr><td>$shop_name: </td><td><input class='filter' type=number name='shop_count$shop_id' min=0 value='$count'/></td></tr>";
|
||||
}
|
||||
$shop_ids = implode(' ', $ids);
|
||||
echo "</table><input type=hidden name='shop_ids' value='$shop_ids'/></br>";
|
||||
if (mysqli_more_results($con))
|
||||
mysqli_next_result($con);
|
||||
}
|
70
nrpc_site/code/user_info_code.php
Normal file
70
nrpc_site/code/user_info_code.php
Normal file
|
@ -0,0 +1,70 @@
|
|||
<?php
|
||||
|
||||
if (isset($_REQUEST['user_id']))
|
||||
$id = $_REQUEST['user_id'];
|
||||
else {
|
||||
header('Location: index.php');
|
||||
exit();
|
||||
}
|
||||
|
||||
$saved = '';
|
||||
|
||||
if (isset($_REQUEST['admin'])) {
|
||||
$sql = "SELECT changeAdmin($id) AS 'result';";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
if ($r['result'] == 1)
|
||||
$saved = '<span style="color:#008000;">Настройки успешно сохранены</span>';
|
||||
else
|
||||
$saved = '<span style="color:#FF0000;">Ошибка при сохранении!</span>';
|
||||
}
|
||||
|
||||
function showUserInfo($con) {
|
||||
global $id;
|
||||
$sql = "CALL userInfo('', $id);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$r = mysqli_fetch_assoc($query);
|
||||
$login = $r['login'];
|
||||
$name = $r['name'];
|
||||
$surname = $r['surname'];
|
||||
$phone = $r['phone'];
|
||||
$email = $r['email'];
|
||||
$address = $r['address'];
|
||||
$is_admin = $r['is_admin'] == 1 ? 'Да' : 'Нет';
|
||||
$value = $is_admin === 'Да' ? 'Забрать права администратора' : 'Дать права администратора';
|
||||
echo "<div class='txt'><form name='user_info' method='post' action='user_info.php'><table>"
|
||||
. "<tr><td>Логин: </td><td>$login</td></tr>"
|
||||
. "<tr><td>Имя: </td><td>$name</td></tr>"
|
||||
. "<tr><td>Фамилия: </td><td>$surname</td></tr>"
|
||||
. "<tr><td>Номер телефона: </td><td>$phone</td></tr>"
|
||||
. "<tr><td>Эл. почта: </td><td>$email</td></tr>"
|
||||
. "<tr><td>Адрес: </td><td>$address</td></tr>"
|
||||
. "<tr><td>Админ: </td><td>$is_admin</td></tr>"
|
||||
. "</table></div></br></br>"
|
||||
. "<input class='btn' name='admin' type='submit' value='$value'/><input type='hidden' name='user_id' value='$id'/>";
|
||||
while (mysqli_more_results($con))
|
||||
mysqli_next_result($con);
|
||||
}
|
||||
|
||||
function showOrders($con) {
|
||||
global $id;
|
||||
$sql = "CALL userOrds('', $id)";
|
||||
$query = mysqli_query($con, $sql);
|
||||
$orders = '<form name="orders" method="get" action="profile.php"><table cellpadding="10px" class="txt" border="1px">'
|
||||
. '<tr><td>Номер</td><td>Магазин</td><td>Дата</td><td>Статус</td><td>Чек</td></tr>';
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$ord_id = $r['id'];
|
||||
$shop = $r['shop'];
|
||||
$date = $r['date'];
|
||||
$status = $r['status'];
|
||||
$link = '"../pages/downloadReceipt.php?ord=' . $ord_id . '"';
|
||||
$receipt = "<button class='btn' type='button' onclick='location.href=" . $link . "'>Скачать чек</button>";
|
||||
$orders .= "<tr><td><a href='order_info.php?ord_id=$ord_id'>$ord_id</a></td><td>$shop</td><td>$date</td><td>$status</td><td>$receipt</td></tr>";
|
||||
$flag = true;
|
||||
}
|
||||
$orders .= '</table></form>';
|
||||
if (isset($flag))
|
||||
echo $orders;
|
||||
else
|
||||
echo 'На данный момент у пользователя нет заказов';
|
||||
}
|
40
nrpc_site/code/users_code.php
Normal file
40
nrpc_site/code/users_code.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
$data = ['', '', '', -1];
|
||||
|
||||
if (isset($_REQUEST['show_users'])) {
|
||||
$data[0] = $_REQUEST['user_login'];
|
||||
$data[1] = $_REQUEST['user_phone'];
|
||||
$data[2] = $_REQUEST['user_email'];
|
||||
$data[3] = $_REQUEST['user_admin'];
|
||||
}
|
||||
|
||||
function showUsers($con) {
|
||||
global $data;
|
||||
if (isset($_REQUEST['show_users'])) {
|
||||
$login = $data[0];
|
||||
$phone = $data[1];
|
||||
$email = $data[2];
|
||||
$is_admin = $data[3];
|
||||
echo "<form name='users' method='get' action='users.php'><table border='1px'>"
|
||||
. "<tr><td>ID</td><td>Логин</td><td>Номер телефона</td><td>Эл. почта</td><td>Админ</td><td>Подробности</td></tr>";
|
||||
$sql = "CALL selectUsers('$login', '$phone', '$email', $is_admin);";
|
||||
$query = mysqli_query($con, $sql);
|
||||
while ($r = mysqli_fetch_assoc($query)) {
|
||||
$id = $r['id'];
|
||||
$login = $r['login'];
|
||||
$name = $r['name'];
|
||||
$surname = $r['surname'];
|
||||
$phone = $r['phone'];
|
||||
$email = $r['email'];
|
||||
$address = $r['address'];
|
||||
$is_admin = $r['is_admin'] == 1 ? 'Да' : 'Нет';
|
||||
$host = $_SERVER['HTTP_HOST'];
|
||||
$link = "http://$host/admin/user_info.php?user_id=";
|
||||
$final_link = $link . $id;
|
||||
$btn = "<input class='btn' type=button name='ord_info$id' value='Посмотреть' onclick='openWindow(" . '"' . $final_link . '"' . ");'/>";
|
||||
echo "<tr><td>$id</td><td>$login</td><td>$phone</td><td>$email</td><td>$is_admin</td><td>$btn</td></tr>";
|
||||
}
|
||||
echo "</table></form>";
|
||||
}
|
||||
}
|
19
nrpc_site/config.php
Normal file
19
nrpc_site/config.php
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
header('Content-Type:text/html; charset=utf-8');
|
||||
|
||||
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
|
||||
|
||||
if ($_SERVER['HTTP_HOST'] == 'localhost') {
|
||||
$host = 'localhost';
|
||||
$user = 'root';
|
||||
$pass = 'vertrigo';
|
||||
$db = 'pc_parts_new';
|
||||
} else {
|
||||
$host = 'localhost';
|
||||
$user = 'id16898488_egor';
|
||||
$pass = 'Egor-20052003';
|
||||
$db = 'id16898488_nrpc';
|
||||
}
|
||||
|
||||
$con = mysqli_connect($host, $user, $pass, $db);
|
1
nrpc_site/dompdf/.htaccess
Normal file
1
nrpc_site/dompdf/.htaccess
Normal file
|
@ -0,0 +1 @@
|
|||
deny from all
|
29
nrpc_site/dompdf/.travis.yml
Normal file
29
nrpc_site/dompdf/.travis.yml
Normal file
|
@ -0,0 +1,29 @@
|
|||
language: php
|
||||
|
||||
php:
|
||||
- 7.1
|
||||
- 7.2
|
||||
- 7.3
|
||||
- 7.4
|
||||
- 8.0
|
||||
- nightly
|
||||
- hhvm
|
||||
|
||||
install: travis_retry composer install --no-interaction --prefer-source
|
||||
|
||||
before_script:
|
||||
- composer require php-coveralls/php-coveralls --no-interaction
|
||||
|
||||
script:
|
||||
- vendor/bin/phpunit --coverage-clover build/logs/clover.xml
|
||||
- vendor/bin/phpcs --standard=phpcs.xml src
|
||||
|
||||
matrix:
|
||||
allow_failures:
|
||||
- php: nightly
|
||||
- php: hhvm
|
||||
|
||||
fast_finish: true
|
||||
|
||||
after_success:
|
||||
- travis_retry php vendor/bin/php-coveralls
|
65
nrpc_site/dompdf/CONTRIBUTING.md
Normal file
65
nrpc_site/dompdf/CONTRIBUTING.md
Normal file
|
@ -0,0 +1,65 @@
|
|||
# How to contribute
|
||||
|
||||
- [Getting help](#getting-help)
|
||||
- [Submitting bug reports](#submitting-bug-reports)
|
||||
- [Contributing code](#contributing-code)
|
||||
|
||||
## Getting help
|
||||
|
||||
Community discussion, questions, and informal bug reporting is done on the
|
||||
[dompdf Google group](http://groups.google.com/group/dompdf). You may also
|
||||
seek help on
|
||||
[StackOverflow](http://stackoverflow.com/questions/tagged/dompdf).
|
||||
|
||||
## Submitting bug reports
|
||||
|
||||
The preferred way to report bugs is to use the
|
||||
[GitHub issue tracker](http://github.com/dompdf/dompdf/issues). Before
|
||||
reporting a bug, read these pointers.
|
||||
|
||||
**Please search inside the bug tracker to see if the bug you found is not already reported.**
|
||||
|
||||
**Note:** The issue tracker is for *bugs* and *feature requests*, not requests for help.
|
||||
Questions should be asked on the
|
||||
[dompdf Google group](http://groups.google.com/group/dompdf) instead.
|
||||
|
||||
### Reporting bugs effectively
|
||||
|
||||
- dompdf is maintained by volunteers. They don't owe you anything, so be
|
||||
polite. Reports with an indignant or belligerent tone tend to be moved to the
|
||||
bottom of the pile.
|
||||
|
||||
- Include information about **the PHP version on which the problem occurred**. Even
|
||||
if you tested several PHP version on different servers, and the problem occurred
|
||||
in all of them, mention this fact in the bug report.
|
||||
Also include the operating system it's installed on. PHP configuration can also help,
|
||||
and server error logs (like Apache logs)
|
||||
|
||||
- Mention which release of dompdf you're using (the zip, the master branch, etc).
|
||||
Preferably, try also with the current development snapshot, to ensure the
|
||||
problem has not already been fixed.
|
||||
|
||||
- Mention very precisely what went wrong. "X is broken" is not a good bug
|
||||
report. What did you expect to happen? What happened instead? Describe the
|
||||
exact steps a maintainer has to take to make the problem occur. We can not
|
||||
fix something that we can not observe.
|
||||
|
||||
- If the problem can not be reproduced in any of the demos included in the
|
||||
dompdf distribution, please provide an HTML document that demonstrates
|
||||
the problem. There are a few options to show us your code:
|
||||
- [JS Fiddle](http://jsfiddle.net/)
|
||||
- [dompdf debug helper](http://eclecticgeek.com/dompdf/debug.php) (provided by @bsweeney)
|
||||
- Include the HTML/CSS inside the bug report, with
|
||||
[code highlighting](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#wiki-code).
|
||||
|
||||
## Contributing code
|
||||
|
||||
- Make sure you have a [GitHub Account](https://github.com/signup/free)
|
||||
- Fork [dompdf](https://github.com/dompdf/dompdf/)
|
||||
([how to fork a repo](https://help.github.com/articles/fork-a-repo))
|
||||
- *Make your changes on the `develop` branch* or the most appropriate feature branch. Please only patch
|
||||
the master branch if you are attempting to address an urgent bug in the released code.
|
||||
- Add a simple test file in `www/test/`, with a comprehensive name.
|
||||
- Add a unit test in the ``test/Dompdf/Tests/`` directory.
|
||||
- Submit a pull request
|
||||
([how to create a pull request](https://help.github.com/articles/fork-a-repo))
|
456
nrpc_site/dompdf/LICENSE.LGPL
Normal file
456
nrpc_site/dompdf/LICENSE.LGPL
Normal file
|
@ -0,0 +1,456 @@
|
|||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it becomes
|
||||
a de-facto standard. To achieve this, non-free programs must be
|
||||
allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
238
nrpc_site/dompdf/README.md
Normal file
238
nrpc_site/dompdf/README.md
Normal file
|
@ -0,0 +1,238 @@
|
|||
Dompdf
|
||||
======
|
||||
|
||||
[![Build Status](https://travis-ci.org/dompdf/dompdf.png?branch=master)](https://travis-ci.org/dompdf/dompdf)
|
||||
[![Latest Stable Version](https://poser.pugx.org/dompdf/dompdf/v/stable.png)](https://packagist.org/packages/dompdf/dompdf)
|
||||
[![Total Downloads](https://poser.pugx.org/dompdf/dompdf/downloads.png)](https://packagist.org/packages/dompdf/dompdf)
|
||||
[![Latest Unstable Version](https://poser.pugx.org/dompdf/dompdf/v/unstable.png)](https://packagist.org/packages/dompdf/dompdf)
|
||||
[![License](https://poser.pugx.org/dompdf/dompdf/license.png)](https://packagist.org/packages/dompdf/dompdf)
|
||||
|
||||
**Dompdf is an HTML to PDF converter**
|
||||
|
||||
At its heart, dompdf is (mostly) a [CSS 2.1](http://www.w3.org/TR/CSS2/) compliant
|
||||
HTML layout and rendering engine written in PHP. It is a style-driven renderer:
|
||||
it will download and read external stylesheets, inline style tags, and the style
|
||||
attributes of individual HTML elements. It also supports most presentational
|
||||
HTML attributes.
|
||||
|
||||
*This document applies to the latest stable code which may not reflect the current
|
||||
release. For released code please
|
||||
[navigate to the appropriate tag](https://github.com/dompdf/dompdf/tags).*
|
||||
|
||||
----
|
||||
|
||||
**Check out the [demo](https://dompdf.net/examples.php) and ask any
|
||||
question on [StackOverflow](http://stackoverflow.com/questions/tagged/dompdf) or
|
||||
on the [Google Groups](http://groups.google.com/group/dompdf).**
|
||||
|
||||
Follow us on [![Twitter](http://twitter-badges.s3.amazonaws.com/twitter-a.png)](http://www.twitter.com/dompdf).
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
## Features
|
||||
|
||||
* Handles most CSS 2.1 and a few CSS3 properties, including @import, @media &
|
||||
@page rules
|
||||
* Supports most presentational HTML 4.0 attributes
|
||||
* Supports external stylesheets, either local or through http/ftp (via
|
||||
fopen-wrappers)
|
||||
* Supports complex tables, including row & column spans, separate & collapsed
|
||||
border models, individual cell styling
|
||||
* Image support (gif, png (8, 24 and 32 bit with alpha channel), bmp & jpeg)
|
||||
* No dependencies on external PDF libraries, thanks to the R&OS PDF class
|
||||
* Inline PHP support
|
||||
* Basic SVG support (see "Limitations" below)
|
||||
|
||||
## Requirements
|
||||
|
||||
* PHP version 7.1 or higher
|
||||
* DOM extension
|
||||
* MBString extension
|
||||
* php-font-lib
|
||||
* php-svg-lib
|
||||
|
||||
Note that some required dependencies may have further dependencies
|
||||
(notably php-svg-lib requires sabberworm/php-css-parser).
|
||||
|
||||
### Recommendations
|
||||
|
||||
* OPcache (OPcache, XCache, APC, etc.): improves performance
|
||||
* GD (for image processing)
|
||||
* IMagick or GMagick extension: improves image processing performance
|
||||
|
||||
Visit the wiki for more information:
|
||||
https://github.com/dompdf/dompdf/wiki/Requirements
|
||||
|
||||
## About Fonts & Character Encoding
|
||||
|
||||
PDF documents internally support the following fonts: Helvetica, Times-Roman,
|
||||
Courier, Zapf-Dingbats, & Symbol. These fonts only support Windows ANSI
|
||||
encoding. In order for a PDF to display characters that are not available in
|
||||
Windows ANSI, you must supply an external font. Dompdf will embed any referenced
|
||||
font in the PDF so long as it has been pre-loaded or is accessible to dompdf and
|
||||
reference in CSS @font-face rules. See the
|
||||
[font overview](https://github.com/dompdf/dompdf/wiki/About-Fonts-and-Character-Encoding)
|
||||
for more information on how to use fonts.
|
||||
|
||||
The [DejaVu TrueType fonts](https://dejavu-fonts.github.io/) have been pre-installed
|
||||
to give dompdf decent Unicode character coverage by default. To use the DejaVu
|
||||
fonts reference the font in your stylesheet, e.g. `body { font-family: DejaVu
|
||||
Sans; }` (for DejaVu Sans). The following DejaVu 2.34 fonts are available:
|
||||
DejaVu Sans, DejaVu Serif, and DejaVu Sans Mono.
|
||||
|
||||
## Easy Installation
|
||||
|
||||
### Install with composer
|
||||
|
||||
To install with [Composer](https://getcomposer.org/), simply require the
|
||||
latest version of this package.
|
||||
|
||||
```bash
|
||||
composer require dompdf/dompdf
|
||||
```
|
||||
|
||||
Make sure that the autoload file from Composer is loaded.
|
||||
|
||||
```php
|
||||
// somewhere early in your project's loading, require the Composer autoloader
|
||||
// see: http://getcomposer.org/doc/00-intro.md
|
||||
require 'vendor/autoload.php';
|
||||
|
||||
```
|
||||
|
||||
### Download and install
|
||||
|
||||
Download a packaged archive of dompdf and extract it into the
|
||||
directory where dompdf will reside
|
||||
|
||||
* You can download stable copies of dompdf from
|
||||
https://github.com/dompdf/dompdf/releases
|
||||
* Or download a nightly (the latest, unreleased code) from
|
||||
http://eclecticgeek.com/dompdf
|
||||
|
||||
Use the packaged release autoloader to load dompdf, libraries,
|
||||
and helper functions in your PHP:
|
||||
|
||||
```php
|
||||
// include autoloader
|
||||
require_once 'dompdf/autoload.inc.php';
|
||||
```
|
||||
|
||||
Note: packaged releases are named according using semantic
|
||||
versioning (_dompdf_MAJOR-MINOR-PATCH.zip_). So the 1.0.0
|
||||
release would be dompdf_1-0-0.zip. This is the only download
|
||||
that includes the autoloader for Dompdf and all its dependencies.
|
||||
|
||||
### Install with git
|
||||
|
||||
From the command line, switch to the directory where dompdf will
|
||||
reside and run the following commands:
|
||||
|
||||
```sh
|
||||
git clone https://github.com/dompdf/dompdf.git
|
||||
cd dompdf/lib
|
||||
|
||||
git clone https://github.com/PhenX/php-font-lib.git php-font-lib
|
||||
cd php-font-lib
|
||||
git checkout 0.5.1
|
||||
cd ..
|
||||
|
||||
git clone https://github.com/PhenX/php-svg-lib.git php-svg-lib
|
||||
cd php-svg-lib
|
||||
git checkout v0.3.2
|
||||
cd ..
|
||||
|
||||
git clone https://github.com/sabberworm/PHP-CSS-Parser.git php-css-parser
|
||||
cd php-css-parser
|
||||
git checkout 8.1.0
|
||||
```
|
||||
|
||||
Require dompdf and it's dependencies in your PHP.
|
||||
For details see the [autoloader in the utils project](https://github.com/dompdf/utils/blob/master/autoload.inc.php).
|
||||
|
||||
## Quick Start
|
||||
|
||||
Just pass your HTML in to dompdf and stream the output:
|
||||
|
||||
```php
|
||||
// reference the Dompdf namespace
|
||||
use Dompdf\Dompdf;
|
||||
|
||||
// instantiate and use the dompdf class
|
||||
$dompdf = new Dompdf();
|
||||
$dompdf->loadHtml('hello world');
|
||||
|
||||
// (Optional) Setup the paper size and orientation
|
||||
$dompdf->setPaper('A4', 'landscape');
|
||||
|
||||
// Render the HTML as PDF
|
||||
$dompdf->render();
|
||||
|
||||
// Output the generated PDF to Browser
|
||||
$dompdf->stream();
|
||||
```
|
||||
|
||||
### Setting Options
|
||||
|
||||
Set options during dompdf instantiation:
|
||||
|
||||
```php
|
||||
use Dompdf\Dompdf;
|
||||
use Dompdf\Options;
|
||||
|
||||
$options = new Options();
|
||||
$options->set('defaultFont', 'Courier');
|
||||
$dompdf = new Dompdf($options);
|
||||
```
|
||||
|
||||
or at run time
|
||||
|
||||
```php
|
||||
use Dompdf\Dompdf;
|
||||
|
||||
$dompdf = new Dompdf();
|
||||
$options = $dompdf->getOptions();
|
||||
$options->setDefaultFont('Courier');
|
||||
$dompdf->setOptions($options);
|
||||
```
|
||||
|
||||
See [Dompdf\Options](src/Options.php) for a list of available options.
|
||||
|
||||
### Resource Reference Requirements
|
||||
|
||||
In order to protect potentially sensitive information Dompdf imposes
|
||||
restrictions on files referenced from the local file system or the web.
|
||||
|
||||
Files accessed through web-based protocols have the following requirements:
|
||||
* The Dompdf option "isRemoteEnabled" must be set to "true"
|
||||
* PHP must either have the curl extension enabled or the
|
||||
allow_url_fopen setting set to true
|
||||
|
||||
Files accessed through the local file system have the following requirement:
|
||||
* The file must fall within the path(s) specified for the Dompdf "chroot" option
|
||||
|
||||
## Limitations (Known Issues)
|
||||
|
||||
* Dompdf is not particularly tolerant to poorly-formed HTML input. To avoid
|
||||
any unexpected rendering issues you should either enable the built-in HTML5
|
||||
parser at runtime (`$options->setIsHtml5ParserEnabled(true);`)
|
||||
or run your HTML through a HTML validator/cleaner (such as
|
||||
[Tidy](http://tidy.sourceforge.net) or the
|
||||
[W3C Markup Validation Service](http://validator.w3.org)).
|
||||
* Table cells are not pageable, meaning a table row must fit on a single page.
|
||||
* Elements are rendered on the active page when they are parsed.
|
||||
* Embedding "raw" SVG's (`<svg><path...></svg>`) isn't working yet, you need to
|
||||
either link to an external SVG file, or use a DataURI like this:
|
||||
```php
|
||||
$html = '<img src="data:image/svg+xml;base64,' . base64_encode($svg) . '" ...>';
|
||||
```
|
||||
Watch https://github.com/dompdf/dompdf/issues/320 for progress
|
||||
|
||||
---
|
||||
|
||||
[![Donate button](https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif)](http://goo.gl/DSvWf)
|
||||
|
||||
*If you find this project useful, please consider making a donation.
|
||||
Any funds donated will be used to help further development on this project.)*
|
1
nrpc_site/dompdf/VERSION
Normal file
1
nrpc_site/dompdf/VERSION
Normal file
|
@ -0,0 +1 @@
|
|||
1.0.2
|
40
nrpc_site/dompdf/autoload.inc.php
Normal file
40
nrpc_site/dompdf/autoload.inc.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
/**
|
||||
* @package dompdf
|
||||
* @link http://dompdf.github.com/
|
||||
* @author Benj Carson <benjcarson@digitaljunkies.ca>
|
||||
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||
*/
|
||||
|
||||
// HMLT5 Parser
|
||||
//FIXME: replace with masterminds HTML5
|
||||
//require_once __DIR__ . '/lib/html5lib/Parser.php';
|
||||
|
||||
// Sabberworm
|
||||
spl_autoload_register(function($class)
|
||||
{
|
||||
if (strpos($class, 'Sabberworm') !== false) {
|
||||
$file = str_replace('\\', DIRECTORY_SEPARATOR, $class);
|
||||
$file = realpath(__DIR__ . '/lib/php-css-parser/lib/' . (empty($file) ? '' : DIRECTORY_SEPARATOR) . $file . '.php');
|
||||
if (file_exists($file)) {
|
||||
require_once $file;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
// php-font-lib
|
||||
require_once __DIR__ . '/lib/php-font-lib/src/FontLib/Autoloader.php';
|
||||
|
||||
//php-svg-lib
|
||||
require_once __DIR__ . '/lib/php-svg-lib/src/autoload.php';
|
||||
|
||||
|
||||
/*
|
||||
* New PHP 5.3.0 namespaced autoloader
|
||||
*/
|
||||
require_once __DIR__ . '/src/Autoloader.php';
|
||||
|
||||
Dompdf\Autoloader::register();
|
57
nrpc_site/dompdf/composer.json
Normal file
57
nrpc_site/dompdf/composer.json
Normal file
|
@ -0,0 +1,57 @@
|
|||
{
|
||||
"name": "dompdf/dompdf",
|
||||
"type": "library",
|
||||
"description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter",
|
||||
"homepage": "https://github.com/dompdf/dompdf",
|
||||
"license": "LGPL-2.1",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Ménager",
|
||||
"email": "fabien.menager@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Brian Sweeney",
|
||||
"email": "eclecticgeek@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Gabriel Bull",
|
||||
"email": "me@gabrielbull.com"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Dompdf\\": "src/"
|
||||
},
|
||||
"classmap": [
|
||||
"lib/"
|
||||
]
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Dompdf\\Tests\\": "tests/"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1 || ^8.0",
|
||||
"ext-dom": "*",
|
||||
"ext-mbstring": "*",
|
||||
"phenx/php-font-lib": "^0.5.2",
|
||||
"phenx/php-svg-lib": "^0.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^7.5 || ^8 || ^9",
|
||||
"squizlabs/php_codesniffer": "^3.5",
|
||||
"mockery/mockery": "^1.3"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-gd": "Needed to process images",
|
||||
"ext-imagick": "Improves image processing performance",
|
||||
"ext-gmagick": "Improves image processing performance",
|
||||
"ext-zlib": "Needed for pdf stream compression"
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-develop": "0.7-dev"
|
||||
}
|
||||
}
|
||||
}
|
6463
nrpc_site/dompdf/lib/Cpdf.php
Normal file
6463
nrpc_site/dompdf/lib/Cpdf.php
Normal file
File diff suppressed because it is too large
Load diff
344
nrpc_site/dompdf/lib/fonts/Courier-Bold.afm
Normal file
344
nrpc_site/dompdf/lib/fonts/Courier-Bold.afm
Normal file
|
@ -0,0 +1,344 @@
|
|||
StartFontMetrics 4.1
|
||||
Comment Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
|
||||
Comment Creation Date: Mon Jun 23 16:28:00 0:00:00
|
||||
Comment UniqueID 43048
|
||||
Comment VMusage 41139 52164
|
||||
FontName Courier-Bold
|
||||
FullName Courier Bold
|
||||
FamilyName Courier
|
||||
Weight Bold
|
||||
ItalicAngle 0
|
||||
IsFixedPitch true
|
||||
CharacterSet ExtendedRoman
|
||||
FontBBox -113 -250 749 801
|
||||
UnderlinePosition -100
|
||||
UnderlineThickness 50
|
||||
Version 003.000
|
||||
Notice Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
|
||||
EncodingScheme WinAnsiEncoding
|
||||
CapHeight 562
|
||||
XHeight 439
|
||||
Ascender 629
|
||||
Descender -157
|
||||
StdHW 84
|
||||
StdVW 106
|
||||
StartCharMetrics 317
|
||||
C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
|
||||
C 160 ; WX 600 ; N space ; B 0 0 0 0 ;
|
||||
C 33 ; WX 600 ; N exclam ; B 202 -15 398 572 ;
|
||||
C 34 ; WX 600 ; N quotedbl ; B 135 277 465 562 ;
|
||||
C 35 ; WX 600 ; N numbersign ; B 56 -45 544 651 ;
|
||||
C 36 ; WX 600 ; N dollar ; B 82 -126 519 666 ;
|
||||
C 37 ; WX 600 ; N percent ; B 5 -15 595 616 ;
|
||||
C 38 ; WX 600 ; N ampersand ; B 36 -15 546 543 ;
|
||||
C 146 ; WX 600 ; N quoteright ; B 171 277 423 562 ;
|
||||
C 40 ; WX 600 ; N parenleft ; B 219 -102 461 616 ;
|
||||
C 41 ; WX 600 ; N parenright ; B 139 -102 381 616 ;
|
||||
C 42 ; WX 600 ; N asterisk ; B 91 219 509 601 ;
|
||||
C 43 ; WX 600 ; N plus ; B 71 39 529 478 ;
|
||||
C 44 ; WX 600 ; N comma ; B 123 -111 393 174 ;
|
||||
C 45 ; WX 600 ; N hyphen ; B 100 203 500 313 ;
|
||||
C 173 ; WX 600 ; N hyphen ; B 100 203 500 313 ;
|
||||
C 46 ; WX 600 ; N period ; B 192 -15 408 171 ;
|
||||
C 47 ; WX 600 ; N slash ; B 98 -77 502 626 ;
|
||||
C 48 ; WX 600 ; N zero ; B 87 -15 513 616 ;
|
||||
C 49 ; WX 600 ; N one ; B 81 0 539 616 ;
|
||||
C 50 ; WX 600 ; N two ; B 61 0 499 616 ;
|
||||
C 51 ; WX 600 ; N three ; B 63 -15 501 616 ;
|
||||
C 52 ; WX 600 ; N four ; B 53 0 507 616 ;
|
||||
C 53 ; WX 600 ; N five ; B 70 -15 521 601 ;
|
||||
C 54 ; WX 600 ; N six ; B 90 -15 521 616 ;
|
||||
C 55 ; WX 600 ; N seven ; B 55 0 494 601 ;
|
||||
C 56 ; WX 600 ; N eight ; B 83 -15 517 616 ;
|
||||
C 57 ; WX 600 ; N nine ; B 79 -15 510 616 ;
|
||||
C 58 ; WX 600 ; N colon ; B 191 -15 407 425 ;
|
||||
C 59 ; WX 600 ; N semicolon ; B 123 -111 408 425 ;
|
||||
C 60 ; WX 600 ; N less ; B 66 15 523 501 ;
|
||||
C 61 ; WX 600 ; N equal ; B 71 118 529 398 ;
|
||||
C 62 ; WX 600 ; N greater ; B 77 15 534 501 ;
|
||||
C 63 ; WX 600 ; N question ; B 98 -14 501 580 ;
|
||||
C 64 ; WX 600 ; N at ; B 16 -15 584 616 ;
|
||||
C 65 ; WX 600 ; N A ; B -9 0 609 562 ;
|
||||
C 66 ; WX 600 ; N B ; B 30 0 573 562 ;
|
||||
C 67 ; WX 600 ; N C ; B 22 -18 560 580 ;
|
||||
C 68 ; WX 600 ; N D ; B 30 0 594 562 ;
|
||||
C 69 ; WX 600 ; N E ; B 25 0 560 562 ;
|
||||
C 70 ; WX 600 ; N F ; B 39 0 570 562 ;
|
||||
C 71 ; WX 600 ; N G ; B 22 -18 594 580 ;
|
||||
C 72 ; WX 600 ; N H ; B 20 0 580 562 ;
|
||||
C 73 ; WX 600 ; N I ; B 77 0 523 562 ;
|
||||
C 74 ; WX 600 ; N J ; B 37 -18 601 562 ;
|
||||
C 75 ; WX 600 ; N K ; B 21 0 599 562 ;
|
||||
C 76 ; WX 600 ; N L ; B 39 0 578 562 ;
|
||||
C 77 ; WX 600 ; N M ; B -2 0 602 562 ;
|
||||
C 78 ; WX 600 ; N N ; B 8 -12 610 562 ;
|
||||
C 79 ; WX 600 ; N O ; B 22 -18 578 580 ;
|
||||
C 80 ; WX 600 ; N P ; B 48 0 559 562 ;
|
||||
C 81 ; WX 600 ; N Q ; B 32 -138 578 580 ;
|
||||
C 82 ; WX 600 ; N R ; B 24 0 599 562 ;
|
||||
C 83 ; WX 600 ; N S ; B 47 -22 553 582 ;
|
||||
C 84 ; WX 600 ; N T ; B 21 0 579 562 ;
|
||||
C 85 ; WX 600 ; N U ; B 4 -18 596 562 ;
|
||||
C 86 ; WX 600 ; N V ; B -13 0 613 562 ;
|
||||
C 87 ; WX 600 ; N W ; B -18 0 618 562 ;
|
||||
C 88 ; WX 600 ; N X ; B 12 0 588 562 ;
|
||||
C 89 ; WX 600 ; N Y ; B 12 0 589 562 ;
|
||||
C 90 ; WX 600 ; N Z ; B 62 0 539 562 ;
|
||||
C 91 ; WX 600 ; N bracketleft ; B 245 -102 475 616 ;
|
||||
C 92 ; WX 600 ; N backslash ; B 99 -77 503 626 ;
|
||||
C 93 ; WX 600 ; N bracketright ; B 125 -102 355 616 ;
|
||||
C 94 ; WX 600 ; N asciicircum ; B 108 250 492 616 ;
|
||||
C 95 ; WX 600 ; N underscore ; B 0 -125 600 -75 ;
|
||||
C 145 ; WX 600 ; N quoteleft ; B 178 277 428 562 ;
|
||||
C 97 ; WX 600 ; N a ; B 35 -15 570 454 ;
|
||||
C 98 ; WX 600 ; N b ; B 0 -15 584 626 ;
|
||||
C 99 ; WX 600 ; N c ; B 40 -15 545 459 ;
|
||||
C 100 ; WX 600 ; N d ; B 20 -15 591 626 ;
|
||||
C 101 ; WX 600 ; N e ; B 40 -15 563 454 ;
|
||||
C 102 ; WX 600 ; N f ; B 83 0 547 626 ; L i fi ; L l fl ;
|
||||
C 103 ; WX 600 ; N g ; B 30 -146 580 454 ;
|
||||
C 104 ; WX 600 ; N h ; B 5 0 592 626 ;
|
||||
C 105 ; WX 600 ; N i ; B 77 0 523 658 ;
|
||||
C 106 ; WX 600 ; N j ; B 63 -146 440 658 ;
|
||||
C 107 ; WX 600 ; N k ; B 20 0 585 626 ;
|
||||
C 108 ; WX 600 ; N l ; B 77 0 523 626 ;
|
||||
C 109 ; WX 600 ; N m ; B -22 0 626 454 ;
|
||||
C 110 ; WX 600 ; N n ; B 18 0 592 454 ;
|
||||
C 111 ; WX 600 ; N o ; B 30 -15 570 454 ;
|
||||
C 112 ; WX 600 ; N p ; B -1 -142 570 454 ;
|
||||
C 113 ; WX 600 ; N q ; B 20 -142 591 454 ;
|
||||
C 114 ; WX 600 ; N r ; B 47 0 580 454 ;
|
||||
C 115 ; WX 600 ; N s ; B 68 -17 535 459 ;
|
||||
C 116 ; WX 600 ; N t ; B 47 -15 532 562 ;
|
||||
C 117 ; WX 600 ; N u ; B -1 -15 569 439 ;
|
||||
C 118 ; WX 600 ; N v ; B -1 0 601 439 ;
|
||||
C 119 ; WX 600 ; N w ; B -18 0 618 439 ;
|
||||
C 120 ; WX 600 ; N x ; B 6 0 594 439 ;
|
||||
C 121 ; WX 600 ; N y ; B -4 -142 601 439 ;
|
||||
C 122 ; WX 600 ; N z ; B 81 0 520 439 ;
|
||||
C 123 ; WX 600 ; N braceleft ; B 160 -102 464 616 ;
|
||||
C 124 ; WX 600 ; N bar ; B 255 -250 345 750 ;
|
||||
C 125 ; WX 600 ; N braceright ; B 136 -102 440 616 ;
|
||||
C 126 ; WX 600 ; N asciitilde ; B 71 153 530 356 ;
|
||||
C 161 ; WX 600 ; N exclamdown ; B 202 -146 398 449 ;
|
||||
C 162 ; WX 600 ; N cent ; B 66 -49 518 614 ;
|
||||
C 163 ; WX 600 ; N sterling ; B 72 -28 558 611 ;
|
||||
C -1 ; WX 600 ; N fraction ; B 25 -60 576 661 ;
|
||||
C 165 ; WX 600 ; N yen ; B 10 0 590 562 ;
|
||||
C 131 ; WX 600 ; N florin ; B -30 -131 572 616 ;
|
||||
C 167 ; WX 600 ; N section ; B 83 -70 517 580 ;
|
||||
C 164 ; WX 600 ; N currency ; B 54 49 546 517 ;
|
||||
C 39 ; WX 600 ; N quotesingle ; B 227 277 373 562 ;
|
||||
C 147 ; WX 600 ; N quotedblleft ; B 71 277 535 562 ;
|
||||
C 171 ; WX 600 ; N guillemotleft ; B 8 70 553 446 ;
|
||||
C 139 ; WX 600 ; N guilsinglleft ; B 141 70 459 446 ;
|
||||
C 155 ; WX 600 ; N guilsinglright ; B 141 70 459 446 ;
|
||||
C -1 ; WX 600 ; N fi ; B 12 0 593 626 ;
|
||||
C -1 ; WX 600 ; N fl ; B 12 0 593 626 ;
|
||||
C 150 ; WX 600 ; N endash ; B 65 203 535 313 ;
|
||||
C 134 ; WX 600 ; N dagger ; B 106 -70 494 580 ;
|
||||
C 135 ; WX 600 ; N daggerdbl ; B 106 -70 494 580 ;
|
||||
C 183 ; WX 600 ; N periodcentered ; B 196 165 404 351 ;
|
||||
C 182 ; WX 600 ; N paragraph ; B 6 -70 576 580 ;
|
||||
C 149 ; WX 600 ; N bullet ; B 140 132 460 430 ;
|
||||
C 130 ; WX 600 ; N quotesinglbase ; B 175 -142 427 143 ;
|
||||
C 132 ; WX 600 ; N quotedblbase ; B 65 -142 529 143 ;
|
||||
C 148 ; WX 600 ; N quotedblright ; B 61 277 525 562 ;
|
||||
C 187 ; WX 600 ; N guillemotright ; B 47 70 592 446 ;
|
||||
C 133 ; WX 600 ; N ellipsis ; B 26 -15 574 116 ;
|
||||
C 137 ; WX 600 ; N perthousand ; B -113 -15 713 616 ;
|
||||
C 191 ; WX 600 ; N questiondown ; B 99 -146 502 449 ;
|
||||
C 96 ; WX 600 ; N grave ; B 132 508 395 661 ;
|
||||
C 180 ; WX 600 ; N acute ; B 205 508 468 661 ;
|
||||
C 136 ; WX 600 ; N circumflex ; B 103 483 497 657 ;
|
||||
C 152 ; WX 600 ; N tilde ; B 89 493 512 636 ;
|
||||
C 175 ; WX 600 ; N macron ; B 88 505 512 585 ;
|
||||
C -1 ; WX 600 ; N breve ; B 83 468 517 631 ;
|
||||
C -1 ; WX 600 ; N dotaccent ; B 230 498 370 638 ;
|
||||
C 168 ; WX 600 ; N dieresis ; B 128 498 472 638 ;
|
||||
C -1 ; WX 600 ; N ring ; B 198 481 402 678 ;
|
||||
C 184 ; WX 600 ; N cedilla ; B 205 -206 387 0 ;
|
||||
C -1 ; WX 600 ; N hungarumlaut ; B 68 488 588 661 ;
|
||||
C -1 ; WX 600 ; N ogonek ; B 169 -199 400 0 ;
|
||||
C -1 ; WX 600 ; N caron ; B 103 493 497 667 ;
|
||||
C 151 ; WX 600 ; N emdash ; B -10 203 610 313 ;
|
||||
C 198 ; WX 600 ; N AE ; B -29 0 602 562 ;
|
||||
C 170 ; WX 600 ; N ordfeminine ; B 147 196 453 580 ;
|
||||
C -1 ; WX 600 ; N Lslash ; B 39 0 578 562 ;
|
||||
C 216 ; WX 600 ; N Oslash ; B 22 -22 578 584 ;
|
||||
C 140 ; WX 600 ; N OE ; B -25 0 595 562 ;
|
||||
C 186 ; WX 600 ; N ordmasculine ; B 147 196 453 580 ;
|
||||
C 230 ; WX 600 ; N ae ; B -4 -15 601 454 ;
|
||||
C -1 ; WX 600 ; N dotlessi ; B 77 0 523 439 ;
|
||||
C -1 ; WX 600 ; N lslash ; B 77 0 523 626 ;
|
||||
C 248 ; WX 600 ; N oslash ; B 30 -24 570 463 ;
|
||||
C 156 ; WX 600 ; N oe ; B -18 -15 611 454 ;
|
||||
C 223 ; WX 600 ; N germandbls ; B 22 -15 596 626 ;
|
||||
C 207 ; WX 600 ; N Idieresis ; B 77 0 523 761 ;
|
||||
C 233 ; WX 600 ; N eacute ; B 40 -15 563 661 ;
|
||||
C -1 ; WX 600 ; N abreve ; B 35 -15 570 661 ;
|
||||
C -1 ; WX 600 ; N uhungarumlaut ; B -1 -15 628 661 ;
|
||||
C -1 ; WX 600 ; N ecaron ; B 40 -15 563 667 ;
|
||||
C 159 ; WX 600 ; N Ydieresis ; B 12 0 589 761 ;
|
||||
C 247 ; WX 600 ; N divide ; B 71 16 529 500 ;
|
||||
C 221 ; WX 600 ; N Yacute ; B 12 0 589 784 ;
|
||||
C 194 ; WX 600 ; N Acircumflex ; B -9 0 609 780 ;
|
||||
C 225 ; WX 600 ; N aacute ; B 35 -15 570 661 ;
|
||||
C 219 ; WX 600 ; N Ucircumflex ; B 4 -18 596 780 ;
|
||||
C 253 ; WX 600 ; N yacute ; B -4 -142 601 661 ;
|
||||
C -1 ; WX 600 ; N scommaaccent ; B 68 -250 535 459 ;
|
||||
C 234 ; WX 600 ; N ecircumflex ; B 40 -15 563 657 ;
|
||||
C -1 ; WX 600 ; N Uring ; B 4 -18 596 801 ;
|
||||
C 220 ; WX 600 ; N Udieresis ; B 4 -18 596 761 ;
|
||||
C -1 ; WX 600 ; N aogonek ; B 35 -199 586 454 ;
|
||||
C 218 ; WX 600 ; N Uacute ; B 4 -18 596 784 ;
|
||||
C -1 ; WX 600 ; N uogonek ; B -1 -199 585 439 ;
|
||||
C 203 ; WX 600 ; N Edieresis ; B 25 0 560 761 ;
|
||||
C -1 ; WX 600 ; N Dcroat ; B 30 0 594 562 ;
|
||||
C -1 ; WX 600 ; N commaaccent ; B 205 -250 397 -57 ;
|
||||
C 169 ; WX 600 ; N copyright ; B 0 -18 600 580 ;
|
||||
C -1 ; WX 600 ; N Emacron ; B 25 0 560 708 ;
|
||||
C -1 ; WX 600 ; N ccaron ; B 40 -15 545 667 ;
|
||||
C 229 ; WX 600 ; N aring ; B 35 -15 570 678 ;
|
||||
C -1 ; WX 600 ; N Ncommaaccent ; B 8 -250 610 562 ;
|
||||
C -1 ; WX 600 ; N lacute ; B 77 0 523 801 ;
|
||||
C 224 ; WX 600 ; N agrave ; B 35 -15 570 661 ;
|
||||
C -1 ; WX 600 ; N Tcommaaccent ; B 21 -250 579 562 ;
|
||||
C -1 ; WX 600 ; N Cacute ; B 22 -18 560 784 ;
|
||||
C 227 ; WX 600 ; N atilde ; B 35 -15 570 636 ;
|
||||
C -1 ; WX 600 ; N Edotaccent ; B 25 0 560 761 ;
|
||||
C 154 ; WX 600 ; N scaron ; B 68 -17 535 667 ;
|
||||
C -1 ; WX 600 ; N scedilla ; B 68 -206 535 459 ;
|
||||
C 237 ; WX 600 ; N iacute ; B 77 0 523 661 ;
|
||||
C -1 ; WX 600 ; N lozenge ; B 66 0 534 740 ;
|
||||
C -1 ; WX 600 ; N Rcaron ; B 24 0 599 790 ;
|
||||
C -1 ; WX 600 ; N Gcommaaccent ; B 22 -250 594 580 ;
|
||||
C 251 ; WX 600 ; N ucircumflex ; B -1 -15 569 657 ;
|
||||
C 226 ; WX 600 ; N acircumflex ; B 35 -15 570 657 ;
|
||||
C -1 ; WX 600 ; N Amacron ; B -9 0 609 708 ;
|
||||
C -1 ; WX 600 ; N rcaron ; B 47 0 580 667 ;
|
||||
C 231 ; WX 600 ; N ccedilla ; B 40 -206 545 459 ;
|
||||
C -1 ; WX 600 ; N Zdotaccent ; B 62 0 539 761 ;
|
||||
C 222 ; WX 600 ; N Thorn ; B 48 0 557 562 ;
|
||||
C -1 ; WX 600 ; N Omacron ; B 22 -18 578 708 ;
|
||||
C -1 ; WX 600 ; N Racute ; B 24 0 599 784 ;
|
||||
C -1 ; WX 600 ; N Sacute ; B 47 -22 553 784 ;
|
||||
C -1 ; WX 600 ; N dcaron ; B 20 -15 727 626 ;
|
||||
C -1 ; WX 600 ; N Umacron ; B 4 -18 596 708 ;
|
||||
C -1 ; WX 600 ; N uring ; B -1 -15 569 678 ;
|
||||
C 179 ; WX 600 ; N threesuperior ; B 138 222 433 616 ;
|
||||
C 210 ; WX 600 ; N Ograve ; B 22 -18 578 784 ;
|
||||
C 192 ; WX 600 ; N Agrave ; B -9 0 609 784 ;
|
||||
C -1 ; WX 600 ; N Abreve ; B -9 0 609 784 ;
|
||||
C 215 ; WX 600 ; N multiply ; B 81 39 520 478 ;
|
||||
C 250 ; WX 600 ; N uacute ; B -1 -15 569 661 ;
|
||||
C -1 ; WX 600 ; N Tcaron ; B 21 0 579 790 ;
|
||||
C -1 ; WX 600 ; N partialdiff ; B 63 -38 537 728 ;
|
||||
C 255 ; WX 600 ; N ydieresis ; B -4 -142 601 638 ;
|
||||
C -1 ; WX 600 ; N Nacute ; B 8 -12 610 784 ;
|
||||
C 238 ; WX 600 ; N icircumflex ; B 73 0 523 657 ;
|
||||
C 202 ; WX 600 ; N Ecircumflex ; B 25 0 560 780 ;
|
||||
C 228 ; WX 600 ; N adieresis ; B 35 -15 570 638 ;
|
||||
C 235 ; WX 600 ; N edieresis ; B 40 -15 563 638 ;
|
||||
C -1 ; WX 600 ; N cacute ; B 40 -15 545 661 ;
|
||||
C -1 ; WX 600 ; N nacute ; B 18 0 592 661 ;
|
||||
C -1 ; WX 600 ; N umacron ; B -1 -15 569 585 ;
|
||||
C -1 ; WX 600 ; N Ncaron ; B 8 -12 610 790 ;
|
||||
C 205 ; WX 600 ; N Iacute ; B 77 0 523 784 ;
|
||||
C 177 ; WX 600 ; N plusminus ; B 71 24 529 515 ;
|
||||
C 166 ; WX 600 ; N brokenbar ; B 255 -175 345 675 ;
|
||||
C 174 ; WX 600 ; N registered ; B 0 -18 600 580 ;
|
||||
C -1 ; WX 600 ; N Gbreve ; B 22 -18 594 784 ;
|
||||
C -1 ; WX 600 ; N Idotaccent ; B 77 0 523 761 ;
|
||||
C -1 ; WX 600 ; N summation ; B 15 -10 586 706 ;
|
||||
C 200 ; WX 600 ; N Egrave ; B 25 0 560 784 ;
|
||||
C -1 ; WX 600 ; N racute ; B 47 0 580 661 ;
|
||||
C -1 ; WX 600 ; N omacron ; B 30 -15 570 585 ;
|
||||
C -1 ; WX 600 ; N Zacute ; B 62 0 539 784 ;
|
||||
C 142 ; WX 600 ; N Zcaron ; B 62 0 539 790 ;
|
||||
C -1 ; WX 600 ; N greaterequal ; B 26 0 523 696 ;
|
||||
C 208 ; WX 600 ; N Eth ; B 30 0 594 562 ;
|
||||
C 199 ; WX 600 ; N Ccedilla ; B 22 -206 560 580 ;
|
||||
C -1 ; WX 600 ; N lcommaaccent ; B 77 -250 523 626 ;
|
||||
C -1 ; WX 600 ; N tcaron ; B 47 -15 532 703 ;
|
||||
C -1 ; WX 600 ; N eogonek ; B 40 -199 563 454 ;
|
||||
C -1 ; WX 600 ; N Uogonek ; B 4 -199 596 562 ;
|
||||
C 193 ; WX 600 ; N Aacute ; B -9 0 609 784 ;
|
||||
C 196 ; WX 600 ; N Adieresis ; B -9 0 609 761 ;
|
||||
C 232 ; WX 600 ; N egrave ; B 40 -15 563 661 ;
|
||||
C -1 ; WX 600 ; N zacute ; B 81 0 520 661 ;
|
||||
C -1 ; WX 600 ; N iogonek ; B 77 -199 523 658 ;
|
||||
C 211 ; WX 600 ; N Oacute ; B 22 -18 578 784 ;
|
||||
C 243 ; WX 600 ; N oacute ; B 30 -15 570 661 ;
|
||||
C -1 ; WX 600 ; N amacron ; B 35 -15 570 585 ;
|
||||
C -1 ; WX 600 ; N sacute ; B 68 -17 535 661 ;
|
||||
C 239 ; WX 600 ; N idieresis ; B 77 0 523 618 ;
|
||||
C 212 ; WX 600 ; N Ocircumflex ; B 22 -18 578 780 ;
|
||||
C 217 ; WX 600 ; N Ugrave ; B 4 -18 596 784 ;
|
||||
C -1 ; WX 600 ; N Delta ; B 6 0 594 688 ;
|
||||
C 254 ; WX 600 ; N thorn ; B -14 -142 570 626 ;
|
||||
C 178 ; WX 600 ; N twosuperior ; B 143 230 436 616 ;
|
||||
C 214 ; WX 600 ; N Odieresis ; B 22 -18 578 761 ;
|
||||
C 181 ; WX 600 ; N mu ; B -1 -142 569 439 ;
|
||||
C 236 ; WX 600 ; N igrave ; B 77 0 523 661 ;
|
||||
C -1 ; WX 600 ; N ohungarumlaut ; B 30 -15 668 661 ;
|
||||
C -1 ; WX 600 ; N Eogonek ; B 25 -199 576 562 ;
|
||||
C -1 ; WX 600 ; N dcroat ; B 20 -15 591 626 ;
|
||||
C 190 ; WX 600 ; N threequarters ; B -47 -60 648 661 ;
|
||||
C -1 ; WX 600 ; N Scedilla ; B 47 -206 553 582 ;
|
||||
C -1 ; WX 600 ; N lcaron ; B 77 0 597 626 ;
|
||||
C -1 ; WX 600 ; N Kcommaaccent ; B 21 -250 599 562 ;
|
||||
C -1 ; WX 600 ; N Lacute ; B 39 0 578 784 ;
|
||||
C 153 ; WX 600 ; N trademark ; B -9 230 749 562 ;
|
||||
C -1 ; WX 600 ; N edotaccent ; B 40 -15 563 638 ;
|
||||
C 204 ; WX 600 ; N Igrave ; B 77 0 523 784 ;
|
||||
C -1 ; WX 600 ; N Imacron ; B 77 0 523 708 ;
|
||||
C -1 ; WX 600 ; N Lcaron ; B 39 0 637 562 ;
|
||||
C 189 ; WX 600 ; N onehalf ; B -47 -60 648 661 ;
|
||||
C -1 ; WX 600 ; N lessequal ; B 26 0 523 696 ;
|
||||
C 244 ; WX 600 ; N ocircumflex ; B 30 -15 570 657 ;
|
||||
C 241 ; WX 600 ; N ntilde ; B 18 0 592 636 ;
|
||||
C -1 ; WX 600 ; N Uhungarumlaut ; B 4 -18 638 784 ;
|
||||
C 201 ; WX 600 ; N Eacute ; B 25 0 560 784 ;
|
||||
C -1 ; WX 600 ; N emacron ; B 40 -15 563 585 ;
|
||||
C -1 ; WX 600 ; N gbreve ; B 30 -146 580 661 ;
|
||||
C 188 ; WX 600 ; N onequarter ; B -56 -60 656 661 ;
|
||||
C 138 ; WX 600 ; N Scaron ; B 47 -22 553 790 ;
|
||||
C -1 ; WX 600 ; N Scommaaccent ; B 47 -250 553 582 ;
|
||||
C -1 ; WX 600 ; N Ohungarumlaut ; B 22 -18 628 784 ;
|
||||
C 176 ; WX 600 ; N degree ; B 86 243 474 616 ;
|
||||
C 242 ; WX 600 ; N ograve ; B 30 -15 570 661 ;
|
||||
C -1 ; WX 600 ; N Ccaron ; B 22 -18 560 790 ;
|
||||
C 249 ; WX 600 ; N ugrave ; B -1 -15 569 661 ;
|
||||
C -1 ; WX 600 ; N radical ; B -19 -104 473 778 ;
|
||||
C -1 ; WX 600 ; N Dcaron ; B 30 0 594 790 ;
|
||||
C -1 ; WX 600 ; N rcommaaccent ; B 47 -250 580 454 ;
|
||||
C 209 ; WX 600 ; N Ntilde ; B 8 -12 610 759 ;
|
||||
C 245 ; WX 600 ; N otilde ; B 30 -15 570 636 ;
|
||||
C -1 ; WX 600 ; N Rcommaaccent ; B 24 -250 599 562 ;
|
||||
C -1 ; WX 600 ; N Lcommaaccent ; B 39 -250 578 562 ;
|
||||
C 195 ; WX 600 ; N Atilde ; B -9 0 609 759 ;
|
||||
C -1 ; WX 600 ; N Aogonek ; B -9 -199 625 562 ;
|
||||
C 197 ; WX 600 ; N Aring ; B -9 0 609 801 ;
|
||||
C 213 ; WX 600 ; N Otilde ; B 22 -18 578 759 ;
|
||||
C -1 ; WX 600 ; N zdotaccent ; B 81 0 520 638 ;
|
||||
C -1 ; WX 600 ; N Ecaron ; B 25 0 560 790 ;
|
||||
C -1 ; WX 600 ; N Iogonek ; B 77 -199 523 562 ;
|
||||
C -1 ; WX 600 ; N kcommaaccent ; B 20 -250 585 626 ;
|
||||
C -1 ; WX 600 ; N minus ; B 71 203 529 313 ;
|
||||
C 206 ; WX 600 ; N Icircumflex ; B 77 0 523 780 ;
|
||||
C -1 ; WX 600 ; N ncaron ; B 18 0 592 667 ;
|
||||
C -1 ; WX 600 ; N tcommaaccent ; B 47 -250 532 562 ;
|
||||
C 172 ; WX 600 ; N logicalnot ; B 71 103 529 413 ;
|
||||
C 246 ; WX 600 ; N odieresis ; B 30 -15 570 638 ;
|
||||
C 252 ; WX 600 ; N udieresis ; B -1 -15 569 638 ;
|
||||
C -1 ; WX 600 ; N notequal ; B 12 -47 537 563 ;
|
||||
C -1 ; WX 600 ; N gcommaaccent ; B 30 -146 580 714 ;
|
||||
C 240 ; WX 600 ; N eth ; B 58 -27 543 626 ;
|
||||
C 158 ; WX 600 ; N zcaron ; B 81 0 520 667 ;
|
||||
C -1 ; WX 600 ; N ncommaaccent ; B 18 -250 592 454 ;
|
||||
C 185 ; WX 600 ; N onesuperior ; B 153 230 447 616 ;
|
||||
C -1 ; WX 600 ; N imacron ; B 77 0 523 585 ;
|
||||
C 128 ; WX 600 ; N Euro ; B 0 0 0 0 ;
|
||||
EndCharMetrics
|
||||
EndFontMetrics
|
344
nrpc_site/dompdf/lib/fonts/Courier-BoldOblique.afm
Normal file
344
nrpc_site/dompdf/lib/fonts/Courier-BoldOblique.afm
Normal file
|
@ -0,0 +1,344 @@
|
|||
StartFontMetrics 4.1
|
||||
Comment Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
|
||||
Comment Creation Date: Mon Jun 23 16:28:46 0:00:00
|
||||
Comment UniqueID 43049
|
||||
Comment VMusage 17529 79244
|
||||
FontName Courier-BoldOblique
|
||||
FullName Courier Bold Oblique
|
||||
FamilyName Courier
|
||||
Weight Bold
|
||||
ItalicAngle -12
|
||||
IsFixedPitch true
|
||||
CharacterSet ExtendedRoman
|
||||
FontBBox -57 -250 869 801
|
||||
UnderlinePosition -100
|
||||
UnderlineThickness 50
|
||||
Version 3
|
||||
Notice Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
|
||||
EncodingScheme WinAnsiEncoding
|
||||
CapHeight 562
|
||||
XHeight 439
|
||||
Ascender 629
|
||||
Descender -157
|
||||
StdHW 84
|
||||
StdVW 106
|
||||
StartCharMetrics 317
|
||||
C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
|
||||
C 160 ; WX 600 ; N space ; B 0 0 0 0 ;
|
||||
C 33 ; WX 600 ; N exclam ; B 215 -15 495 572 ;
|
||||
C 34 ; WX 600 ; N quotedbl ; B 211 277 585 562 ;
|
||||
C 35 ; WX 600 ; N numbersign ; B 88 -45 641 651 ;
|
||||
C 36 ; WX 600 ; N dollar ; B 87 -126 630 666 ;
|
||||
C 37 ; WX 600 ; N percent ; B 101 -15 625 616 ;
|
||||
C 38 ; WX 600 ; N ampersand ; B 61 -15 595 543 ;
|
||||
C 146 ; WX 600 ; N quoteright ; B 229 277 543 562 ;
|
||||
C 40 ; WX 600 ; N parenleft ; B 265 -102 592 616 ;
|
||||
C 41 ; WX 600 ; N parenright ; B 117 -102 444 616 ;
|
||||
C 42 ; WX 600 ; N asterisk ; B 179 219 598 601 ;
|
||||
C 43 ; WX 600 ; N plus ; B 114 39 596 478 ;
|
||||
C 44 ; WX 600 ; N comma ; B 99 -111 430 174 ;
|
||||
C 45 ; WX 600 ; N hyphen ; B 143 203 567 313 ;
|
||||
C 173 ; WX 600 ; N hyphen ; B 143 203 567 313 ;
|
||||
C 46 ; WX 600 ; N period ; B 206 -15 427 171 ;
|
||||
C 47 ; WX 600 ; N slash ; B 90 -77 626 626 ;
|
||||
C 48 ; WX 600 ; N zero ; B 135 -15 593 616 ;
|
||||
C 49 ; WX 600 ; N one ; B 93 0 562 616 ;
|
||||
C 50 ; WX 600 ; N two ; B 61 0 594 616 ;
|
||||
C 51 ; WX 600 ; N three ; B 71 -15 571 616 ;
|
||||
C 52 ; WX 600 ; N four ; B 81 0 559 616 ;
|
||||
C 53 ; WX 600 ; N five ; B 77 -15 621 601 ;
|
||||
C 54 ; WX 600 ; N six ; B 135 -15 652 616 ;
|
||||
C 55 ; WX 600 ; N seven ; B 147 0 622 601 ;
|
||||
C 56 ; WX 600 ; N eight ; B 115 -15 604 616 ;
|
||||
C 57 ; WX 600 ; N nine ; B 75 -15 592 616 ;
|
||||
C 58 ; WX 600 ; N colon ; B 205 -15 480 425 ;
|
||||
C 59 ; WX 600 ; N semicolon ; B 99 -111 481 425 ;
|
||||
C 60 ; WX 600 ; N less ; B 120 15 613 501 ;
|
||||
C 61 ; WX 600 ; N equal ; B 96 118 614 398 ;
|
||||
C 62 ; WX 600 ; N greater ; B 97 15 589 501 ;
|
||||
C 63 ; WX 600 ; N question ; B 183 -14 592 580 ;
|
||||
C 64 ; WX 600 ; N at ; B 65 -15 642 616 ;
|
||||
C 65 ; WX 600 ; N A ; B -9 0 632 562 ;
|
||||
C 66 ; WX 600 ; N B ; B 30 0 630 562 ;
|
||||
C 67 ; WX 600 ; N C ; B 74 -18 675 580 ;
|
||||
C 68 ; WX 600 ; N D ; B 30 0 664 562 ;
|
||||
C 69 ; WX 600 ; N E ; B 25 0 670 562 ;
|
||||
C 70 ; WX 600 ; N F ; B 39 0 684 562 ;
|
||||
C 71 ; WX 600 ; N G ; B 74 -18 675 580 ;
|
||||
C 72 ; WX 600 ; N H ; B 20 0 700 562 ;
|
||||
C 73 ; WX 600 ; N I ; B 77 0 643 562 ;
|
||||
C 74 ; WX 600 ; N J ; B 58 -18 721 562 ;
|
||||
C 75 ; WX 600 ; N K ; B 21 0 692 562 ;
|
||||
C 76 ; WX 600 ; N L ; B 39 0 636 562 ;
|
||||
C 77 ; WX 600 ; N M ; B -2 0 722 562 ;
|
||||
C 78 ; WX 600 ; N N ; B 8 -12 730 562 ;
|
||||
C 79 ; WX 600 ; N O ; B 74 -18 645 580 ;
|
||||
C 80 ; WX 600 ; N P ; B 48 0 643 562 ;
|
||||
C 81 ; WX 600 ; N Q ; B 83 -138 636 580 ;
|
||||
C 82 ; WX 600 ; N R ; B 24 0 617 562 ;
|
||||
C 83 ; WX 600 ; N S ; B 54 -22 673 582 ;
|
||||
C 84 ; WX 600 ; N T ; B 86 0 679 562 ;
|
||||
C 85 ; WX 600 ; N U ; B 101 -18 716 562 ;
|
||||
C 86 ; WX 600 ; N V ; B 84 0 733 562 ;
|
||||
C 87 ; WX 600 ; N W ; B 79 0 738 562 ;
|
||||
C 88 ; WX 600 ; N X ; B 12 0 690 562 ;
|
||||
C 89 ; WX 600 ; N Y ; B 109 0 709 562 ;
|
||||
C 90 ; WX 600 ; N Z ; B 62 0 637 562 ;
|
||||
C 91 ; WX 600 ; N bracketleft ; B 223 -102 606 616 ;
|
||||
C 92 ; WX 600 ; N backslash ; B 222 -77 496 626 ;
|
||||
C 93 ; WX 600 ; N bracketright ; B 103 -102 486 616 ;
|
||||
C 94 ; WX 600 ; N asciicircum ; B 171 250 556 616 ;
|
||||
C 95 ; WX 600 ; N underscore ; B -27 -125 585 -75 ;
|
||||
C 145 ; WX 600 ; N quoteleft ; B 297 277 487 562 ;
|
||||
C 97 ; WX 600 ; N a ; B 61 -15 593 454 ;
|
||||
C 98 ; WX 600 ; N b ; B 13 -15 636 626 ;
|
||||
C 99 ; WX 600 ; N c ; B 81 -15 631 459 ;
|
||||
C 100 ; WX 600 ; N d ; B 60 -15 645 626 ;
|
||||
C 101 ; WX 600 ; N e ; B 81 -15 605 454 ;
|
||||
C 102 ; WX 600 ; N f ; B 83 0 677 626 ; L i fi ; L l fl ;
|
||||
C 103 ; WX 600 ; N g ; B 40 -146 674 454 ;
|
||||
C 104 ; WX 600 ; N h ; B 18 0 615 626 ;
|
||||
C 105 ; WX 600 ; N i ; B 77 0 546 658 ;
|
||||
C 106 ; WX 600 ; N j ; B 36 -146 580 658 ;
|
||||
C 107 ; WX 600 ; N k ; B 33 0 643 626 ;
|
||||
C 108 ; WX 600 ; N l ; B 77 0 546 626 ;
|
||||
C 109 ; WX 600 ; N m ; B -22 0 649 454 ;
|
||||
C 110 ; WX 600 ; N n ; B 18 0 615 454 ;
|
||||
C 111 ; WX 600 ; N o ; B 71 -15 622 454 ;
|
||||
C 112 ; WX 600 ; N p ; B -32 -142 622 454 ;
|
||||
C 113 ; WX 600 ; N q ; B 60 -142 685 454 ;
|
||||
C 114 ; WX 600 ; N r ; B 47 0 655 454 ;
|
||||
C 115 ; WX 600 ; N s ; B 66 -17 608 459 ;
|
||||
C 116 ; WX 600 ; N t ; B 118 -15 567 562 ;
|
||||
C 117 ; WX 600 ; N u ; B 70 -15 592 439 ;
|
||||
C 118 ; WX 600 ; N v ; B 70 0 695 439 ;
|
||||
C 119 ; WX 600 ; N w ; B 53 0 712 439 ;
|
||||
C 120 ; WX 600 ; N x ; B 6 0 671 439 ;
|
||||
C 121 ; WX 600 ; N y ; B -21 -142 695 439 ;
|
||||
C 122 ; WX 600 ; N z ; B 81 0 614 439 ;
|
||||
C 123 ; WX 600 ; N braceleft ; B 203 -102 595 616 ;
|
||||
C 124 ; WX 600 ; N bar ; B 201 -250 505 750 ;
|
||||
C 125 ; WX 600 ; N braceright ; B 114 -102 506 616 ;
|
||||
C 126 ; WX 600 ; N asciitilde ; B 120 153 590 356 ;
|
||||
C 161 ; WX 600 ; N exclamdown ; B 196 -146 477 449 ;
|
||||
C 162 ; WX 600 ; N cent ; B 121 -49 605 614 ;
|
||||
C 163 ; WX 600 ; N sterling ; B 106 -28 650 611 ;
|
||||
C -1 ; WX 600 ; N fraction ; B 22 -60 708 661 ;
|
||||
C 165 ; WX 600 ; N yen ; B 98 0 710 562 ;
|
||||
C 131 ; WX 600 ; N florin ; B -57 -131 702 616 ;
|
||||
C 167 ; WX 600 ; N section ; B 74 -70 620 580 ;
|
||||
C 164 ; WX 600 ; N currency ; B 77 49 644 517 ;
|
||||
C 39 ; WX 600 ; N quotesingle ; B 303 277 493 562 ;
|
||||
C 147 ; WX 600 ; N quotedblleft ; B 190 277 594 562 ;
|
||||
C 171 ; WX 600 ; N guillemotleft ; B 62 70 639 446 ;
|
||||
C 139 ; WX 600 ; N guilsinglleft ; B 195 70 545 446 ;
|
||||
C 155 ; WX 600 ; N guilsinglright ; B 165 70 514 446 ;
|
||||
C -1 ; WX 600 ; N fi ; B 12 0 644 626 ;
|
||||
C -1 ; WX 600 ; N fl ; B 12 0 644 626 ;
|
||||
C 150 ; WX 600 ; N endash ; B 108 203 602 313 ;
|
||||
C 134 ; WX 600 ; N dagger ; B 175 -70 586 580 ;
|
||||
C 135 ; WX 600 ; N daggerdbl ; B 121 -70 587 580 ;
|
||||
C 183 ; WX 600 ; N periodcentered ; B 248 165 461 351 ;
|
||||
C 182 ; WX 600 ; N paragraph ; B 61 -70 700 580 ;
|
||||
C 149 ; WX 600 ; N bullet ; B 196 132 523 430 ;
|
||||
C 130 ; WX 600 ; N quotesinglbase ; B 144 -142 458 143 ;
|
||||
C 132 ; WX 600 ; N quotedblbase ; B 34 -142 560 143 ;
|
||||
C 148 ; WX 600 ; N quotedblright ; B 119 277 645 562 ;
|
||||
C 187 ; WX 600 ; N guillemotright ; B 71 70 647 446 ;
|
||||
C 133 ; WX 600 ; N ellipsis ; B 35 -15 587 116 ;
|
||||
C 137 ; WX 600 ; N perthousand ; B -45 -15 743 616 ;
|
||||
C 191 ; WX 600 ; N questiondown ; B 100 -146 509 449 ;
|
||||
C 96 ; WX 600 ; N grave ; B 272 508 503 661 ;
|
||||
C 180 ; WX 600 ; N acute ; B 312 508 609 661 ;
|
||||
C 136 ; WX 600 ; N circumflex ; B 212 483 607 657 ;
|
||||
C 152 ; WX 600 ; N tilde ; B 199 493 643 636 ;
|
||||
C 175 ; WX 600 ; N macron ; B 195 505 637 585 ;
|
||||
C -1 ; WX 600 ; N breve ; B 217 468 652 631 ;
|
||||
C -1 ; WX 600 ; N dotaccent ; B 348 498 493 638 ;
|
||||
C 168 ; WX 600 ; N dieresis ; B 246 498 595 638 ;
|
||||
C -1 ; WX 600 ; N ring ; B 319 481 528 678 ;
|
||||
C 184 ; WX 600 ; N cedilla ; B 168 -206 368 0 ;
|
||||
C -1 ; WX 600 ; N hungarumlaut ; B 171 488 729 661 ;
|
||||
C -1 ; WX 600 ; N ogonek ; B 143 -199 367 0 ;
|
||||
C -1 ; WX 600 ; N caron ; B 238 493 633 667 ;
|
||||
C 151 ; WX 600 ; N emdash ; B 33 203 677 313 ;
|
||||
C 198 ; WX 600 ; N AE ; B -29 0 708 562 ;
|
||||
C 170 ; WX 600 ; N ordfeminine ; B 188 196 526 580 ;
|
||||
C -1 ; WX 600 ; N Lslash ; B 39 0 636 562 ;
|
||||
C 216 ; WX 600 ; N Oslash ; B 48 -22 673 584 ;
|
||||
C 140 ; WX 600 ; N OE ; B 26 0 701 562 ;
|
||||
C 186 ; WX 600 ; N ordmasculine ; B 188 196 543 580 ;
|
||||
C 230 ; WX 600 ; N ae ; B 21 -15 652 454 ;
|
||||
C -1 ; WX 600 ; N dotlessi ; B 77 0 546 439 ;
|
||||
C -1 ; WX 600 ; N lslash ; B 77 0 587 626 ;
|
||||
C 248 ; WX 600 ; N oslash ; B 54 -24 638 463 ;
|
||||
C 156 ; WX 600 ; N oe ; B 18 -15 662 454 ;
|
||||
C 223 ; WX 600 ; N germandbls ; B 22 -15 629 626 ;
|
||||
C 207 ; WX 600 ; N Idieresis ; B 77 0 643 761 ;
|
||||
C 233 ; WX 600 ; N eacute ; B 81 -15 609 661 ;
|
||||
C -1 ; WX 600 ; N abreve ; B 61 -15 658 661 ;
|
||||
C -1 ; WX 600 ; N uhungarumlaut ; B 70 -15 769 661 ;
|
||||
C -1 ; WX 600 ; N ecaron ; B 81 -15 633 667 ;
|
||||
C 159 ; WX 600 ; N Ydieresis ; B 109 0 709 761 ;
|
||||
C 247 ; WX 600 ; N divide ; B 114 16 596 500 ;
|
||||
C 221 ; WX 600 ; N Yacute ; B 109 0 709 784 ;
|
||||
C 194 ; WX 600 ; N Acircumflex ; B -9 0 632 780 ;
|
||||
C 225 ; WX 600 ; N aacute ; B 61 -15 609 661 ;
|
||||
C 219 ; WX 600 ; N Ucircumflex ; B 101 -18 716 780 ;
|
||||
C 253 ; WX 600 ; N yacute ; B -21 -142 695 661 ;
|
||||
C -1 ; WX 600 ; N scommaaccent ; B 66 -250 608 459 ;
|
||||
C 234 ; WX 600 ; N ecircumflex ; B 81 -15 607 657 ;
|
||||
C -1 ; WX 600 ; N Uring ; B 101 -18 716 801 ;
|
||||
C 220 ; WX 600 ; N Udieresis ; B 101 -18 716 761 ;
|
||||
C -1 ; WX 600 ; N aogonek ; B 61 -199 593 454 ;
|
||||
C 218 ; WX 600 ; N Uacute ; B 101 -18 716 784 ;
|
||||
C -1 ; WX 600 ; N uogonek ; B 70 -199 592 439 ;
|
||||
C 203 ; WX 600 ; N Edieresis ; B 25 0 670 761 ;
|
||||
C -1 ; WX 600 ; N Dcroat ; B 30 0 664 562 ;
|
||||
C -1 ; WX 600 ; N commaaccent ; B 151 -250 385 -57 ;
|
||||
C 169 ; WX 600 ; N copyright ; B 53 -18 667 580 ;
|
||||
C -1 ; WX 600 ; N Emacron ; B 25 0 670 708 ;
|
||||
C -1 ; WX 600 ; N ccaron ; B 81 -15 633 667 ;
|
||||
C 229 ; WX 600 ; N aring ; B 61 -15 593 678 ;
|
||||
C -1 ; WX 600 ; N Ncommaaccent ; B 8 -250 730 562 ;
|
||||
C -1 ; WX 600 ; N lacute ; B 77 0 639 801 ;
|
||||
C 224 ; WX 600 ; N agrave ; B 61 -15 593 661 ;
|
||||
C -1 ; WX 600 ; N Tcommaaccent ; B 86 -250 679 562 ;
|
||||
C -1 ; WX 600 ; N Cacute ; B 74 -18 675 784 ;
|
||||
C 227 ; WX 600 ; N atilde ; B 61 -15 643 636 ;
|
||||
C -1 ; WX 600 ; N Edotaccent ; B 25 0 670 761 ;
|
||||
C 154 ; WX 600 ; N scaron ; B 66 -17 633 667 ;
|
||||
C -1 ; WX 600 ; N scedilla ; B 66 -206 608 459 ;
|
||||
C 237 ; WX 600 ; N iacute ; B 77 0 609 661 ;
|
||||
C -1 ; WX 600 ; N lozenge ; B 145 0 614 740 ;
|
||||
C -1 ; WX 600 ; N Rcaron ; B 24 0 659 790 ;
|
||||
C -1 ; WX 600 ; N Gcommaaccent ; B 74 -250 675 580 ;
|
||||
C 251 ; WX 600 ; N ucircumflex ; B 70 -15 597 657 ;
|
||||
C 226 ; WX 600 ; N acircumflex ; B 61 -15 607 657 ;
|
||||
C -1 ; WX 600 ; N Amacron ; B -9 0 633 708 ;
|
||||
C -1 ; WX 600 ; N rcaron ; B 47 0 655 667 ;
|
||||
C 231 ; WX 600 ; N ccedilla ; B 81 -206 631 459 ;
|
||||
C -1 ; WX 600 ; N Zdotaccent ; B 62 0 637 761 ;
|
||||
C 222 ; WX 600 ; N Thorn ; B 48 0 620 562 ;
|
||||
C -1 ; WX 600 ; N Omacron ; B 74 -18 663 708 ;
|
||||
C -1 ; WX 600 ; N Racute ; B 24 0 665 784 ;
|
||||
C -1 ; WX 600 ; N Sacute ; B 54 -22 673 784 ;
|
||||
C -1 ; WX 600 ; N dcaron ; B 60 -15 861 626 ;
|
||||
C -1 ; WX 600 ; N Umacron ; B 101 -18 716 708 ;
|
||||
C -1 ; WX 600 ; N uring ; B 70 -15 592 678 ;
|
||||
C 179 ; WX 600 ; N threesuperior ; B 193 222 526 616 ;
|
||||
C 210 ; WX 600 ; N Ograve ; B 74 -18 645 784 ;
|
||||
C 192 ; WX 600 ; N Agrave ; B -9 0 632 784 ;
|
||||
C -1 ; WX 600 ; N Abreve ; B -9 0 684 784 ;
|
||||
C 215 ; WX 600 ; N multiply ; B 104 39 606 478 ;
|
||||
C 250 ; WX 600 ; N uacute ; B 70 -15 599 661 ;
|
||||
C -1 ; WX 600 ; N Tcaron ; B 86 0 679 790 ;
|
||||
C -1 ; WX 600 ; N partialdiff ; B 91 -38 627 728 ;
|
||||
C 255 ; WX 600 ; N ydieresis ; B -21 -142 695 638 ;
|
||||
C -1 ; WX 600 ; N Nacute ; B 8 -12 730 784 ;
|
||||
C 238 ; WX 600 ; N icircumflex ; B 77 0 577 657 ;
|
||||
C 202 ; WX 600 ; N Ecircumflex ; B 25 0 670 780 ;
|
||||
C 228 ; WX 600 ; N adieresis ; B 61 -15 595 638 ;
|
||||
C 235 ; WX 600 ; N edieresis ; B 81 -15 605 638 ;
|
||||
C -1 ; WX 600 ; N cacute ; B 81 -15 649 661 ;
|
||||
C -1 ; WX 600 ; N nacute ; B 18 0 639 661 ;
|
||||
C -1 ; WX 600 ; N umacron ; B 70 -15 637 585 ;
|
||||
C -1 ; WX 600 ; N Ncaron ; B 8 -12 730 790 ;
|
||||
C 205 ; WX 600 ; N Iacute ; B 77 0 643 784 ;
|
||||
C 177 ; WX 600 ; N plusminus ; B 76 24 614 515 ;
|
||||
C 166 ; WX 600 ; N brokenbar ; B 217 -175 489 675 ;
|
||||
C 174 ; WX 600 ; N registered ; B 53 -18 667 580 ;
|
||||
C -1 ; WX 600 ; N Gbreve ; B 74 -18 684 784 ;
|
||||
C -1 ; WX 600 ; N Idotaccent ; B 77 0 643 761 ;
|
||||
C -1 ; WX 600 ; N summation ; B 15 -10 672 706 ;
|
||||
C 200 ; WX 600 ; N Egrave ; B 25 0 670 784 ;
|
||||
C -1 ; WX 600 ; N racute ; B 47 0 655 661 ;
|
||||
C -1 ; WX 600 ; N omacron ; B 71 -15 637 585 ;
|
||||
C -1 ; WX 600 ; N Zacute ; B 62 0 665 784 ;
|
||||
C 142 ; WX 600 ; N Zcaron ; B 62 0 659 790 ;
|
||||
C -1 ; WX 600 ; N greaterequal ; B 26 0 627 696 ;
|
||||
C 208 ; WX 600 ; N Eth ; B 30 0 664 562 ;
|
||||
C 199 ; WX 600 ; N Ccedilla ; B 74 -206 675 580 ;
|
||||
C -1 ; WX 600 ; N lcommaaccent ; B 77 -250 546 626 ;
|
||||
C -1 ; WX 600 ; N tcaron ; B 118 -15 627 703 ;
|
||||
C -1 ; WX 600 ; N eogonek ; B 81 -199 605 454 ;
|
||||
C -1 ; WX 600 ; N Uogonek ; B 101 -199 716 562 ;
|
||||
C 193 ; WX 600 ; N Aacute ; B -9 0 655 784 ;
|
||||
C 196 ; WX 600 ; N Adieresis ; B -9 0 632 761 ;
|
||||
C 232 ; WX 600 ; N egrave ; B 81 -15 605 661 ;
|
||||
C -1 ; WX 600 ; N zacute ; B 81 0 614 661 ;
|
||||
C -1 ; WX 600 ; N iogonek ; B 77 -199 546 658 ;
|
||||
C 211 ; WX 600 ; N Oacute ; B 74 -18 645 784 ;
|
||||
C 243 ; WX 600 ; N oacute ; B 71 -15 649 661 ;
|
||||
C -1 ; WX 600 ; N amacron ; B 61 -15 637 585 ;
|
||||
C -1 ; WX 600 ; N sacute ; B 66 -17 609 661 ;
|
||||
C 239 ; WX 600 ; N idieresis ; B 77 0 561 618 ;
|
||||
C 212 ; WX 600 ; N Ocircumflex ; B 74 -18 645 780 ;
|
||||
C 217 ; WX 600 ; N Ugrave ; B 101 -18 716 784 ;
|
||||
C -1 ; WX 600 ; N Delta ; B 6 0 594 688 ;
|
||||
C 254 ; WX 600 ; N thorn ; B -32 -142 622 626 ;
|
||||
C 178 ; WX 600 ; N twosuperior ; B 191 230 542 616 ;
|
||||
C 214 ; WX 600 ; N Odieresis ; B 74 -18 645 761 ;
|
||||
C 181 ; WX 600 ; N mu ; B 49 -142 592 439 ;
|
||||
C 236 ; WX 600 ; N igrave ; B 77 0 546 661 ;
|
||||
C -1 ; WX 600 ; N ohungarumlaut ; B 71 -15 809 661 ;
|
||||
C -1 ; WX 600 ; N Eogonek ; B 25 -199 670 562 ;
|
||||
C -1 ; WX 600 ; N dcroat ; B 60 -15 712 626 ;
|
||||
C 190 ; WX 600 ; N threequarters ; B 8 -60 699 661 ;
|
||||
C -1 ; WX 600 ; N Scedilla ; B 54 -206 673 582 ;
|
||||
C -1 ; WX 600 ; N lcaron ; B 77 0 731 626 ;
|
||||
C -1 ; WX 600 ; N Kcommaaccent ; B 21 -250 692 562 ;
|
||||
C -1 ; WX 600 ; N Lacute ; B 39 0 636 784 ;
|
||||
C 153 ; WX 600 ; N trademark ; B 86 230 869 562 ;
|
||||
C -1 ; WX 600 ; N edotaccent ; B 81 -15 605 638 ;
|
||||
C 204 ; WX 600 ; N Igrave ; B 77 0 643 784 ;
|
||||
C -1 ; WX 600 ; N Imacron ; B 77 0 663 708 ;
|
||||
C -1 ; WX 600 ; N Lcaron ; B 39 0 757 562 ;
|
||||
C 189 ; WX 600 ; N onehalf ; B 22 -60 716 661 ;
|
||||
C -1 ; WX 600 ; N lessequal ; B 26 0 671 696 ;
|
||||
C 244 ; WX 600 ; N ocircumflex ; B 71 -15 622 657 ;
|
||||
C 241 ; WX 600 ; N ntilde ; B 18 0 643 636 ;
|
||||
C -1 ; WX 600 ; N Uhungarumlaut ; B 101 -18 805 784 ;
|
||||
C 201 ; WX 600 ; N Eacute ; B 25 0 670 784 ;
|
||||
C -1 ; WX 600 ; N emacron ; B 81 -15 637 585 ;
|
||||
C -1 ; WX 600 ; N gbreve ; B 40 -146 674 661 ;
|
||||
C 188 ; WX 600 ; N onequarter ; B 13 -60 707 661 ;
|
||||
C 138 ; WX 600 ; N Scaron ; B 54 -22 689 790 ;
|
||||
C -1 ; WX 600 ; N Scommaaccent ; B 54 -250 673 582 ;
|
||||
C -1 ; WX 600 ; N Ohungarumlaut ; B 74 -18 795 784 ;
|
||||
C 176 ; WX 600 ; N degree ; B 173 243 570 616 ;
|
||||
C 242 ; WX 600 ; N ograve ; B 71 -15 622 661 ;
|
||||
C -1 ; WX 600 ; N Ccaron ; B 74 -18 689 790 ;
|
||||
C 249 ; WX 600 ; N ugrave ; B 70 -15 592 661 ;
|
||||
C -1 ; WX 600 ; N radical ; B 67 -104 635 778 ;
|
||||
C -1 ; WX 600 ; N Dcaron ; B 30 0 664 790 ;
|
||||
C -1 ; WX 600 ; N rcommaaccent ; B 47 -250 655 454 ;
|
||||
C 209 ; WX 600 ; N Ntilde ; B 8 -12 730 759 ;
|
||||
C 245 ; WX 600 ; N otilde ; B 71 -15 643 636 ;
|
||||
C -1 ; WX 600 ; N Rcommaaccent ; B 24 -250 617 562 ;
|
||||
C -1 ; WX 600 ; N Lcommaaccent ; B 39 -250 636 562 ;
|
||||
C 195 ; WX 600 ; N Atilde ; B -9 0 669 759 ;
|
||||
C -1 ; WX 600 ; N Aogonek ; B -9 -199 632 562 ;
|
||||
C 197 ; WX 600 ; N Aring ; B -9 0 632 801 ;
|
||||
C 213 ; WX 600 ; N Otilde ; B 74 -18 669 759 ;
|
||||
C -1 ; WX 600 ; N zdotaccent ; B 81 0 614 638 ;
|
||||
C -1 ; WX 600 ; N Ecaron ; B 25 0 670 790 ;
|
||||
C -1 ; WX 600 ; N Iogonek ; B 77 -199 643 562 ;
|
||||
C -1 ; WX 600 ; N kcommaaccent ; B 33 -250 643 626 ;
|
||||
C -1 ; WX 600 ; N minus ; B 114 203 596 313 ;
|
||||
C 206 ; WX 600 ; N Icircumflex ; B 77 0 643 780 ;
|
||||
C -1 ; WX 600 ; N ncaron ; B 18 0 633 667 ;
|
||||
C -1 ; WX 600 ; N tcommaaccent ; B 118 -250 567 562 ;
|
||||
C 172 ; WX 600 ; N logicalnot ; B 135 103 617 413 ;
|
||||
C 246 ; WX 600 ; N odieresis ; B 71 -15 622 638 ;
|
||||
C 252 ; WX 600 ; N udieresis ; B 70 -15 595 638 ;
|
||||
C -1 ; WX 600 ; N notequal ; B 30 -47 626 563 ;
|
||||
C -1 ; WX 600 ; N gcommaaccent ; B 40 -146 674 714 ;
|
||||
C 240 ; WX 600 ; N eth ; B 93 -27 661 626 ;
|
||||
C 158 ; WX 600 ; N zcaron ; B 81 0 643 667 ;
|
||||
C -1 ; WX 600 ; N ncommaaccent ; B 18 -250 615 454 ;
|
||||
C 185 ; WX 600 ; N onesuperior ; B 212 230 514 616 ;
|
||||
C -1 ; WX 600 ; N imacron ; B 77 0 575 585 ;
|
||||
C 128 ; WX 600 ; N Euro ; B 0 0 0 0 ;
|
||||
EndCharMetrics
|
||||
EndFontMetrics
|
344
nrpc_site/dompdf/lib/fonts/Courier-Oblique.afm
Normal file
344
nrpc_site/dompdf/lib/fonts/Courier-Oblique.afm
Normal file
|
@ -0,0 +1,344 @@
|
|||
StartFontMetrics 4.1
|
||||
Comment Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
|
||||
Comment Creation Date: Thu May 0:00:00 17:37:52 1997
|
||||
Comment UniqueID 43051
|
||||
Comment VMusage 16248 75829
|
||||
FontName Courier-Oblique
|
||||
FullName Courier Oblique
|
||||
FamilyName Courier
|
||||
Weight Medium
|
||||
ItalicAngle -12
|
||||
IsFixedPitch true
|
||||
CharacterSet ExtendedRoman
|
||||
FontBBox -27 -250 849 805
|
||||
UnderlinePosition -100
|
||||
UnderlineThickness 50
|
||||
Version 003.000
|
||||
Notice Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
|
||||
EncodingScheme WinAnsiEncoding
|
||||
CapHeight 562
|
||||
XHeight 426
|
||||
Ascender 629
|
||||
Descender -157
|
||||
StdHW 51
|
||||
StdVW 51
|
||||
StartCharMetrics 317
|
||||
C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
|
||||
C 160 ; WX 600 ; N space ; B 0 0 0 0 ;
|
||||
C 33 ; WX 600 ; N exclam ; B 243 -15 464 572 ;
|
||||
C 34 ; WX 600 ; N quotedbl ; B 273 328 532 562 ;
|
||||
C 35 ; WX 600 ; N numbersign ; B 133 -32 596 639 ;
|
||||
C 36 ; WX 600 ; N dollar ; B 108 -126 596 662 ;
|
||||
C 37 ; WX 600 ; N percent ; B 134 -15 599 622 ;
|
||||
C 38 ; WX 600 ; N ampersand ; B 87 -15 580 543 ;
|
||||
C 146 ; WX 600 ; N quoteright ; B 283 328 495 562 ;
|
||||
C 40 ; WX 600 ; N parenleft ; B 313 -108 572 622 ;
|
||||
C 41 ; WX 600 ; N parenright ; B 137 -108 396 622 ;
|
||||
C 42 ; WX 600 ; N asterisk ; B 212 257 580 607 ;
|
||||
C 43 ; WX 600 ; N plus ; B 129 44 580 470 ;
|
||||
C 44 ; WX 600 ; N comma ; B 157 -112 370 122 ;
|
||||
C 45 ; WX 600 ; N hyphen ; B 152 231 558 285 ;
|
||||
C 173 ; WX 600 ; N hyphen ; B 152 231 558 285 ;
|
||||
C 46 ; WX 600 ; N period ; B 238 -15 382 109 ;
|
||||
C 47 ; WX 600 ; N slash ; B 112 -80 604 629 ;
|
||||
C 48 ; WX 600 ; N zero ; B 154 -15 575 622 ;
|
||||
C 49 ; WX 600 ; N one ; B 98 0 515 622 ;
|
||||
C 50 ; WX 600 ; N two ; B 70 0 568 622 ;
|
||||
C 51 ; WX 600 ; N three ; B 82 -15 538 622 ;
|
||||
C 52 ; WX 600 ; N four ; B 108 0 541 622 ;
|
||||
C 53 ; WX 600 ; N five ; B 99 -15 589 607 ;
|
||||
C 54 ; WX 600 ; N six ; B 155 -15 629 622 ;
|
||||
C 55 ; WX 600 ; N seven ; B 182 0 612 607 ;
|
||||
C 56 ; WX 600 ; N eight ; B 132 -15 588 622 ;
|
||||
C 57 ; WX 600 ; N nine ; B 93 -15 574 622 ;
|
||||
C 58 ; WX 600 ; N colon ; B 238 -15 441 385 ;
|
||||
C 59 ; WX 600 ; N semicolon ; B 157 -112 441 385 ;
|
||||
C 60 ; WX 600 ; N less ; B 96 42 610 472 ;
|
||||
C 61 ; WX 600 ; N equal ; B 109 138 600 376 ;
|
||||
C 62 ; WX 600 ; N greater ; B 85 42 599 472 ;
|
||||
C 63 ; WX 600 ; N question ; B 222 -15 583 572 ;
|
||||
C 64 ; WX 600 ; N at ; B 127 -15 582 622 ;
|
||||
C 65 ; WX 600 ; N A ; B 3 0 607 562 ;
|
||||
C 66 ; WX 600 ; N B ; B 43 0 616 562 ;
|
||||
C 67 ; WX 600 ; N C ; B 93 -18 655 580 ;
|
||||
C 68 ; WX 600 ; N D ; B 43 0 645 562 ;
|
||||
C 69 ; WX 600 ; N E ; B 53 0 660 562 ;
|
||||
C 70 ; WX 600 ; N F ; B 53 0 660 562 ;
|
||||
C 71 ; WX 600 ; N G ; B 83 -18 645 580 ;
|
||||
C 72 ; WX 600 ; N H ; B 32 0 687 562 ;
|
||||
C 73 ; WX 600 ; N I ; B 96 0 623 562 ;
|
||||
C 74 ; WX 600 ; N J ; B 52 -18 685 562 ;
|
||||
C 75 ; WX 600 ; N K ; B 38 0 671 562 ;
|
||||
C 76 ; WX 600 ; N L ; B 47 0 607 562 ;
|
||||
C 77 ; WX 600 ; N M ; B 4 0 715 562 ;
|
||||
C 78 ; WX 600 ; N N ; B 7 -13 712 562 ;
|
||||
C 79 ; WX 600 ; N O ; B 94 -18 625 580 ;
|
||||
C 80 ; WX 600 ; N P ; B 79 0 644 562 ;
|
||||
C 81 ; WX 600 ; N Q ; B 95 -138 625 580 ;
|
||||
C 82 ; WX 600 ; N R ; B 38 0 598 562 ;
|
||||
C 83 ; WX 600 ; N S ; B 76 -20 650 580 ;
|
||||
C 84 ; WX 600 ; N T ; B 108 0 665 562 ;
|
||||
C 85 ; WX 600 ; N U ; B 125 -18 702 562 ;
|
||||
C 86 ; WX 600 ; N V ; B 105 -13 723 562 ;
|
||||
C 87 ; WX 600 ; N W ; B 106 -13 722 562 ;
|
||||
C 88 ; WX 600 ; N X ; B 23 0 675 562 ;
|
||||
C 89 ; WX 600 ; N Y ; B 133 0 695 562 ;
|
||||
C 90 ; WX 600 ; N Z ; B 86 0 610 562 ;
|
||||
C 91 ; WX 600 ; N bracketleft ; B 246 -108 574 622 ;
|
||||
C 92 ; WX 600 ; N backslash ; B 249 -80 468 629 ;
|
||||
C 93 ; WX 600 ; N bracketright ; B 135 -108 463 622 ;
|
||||
C 94 ; WX 600 ; N asciicircum ; B 175 354 587 622 ;
|
||||
C 95 ; WX 600 ; N underscore ; B -27 -125 584 -75 ;
|
||||
C 145 ; WX 600 ; N quoteleft ; B 343 328 457 562 ;
|
||||
C 97 ; WX 600 ; N a ; B 76 -15 569 441 ;
|
||||
C 98 ; WX 600 ; N b ; B 29 -15 625 629 ;
|
||||
C 99 ; WX 600 ; N c ; B 106 -15 608 441 ;
|
||||
C 100 ; WX 600 ; N d ; B 85 -15 640 629 ;
|
||||
C 101 ; WX 600 ; N e ; B 106 -15 598 441 ;
|
||||
C 102 ; WX 600 ; N f ; B 114 0 662 629 ; L i fi ; L l fl ;
|
||||
C 103 ; WX 600 ; N g ; B 61 -157 657 441 ;
|
||||
C 104 ; WX 600 ; N h ; B 33 0 592 629 ;
|
||||
C 105 ; WX 600 ; N i ; B 95 0 515 657 ;
|
||||
C 106 ; WX 600 ; N j ; B 52 -157 550 657 ;
|
||||
C 107 ; WX 600 ; N k ; B 58 0 633 629 ;
|
||||
C 108 ; WX 600 ; N l ; B 95 0 515 629 ;
|
||||
C 109 ; WX 600 ; N m ; B -5 0 615 441 ;
|
||||
C 110 ; WX 600 ; N n ; B 26 0 585 441 ;
|
||||
C 111 ; WX 600 ; N o ; B 102 -15 588 441 ;
|
||||
C 112 ; WX 600 ; N p ; B -24 -157 605 441 ;
|
||||
C 113 ; WX 600 ; N q ; B 85 -157 682 441 ;
|
||||
C 114 ; WX 600 ; N r ; B 60 0 636 441 ;
|
||||
C 115 ; WX 600 ; N s ; B 78 -15 584 441 ;
|
||||
C 116 ; WX 600 ; N t ; B 167 -15 561 561 ;
|
||||
C 117 ; WX 600 ; N u ; B 101 -15 572 426 ;
|
||||
C 118 ; WX 600 ; N v ; B 90 -10 681 426 ;
|
||||
C 119 ; WX 600 ; N w ; B 76 -10 695 426 ;
|
||||
C 120 ; WX 600 ; N x ; B 20 0 655 426 ;
|
||||
C 121 ; WX 600 ; N y ; B -4 -157 683 426 ;
|
||||
C 122 ; WX 600 ; N z ; B 99 0 593 426 ;
|
||||
C 123 ; WX 600 ; N braceleft ; B 233 -108 569 622 ;
|
||||
C 124 ; WX 600 ; N bar ; B 222 -250 485 750 ;
|
||||
C 125 ; WX 600 ; N braceright ; B 140 -108 477 622 ;
|
||||
C 126 ; WX 600 ; N asciitilde ; B 116 197 600 320 ;
|
||||
C 161 ; WX 600 ; N exclamdown ; B 225 -157 445 430 ;
|
||||
C 162 ; WX 600 ; N cent ; B 151 -49 588 614 ;
|
||||
C 163 ; WX 600 ; N sterling ; B 124 -21 621 611 ;
|
||||
C -1 ; WX 600 ; N fraction ; B 84 -57 646 665 ;
|
||||
C 165 ; WX 600 ; N yen ; B 120 0 693 562 ;
|
||||
C 131 ; WX 600 ; N florin ; B -26 -143 671 622 ;
|
||||
C 167 ; WX 600 ; N section ; B 104 -78 590 580 ;
|
||||
C 164 ; WX 600 ; N currency ; B 94 58 628 506 ;
|
||||
C 39 ; WX 600 ; N quotesingle ; B 345 328 460 562 ;
|
||||
C 147 ; WX 600 ; N quotedblleft ; B 262 328 541 562 ;
|
||||
C 171 ; WX 600 ; N guillemotleft ; B 92 70 652 446 ;
|
||||
C 139 ; WX 600 ; N guilsinglleft ; B 204 70 540 446 ;
|
||||
C 155 ; WX 600 ; N guilsinglright ; B 170 70 506 446 ;
|
||||
C -1 ; WX 600 ; N fi ; B 3 0 619 629 ;
|
||||
C -1 ; WX 600 ; N fl ; B 3 0 619 629 ;
|
||||
C 150 ; WX 600 ; N endash ; B 124 231 586 285 ;
|
||||
C 134 ; WX 600 ; N dagger ; B 217 -78 546 580 ;
|
||||
C 135 ; WX 600 ; N daggerdbl ; B 163 -78 546 580 ;
|
||||
C 183 ; WX 600 ; N periodcentered ; B 275 189 434 327 ;
|
||||
C 182 ; WX 600 ; N paragraph ; B 100 -78 630 562 ;
|
||||
C 149 ; WX 600 ; N bullet ; B 224 130 485 383 ;
|
||||
C 130 ; WX 600 ; N quotesinglbase ; B 185 -134 397 100 ;
|
||||
C 132 ; WX 600 ; N quotedblbase ; B 115 -134 478 100 ;
|
||||
C 148 ; WX 600 ; N quotedblright ; B 213 328 576 562 ;
|
||||
C 187 ; WX 600 ; N guillemotright ; B 58 70 618 446 ;
|
||||
C 133 ; WX 600 ; N ellipsis ; B 46 -15 575 111 ;
|
||||
C 137 ; WX 600 ; N perthousand ; B 59 -15 627 622 ;
|
||||
C 191 ; WX 600 ; N questiondown ; B 105 -157 466 430 ;
|
||||
C 96 ; WX 600 ; N grave ; B 294 497 484 672 ;
|
||||
C 180 ; WX 600 ; N acute ; B 348 497 612 672 ;
|
||||
C 136 ; WX 600 ; N circumflex ; B 229 477 581 654 ;
|
||||
C 152 ; WX 600 ; N tilde ; B 212 489 629 606 ;
|
||||
C 175 ; WX 600 ; N macron ; B 232 525 600 565 ;
|
||||
C -1 ; WX 600 ; N breve ; B 279 501 576 609 ;
|
||||
C -1 ; WX 600 ; N dotaccent ; B 373 537 478 640 ;
|
||||
C 168 ; WX 600 ; N dieresis ; B 272 537 579 640 ;
|
||||
C -1 ; WX 600 ; N ring ; B 332 463 500 627 ;
|
||||
C 184 ; WX 600 ; N cedilla ; B 197 -151 344 10 ;
|
||||
C -1 ; WX 600 ; N hungarumlaut ; B 239 497 683 672 ;
|
||||
C -1 ; WX 600 ; N ogonek ; B 189 -172 377 4 ;
|
||||
C -1 ; WX 600 ; N caron ; B 262 492 614 669 ;
|
||||
C 151 ; WX 600 ; N emdash ; B 49 231 661 285 ;
|
||||
C 198 ; WX 600 ; N AE ; B 3 0 655 562 ;
|
||||
C 170 ; WX 600 ; N ordfeminine ; B 209 249 512 580 ;
|
||||
C -1 ; WX 600 ; N Lslash ; B 47 0 607 562 ;
|
||||
C 216 ; WX 600 ; N Oslash ; B 94 -80 625 629 ;
|
||||
C 140 ; WX 600 ; N OE ; B 59 0 672 562 ;
|
||||
C 186 ; WX 600 ; N ordmasculine ; B 210 249 535 580 ;
|
||||
C 230 ; WX 600 ; N ae ; B 41 -15 626 441 ;
|
||||
C -1 ; WX 600 ; N dotlessi ; B 95 0 515 426 ;
|
||||
C -1 ; WX 600 ; N lslash ; B 95 0 587 629 ;
|
||||
C 248 ; WX 600 ; N oslash ; B 102 -80 588 506 ;
|
||||
C 156 ; WX 600 ; N oe ; B 54 -15 615 441 ;
|
||||
C 223 ; WX 600 ; N germandbls ; B 48 -15 617 629 ;
|
||||
C 207 ; WX 600 ; N Idieresis ; B 96 0 623 753 ;
|
||||
C 233 ; WX 600 ; N eacute ; B 106 -15 612 672 ;
|
||||
C -1 ; WX 600 ; N abreve ; B 76 -15 576 609 ;
|
||||
C -1 ; WX 600 ; N uhungarumlaut ; B 101 -15 723 672 ;
|
||||
C -1 ; WX 600 ; N ecaron ; B 106 -15 614 669 ;
|
||||
C 159 ; WX 600 ; N Ydieresis ; B 133 0 695 753 ;
|
||||
C 247 ; WX 600 ; N divide ; B 136 48 573 467 ;
|
||||
C 221 ; WX 600 ; N Yacute ; B 133 0 695 805 ;
|
||||
C 194 ; WX 600 ; N Acircumflex ; B 3 0 607 787 ;
|
||||
C 225 ; WX 600 ; N aacute ; B 76 -15 612 672 ;
|
||||
C 219 ; WX 600 ; N Ucircumflex ; B 125 -18 702 787 ;
|
||||
C 253 ; WX 600 ; N yacute ; B -4 -157 683 672 ;
|
||||
C -1 ; WX 600 ; N scommaaccent ; B 78 -250 584 441 ;
|
||||
C 234 ; WX 600 ; N ecircumflex ; B 106 -15 598 654 ;
|
||||
C -1 ; WX 600 ; N Uring ; B 125 -18 702 760 ;
|
||||
C 220 ; WX 600 ; N Udieresis ; B 125 -18 702 753 ;
|
||||
C -1 ; WX 600 ; N aogonek ; B 76 -172 569 441 ;
|
||||
C 218 ; WX 600 ; N Uacute ; B 125 -18 702 805 ;
|
||||
C -1 ; WX 600 ; N uogonek ; B 101 -172 572 426 ;
|
||||
C 203 ; WX 600 ; N Edieresis ; B 53 0 660 753 ;
|
||||
C -1 ; WX 600 ; N Dcroat ; B 43 0 645 562 ;
|
||||
C -1 ; WX 600 ; N commaaccent ; B 145 -250 323 -58 ;
|
||||
C 169 ; WX 600 ; N copyright ; B 53 -18 667 580 ;
|
||||
C -1 ; WX 600 ; N Emacron ; B 53 0 660 698 ;
|
||||
C -1 ; WX 600 ; N ccaron ; B 106 -15 614 669 ;
|
||||
C 229 ; WX 600 ; N aring ; B 76 -15 569 627 ;
|
||||
C -1 ; WX 600 ; N Ncommaaccent ; B 7 -250 712 562 ;
|
||||
C -1 ; WX 600 ; N lacute ; B 95 0 640 805 ;
|
||||
C 224 ; WX 600 ; N agrave ; B 76 -15 569 672 ;
|
||||
C -1 ; WX 600 ; N Tcommaaccent ; B 108 -250 665 562 ;
|
||||
C -1 ; WX 600 ; N Cacute ; B 93 -18 655 805 ;
|
||||
C 227 ; WX 600 ; N atilde ; B 76 -15 629 606 ;
|
||||
C -1 ; WX 600 ; N Edotaccent ; B 53 0 660 753 ;
|
||||
C 154 ; WX 600 ; N scaron ; B 78 -15 614 669 ;
|
||||
C -1 ; WX 600 ; N scedilla ; B 78 -151 584 441 ;
|
||||
C 237 ; WX 600 ; N iacute ; B 95 0 612 672 ;
|
||||
C -1 ; WX 600 ; N lozenge ; B 94 0 519 706 ;
|
||||
C -1 ; WX 600 ; N Rcaron ; B 38 0 642 802 ;
|
||||
C -1 ; WX 600 ; N Gcommaaccent ; B 83 -250 645 580 ;
|
||||
C 251 ; WX 600 ; N ucircumflex ; B 101 -15 572 654 ;
|
||||
C 226 ; WX 600 ; N acircumflex ; B 76 -15 581 654 ;
|
||||
C -1 ; WX 600 ; N Amacron ; B 3 0 607 698 ;
|
||||
C -1 ; WX 600 ; N rcaron ; B 60 0 636 669 ;
|
||||
C 231 ; WX 600 ; N ccedilla ; B 106 -151 614 441 ;
|
||||
C -1 ; WX 600 ; N Zdotaccent ; B 86 0 610 753 ;
|
||||
C 222 ; WX 600 ; N Thorn ; B 79 0 606 562 ;
|
||||
C -1 ; WX 600 ; N Omacron ; B 94 -18 628 698 ;
|
||||
C -1 ; WX 600 ; N Racute ; B 38 0 670 805 ;
|
||||
C -1 ; WX 600 ; N Sacute ; B 76 -20 650 805 ;
|
||||
C -1 ; WX 600 ; N dcaron ; B 85 -15 849 629 ;
|
||||
C -1 ; WX 600 ; N Umacron ; B 125 -18 702 698 ;
|
||||
C -1 ; WX 600 ; N uring ; B 101 -15 572 627 ;
|
||||
C 179 ; WX 600 ; N threesuperior ; B 213 240 501 622 ;
|
||||
C 210 ; WX 600 ; N Ograve ; B 94 -18 625 805 ;
|
||||
C 192 ; WX 600 ; N Agrave ; B 3 0 607 805 ;
|
||||
C -1 ; WX 600 ; N Abreve ; B 3 0 607 732 ;
|
||||
C 215 ; WX 600 ; N multiply ; B 103 43 607 470 ;
|
||||
C 250 ; WX 600 ; N uacute ; B 101 -15 602 672 ;
|
||||
C -1 ; WX 600 ; N Tcaron ; B 108 0 665 802 ;
|
||||
C -1 ; WX 600 ; N partialdiff ; B 45 -38 546 710 ;
|
||||
C 255 ; WX 600 ; N ydieresis ; B -4 -157 683 620 ;
|
||||
C -1 ; WX 600 ; N Nacute ; B 7 -13 712 805 ;
|
||||
C 238 ; WX 600 ; N icircumflex ; B 95 0 551 654 ;
|
||||
C 202 ; WX 600 ; N Ecircumflex ; B 53 0 660 787 ;
|
||||
C 228 ; WX 600 ; N adieresis ; B 76 -15 575 620 ;
|
||||
C 235 ; WX 600 ; N edieresis ; B 106 -15 598 620 ;
|
||||
C -1 ; WX 600 ; N cacute ; B 106 -15 612 672 ;
|
||||
C -1 ; WX 600 ; N nacute ; B 26 0 602 672 ;
|
||||
C -1 ; WX 600 ; N umacron ; B 101 -15 600 565 ;
|
||||
C -1 ; WX 600 ; N Ncaron ; B 7 -13 712 802 ;
|
||||
C 205 ; WX 600 ; N Iacute ; B 96 0 640 805 ;
|
||||
C 177 ; WX 600 ; N plusminus ; B 96 44 594 558 ;
|
||||
C 166 ; WX 600 ; N brokenbar ; B 238 -175 469 675 ;
|
||||
C 174 ; WX 600 ; N registered ; B 53 -18 667 580 ;
|
||||
C -1 ; WX 600 ; N Gbreve ; B 83 -18 645 732 ;
|
||||
C -1 ; WX 600 ; N Idotaccent ; B 96 0 623 753 ;
|
||||
C -1 ; WX 600 ; N summation ; B 15 -10 670 706 ;
|
||||
C 200 ; WX 600 ; N Egrave ; B 53 0 660 805 ;
|
||||
C -1 ; WX 600 ; N racute ; B 60 0 636 672 ;
|
||||
C -1 ; WX 600 ; N omacron ; B 102 -15 600 565 ;
|
||||
C -1 ; WX 600 ; N Zacute ; B 86 0 670 805 ;
|
||||
C 142 ; WX 600 ; N Zcaron ; B 86 0 642 802 ;
|
||||
C -1 ; WX 600 ; N greaterequal ; B 98 0 594 710 ;
|
||||
C 208 ; WX 600 ; N Eth ; B 43 0 645 562 ;
|
||||
C 199 ; WX 600 ; N Ccedilla ; B 93 -151 658 580 ;
|
||||
C -1 ; WX 600 ; N lcommaaccent ; B 95 -250 515 629 ;
|
||||
C -1 ; WX 600 ; N tcaron ; B 167 -15 587 717 ;
|
||||
C -1 ; WX 600 ; N eogonek ; B 106 -172 598 441 ;
|
||||
C -1 ; WX 600 ; N Uogonek ; B 124 -172 702 562 ;
|
||||
C 193 ; WX 600 ; N Aacute ; B 3 0 660 805 ;
|
||||
C 196 ; WX 600 ; N Adieresis ; B 3 0 607 753 ;
|
||||
C 232 ; WX 600 ; N egrave ; B 106 -15 598 672 ;
|
||||
C -1 ; WX 600 ; N zacute ; B 99 0 612 672 ;
|
||||
C -1 ; WX 600 ; N iogonek ; B 95 -172 515 657 ;
|
||||
C 211 ; WX 600 ; N Oacute ; B 94 -18 640 805 ;
|
||||
C 243 ; WX 600 ; N oacute ; B 102 -15 612 672 ;
|
||||
C -1 ; WX 600 ; N amacron ; B 76 -15 600 565 ;
|
||||
C -1 ; WX 600 ; N sacute ; B 78 -15 612 672 ;
|
||||
C 239 ; WX 600 ; N idieresis ; B 95 0 545 620 ;
|
||||
C 212 ; WX 600 ; N Ocircumflex ; B 94 -18 625 787 ;
|
||||
C 217 ; WX 600 ; N Ugrave ; B 125 -18 702 805 ;
|
||||
C -1 ; WX 600 ; N Delta ; B 6 0 598 688 ;
|
||||
C 254 ; WX 600 ; N thorn ; B -24 -157 605 629 ;
|
||||
C 178 ; WX 600 ; N twosuperior ; B 230 249 535 622 ;
|
||||
C 214 ; WX 600 ; N Odieresis ; B 94 -18 625 753 ;
|
||||
C 181 ; WX 600 ; N mu ; B 72 -157 572 426 ;
|
||||
C 236 ; WX 600 ; N igrave ; B 95 0 515 672 ;
|
||||
C -1 ; WX 600 ; N ohungarumlaut ; B 102 -15 723 672 ;
|
||||
C -1 ; WX 600 ; N Eogonek ; B 53 -172 660 562 ;
|
||||
C -1 ; WX 600 ; N dcroat ; B 85 -15 704 629 ;
|
||||
C 190 ; WX 600 ; N threequarters ; B 73 -56 659 666 ;
|
||||
C -1 ; WX 600 ; N Scedilla ; B 76 -151 650 580 ;
|
||||
C -1 ; WX 600 ; N lcaron ; B 95 0 667 629 ;
|
||||
C -1 ; WX 600 ; N Kcommaaccent ; B 38 -250 671 562 ;
|
||||
C -1 ; WX 600 ; N Lacute ; B 47 0 607 805 ;
|
||||
C 153 ; WX 600 ; N trademark ; B 75 263 742 562 ;
|
||||
C -1 ; WX 600 ; N edotaccent ; B 106 -15 598 620 ;
|
||||
C 204 ; WX 600 ; N Igrave ; B 96 0 623 805 ;
|
||||
C -1 ; WX 600 ; N Imacron ; B 96 0 628 698 ;
|
||||
C -1 ; WX 600 ; N Lcaron ; B 47 0 632 562 ;
|
||||
C 189 ; WX 600 ; N onehalf ; B 65 -57 669 665 ;
|
||||
C -1 ; WX 600 ; N lessequal ; B 98 0 645 710 ;
|
||||
C 244 ; WX 600 ; N ocircumflex ; B 102 -15 588 654 ;
|
||||
C 241 ; WX 600 ; N ntilde ; B 26 0 629 606 ;
|
||||
C -1 ; WX 600 ; N Uhungarumlaut ; B 125 -18 761 805 ;
|
||||
C 201 ; WX 600 ; N Eacute ; B 53 0 670 805 ;
|
||||
C -1 ; WX 600 ; N emacron ; B 106 -15 600 565 ;
|
||||
C -1 ; WX 600 ; N gbreve ; B 61 -157 657 609 ;
|
||||
C 188 ; WX 600 ; N onequarter ; B 65 -57 674 665 ;
|
||||
C 138 ; WX 600 ; N Scaron ; B 76 -20 672 802 ;
|
||||
C -1 ; WX 600 ; N Scommaaccent ; B 76 -250 650 580 ;
|
||||
C -1 ; WX 600 ; N Ohungarumlaut ; B 94 -18 751 805 ;
|
||||
C 176 ; WX 600 ; N degree ; B 214 269 576 622 ;
|
||||
C 242 ; WX 600 ; N ograve ; B 102 -15 588 672 ;
|
||||
C -1 ; WX 600 ; N Ccaron ; B 93 -18 672 802 ;
|
||||
C 249 ; WX 600 ; N ugrave ; B 101 -15 572 672 ;
|
||||
C -1 ; WX 600 ; N radical ; B 85 -15 765 792 ;
|
||||
C -1 ; WX 600 ; N Dcaron ; B 43 0 645 802 ;
|
||||
C -1 ; WX 600 ; N rcommaaccent ; B 60 -250 636 441 ;
|
||||
C 209 ; WX 600 ; N Ntilde ; B 7 -13 712 729 ;
|
||||
C 245 ; WX 600 ; N otilde ; B 102 -15 629 606 ;
|
||||
C -1 ; WX 600 ; N Rcommaaccent ; B 38 -250 598 562 ;
|
||||
C -1 ; WX 600 ; N Lcommaaccent ; B 47 -250 607 562 ;
|
||||
C 195 ; WX 600 ; N Atilde ; B 3 0 655 729 ;
|
||||
C -1 ; WX 600 ; N Aogonek ; B 3 -172 607 562 ;
|
||||
C 197 ; WX 600 ; N Aring ; B 3 0 607 750 ;
|
||||
C 213 ; WX 600 ; N Otilde ; B 94 -18 655 729 ;
|
||||
C -1 ; WX 600 ; N zdotaccent ; B 99 0 593 620 ;
|
||||
C -1 ; WX 600 ; N Ecaron ; B 53 0 660 802 ;
|
||||
C -1 ; WX 600 ; N Iogonek ; B 96 -172 623 562 ;
|
||||
C -1 ; WX 600 ; N kcommaaccent ; B 58 -250 633 629 ;
|
||||
C -1 ; WX 600 ; N minus ; B 129 232 580 283 ;
|
||||
C 206 ; WX 600 ; N Icircumflex ; B 96 0 623 787 ;
|
||||
C -1 ; WX 600 ; N ncaron ; B 26 0 614 669 ;
|
||||
C -1 ; WX 600 ; N tcommaaccent ; B 165 -250 561 561 ;
|
||||
C 172 ; WX 600 ; N logicalnot ; B 155 108 591 369 ;
|
||||
C 246 ; WX 600 ; N odieresis ; B 102 -15 588 620 ;
|
||||
C 252 ; WX 600 ; N udieresis ; B 101 -15 575 620 ;
|
||||
C -1 ; WX 600 ; N notequal ; B 43 -16 621 529 ;
|
||||
C -1 ; WX 600 ; N gcommaaccent ; B 61 -157 657 708 ;
|
||||
C 240 ; WX 600 ; N eth ; B 102 -15 639 629 ;
|
||||
C 158 ; WX 600 ; N zcaron ; B 99 0 624 669 ;
|
||||
C -1 ; WX 600 ; N ncommaaccent ; B 26 -250 585 441 ;
|
||||
C 185 ; WX 600 ; N onesuperior ; B 231 249 491 622 ;
|
||||
C -1 ; WX 600 ; N imacron ; B 95 0 543 565 ;
|
||||
C 128 ; WX 600 ; N Euro ; B 0 0 0 0 ;
|
||||
EndCharMetrics
|
||||
EndFontMetrics
|
344
nrpc_site/dompdf/lib/fonts/Courier.afm
Normal file
344
nrpc_site/dompdf/lib/fonts/Courier.afm
Normal file
|
@ -0,0 +1,344 @@
|
|||
StartFontMetrics 4.1
|
||||
Comment Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
|
||||
Comment Creation Date: Thu May 1 17:27:09 1997
|
||||
Comment UniqueID 43050
|
||||
Comment VMusage 39754 50779
|
||||
FontName Courier
|
||||
FullName Courier
|
||||
FamilyName Courier
|
||||
Weight Medium
|
||||
ItalicAngle 0
|
||||
IsFixedPitch true
|
||||
CharacterSet ExtendedRoman
|
||||
FontBBox -23 -250 715 805
|
||||
UnderlinePosition -100
|
||||
UnderlineThickness 50
|
||||
Version 003.000
|
||||
Notice Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
|
||||
EncodingScheme WinAnsiEncoding
|
||||
CapHeight 562
|
||||
XHeight 426
|
||||
Ascender 629
|
||||
Descender -157
|
||||
StdHW 51
|
||||
StdVW 51
|
||||
StartCharMetrics 317
|
||||
C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
|
||||
C 160 ; WX 600 ; N space ; B 0 0 0 0 ;
|
||||
C 33 ; WX 600 ; N exclam ; B 236 -15 364 572 ;
|
||||
C 34 ; WX 600 ; N quotedbl ; B 187 328 413 562 ;
|
||||
C 35 ; WX 600 ; N numbersign ; B 93 -32 507 639 ;
|
||||
C 36 ; WX 600 ; N dollar ; B 105 -126 496 662 ;
|
||||
C 37 ; WX 600 ; N percent ; B 81 -15 518 622 ;
|
||||
C 38 ; WX 600 ; N ampersand ; B 63 -15 538 543 ;
|
||||
C 146 ; WX 600 ; N quoteright ; B 213 328 376 562 ;
|
||||
C 40 ; WX 600 ; N parenleft ; B 269 -108 440 622 ;
|
||||
C 41 ; WX 600 ; N parenright ; B 160 -108 331 622 ;
|
||||
C 42 ; WX 600 ; N asterisk ; B 116 257 484 607 ;
|
||||
C 43 ; WX 600 ; N plus ; B 80 44 520 470 ;
|
||||
C 44 ; WX 600 ; N comma ; B 181 -112 344 122 ;
|
||||
C 45 ; WX 600 ; N hyphen ; B 103 231 497 285 ;
|
||||
C 173 ; WX 600 ; N hyphen ; B 103 231 497 285 ;
|
||||
C 46 ; WX 600 ; N period ; B 229 -15 371 109 ;
|
||||
C 47 ; WX 600 ; N slash ; B 125 -80 475 629 ;
|
||||
C 48 ; WX 600 ; N zero ; B 106 -15 494 622 ;
|
||||
C 49 ; WX 600 ; N one ; B 96 0 505 622 ;
|
||||
C 50 ; WX 600 ; N two ; B 70 0 471 622 ;
|
||||
C 51 ; WX 600 ; N three ; B 75 -15 466 622 ;
|
||||
C 52 ; WX 600 ; N four ; B 78 0 500 622 ;
|
||||
C 53 ; WX 600 ; N five ; B 92 -15 497 607 ;
|
||||
C 54 ; WX 600 ; N six ; B 111 -15 497 622 ;
|
||||
C 55 ; WX 600 ; N seven ; B 82 0 483 607 ;
|
||||
C 56 ; WX 600 ; N eight ; B 102 -15 498 622 ;
|
||||
C 57 ; WX 600 ; N nine ; B 96 -15 489 622 ;
|
||||
C 58 ; WX 600 ; N colon ; B 229 -15 371 385 ;
|
||||
C 59 ; WX 600 ; N semicolon ; B 181 -112 371 385 ;
|
||||
C 60 ; WX 600 ; N less ; B 41 42 519 472 ;
|
||||
C 61 ; WX 600 ; N equal ; B 80 138 520 376 ;
|
||||
C 62 ; WX 600 ; N greater ; B 66 42 544 472 ;
|
||||
C 63 ; WX 600 ; N question ; B 129 -15 492 572 ;
|
||||
C 64 ; WX 600 ; N at ; B 77 -15 533 622 ;
|
||||
C 65 ; WX 600 ; N A ; B 3 0 597 562 ;
|
||||
C 66 ; WX 600 ; N B ; B 43 0 559 562 ;
|
||||
C 67 ; WX 600 ; N C ; B 41 -18 540 580 ;
|
||||
C 68 ; WX 600 ; N D ; B 43 0 574 562 ;
|
||||
C 69 ; WX 600 ; N E ; B 53 0 550 562 ;
|
||||
C 70 ; WX 600 ; N F ; B 53 0 545 562 ;
|
||||
C 71 ; WX 600 ; N G ; B 31 -18 575 580 ;
|
||||
C 72 ; WX 600 ; N H ; B 32 0 568 562 ;
|
||||
C 73 ; WX 600 ; N I ; B 96 0 504 562 ;
|
||||
C 74 ; WX 600 ; N J ; B 34 -18 566 562 ;
|
||||
C 75 ; WX 600 ; N K ; B 38 0 582 562 ;
|
||||
C 76 ; WX 600 ; N L ; B 47 0 554 562 ;
|
||||
C 77 ; WX 600 ; N M ; B 4 0 596 562 ;
|
||||
C 78 ; WX 600 ; N N ; B 7 -13 593 562 ;
|
||||
C 79 ; WX 600 ; N O ; B 43 -18 557 580 ;
|
||||
C 80 ; WX 600 ; N P ; B 79 0 558 562 ;
|
||||
C 81 ; WX 600 ; N Q ; B 43 -138 557 580 ;
|
||||
C 82 ; WX 600 ; N R ; B 38 0 588 562 ;
|
||||
C 83 ; WX 600 ; N S ; B 72 -20 529 580 ;
|
||||
C 84 ; WX 600 ; N T ; B 38 0 563 562 ;
|
||||
C 85 ; WX 600 ; N U ; B 17 -18 583 562 ;
|
||||
C 86 ; WX 600 ; N V ; B -4 -13 604 562 ;
|
||||
C 87 ; WX 600 ; N W ; B -3 -13 603 562 ;
|
||||
C 88 ; WX 600 ; N X ; B 23 0 577 562 ;
|
||||
C 89 ; WX 600 ; N Y ; B 24 0 576 562 ;
|
||||
C 90 ; WX 600 ; N Z ; B 86 0 514 562 ;
|
||||
C 91 ; WX 600 ; N bracketleft ; B 269 -108 442 622 ;
|
||||
C 92 ; WX 600 ; N backslash ; B 118 -80 482 629 ;
|
||||
C 93 ; WX 600 ; N bracketright ; B 158 -108 331 622 ;
|
||||
C 94 ; WX 600 ; N asciicircum ; B 94 354 506 622 ;
|
||||
C 95 ; WX 600 ; N underscore ; B 0 -125 600 -75 ;
|
||||
C 145 ; WX 600 ; N quoteleft ; B 224 328 387 562 ;
|
||||
C 97 ; WX 600 ; N a ; B 53 -15 559 441 ;
|
||||
C 98 ; WX 600 ; N b ; B 14 -15 575 629 ;
|
||||
C 99 ; WX 600 ; N c ; B 66 -15 529 441 ;
|
||||
C 100 ; WX 600 ; N d ; B 45 -15 591 629 ;
|
||||
C 101 ; WX 600 ; N e ; B 66 -15 548 441 ;
|
||||
C 102 ; WX 600 ; N f ; B 114 0 531 629 ; L i fi ; L l fl ;
|
||||
C 103 ; WX 600 ; N g ; B 45 -157 566 441 ;
|
||||
C 104 ; WX 600 ; N h ; B 18 0 582 629 ;
|
||||
C 105 ; WX 600 ; N i ; B 95 0 505 657 ;
|
||||
C 106 ; WX 600 ; N j ; B 82 -157 410 657 ;
|
||||
C 107 ; WX 600 ; N k ; B 43 0 580 629 ;
|
||||
C 108 ; WX 600 ; N l ; B 95 0 505 629 ;
|
||||
C 109 ; WX 600 ; N m ; B -5 0 605 441 ;
|
||||
C 110 ; WX 600 ; N n ; B 26 0 575 441 ;
|
||||
C 111 ; WX 600 ; N o ; B 62 -15 538 441 ;
|
||||
C 112 ; WX 600 ; N p ; B 9 -157 555 441 ;
|
||||
C 113 ; WX 600 ; N q ; B 45 -157 591 441 ;
|
||||
C 114 ; WX 600 ; N r ; B 60 0 559 441 ;
|
||||
C 115 ; WX 600 ; N s ; B 80 -15 513 441 ;
|
||||
C 116 ; WX 600 ; N t ; B 87 -15 530 561 ;
|
||||
C 117 ; WX 600 ; N u ; B 21 -15 562 426 ;
|
||||
C 118 ; WX 600 ; N v ; B 10 -10 590 426 ;
|
||||
C 119 ; WX 600 ; N w ; B -4 -10 604 426 ;
|
||||
C 120 ; WX 600 ; N x ; B 20 0 580 426 ;
|
||||
C 121 ; WX 600 ; N y ; B 7 -157 592 426 ;
|
||||
C 122 ; WX 600 ; N z ; B 99 0 502 426 ;
|
||||
C 123 ; WX 600 ; N braceleft ; B 182 -108 437 622 ;
|
||||
C 124 ; WX 600 ; N bar ; B 275 -250 326 750 ;
|
||||
C 125 ; WX 600 ; N braceright ; B 163 -108 418 622 ;
|
||||
C 126 ; WX 600 ; N asciitilde ; B 63 197 540 320 ;
|
||||
C 161 ; WX 600 ; N exclamdown ; B 236 -157 364 430 ;
|
||||
C 162 ; WX 600 ; N cent ; B 96 -49 500 614 ;
|
||||
C 163 ; WX 600 ; N sterling ; B 84 -21 521 611 ;
|
||||
C -1 ; WX 600 ; N fraction ; B 92 -57 509 665 ;
|
||||
C 165 ; WX 600 ; N yen ; B 26 0 574 562 ;
|
||||
C 131 ; WX 600 ; N florin ; B 4 -143 539 622 ;
|
||||
C 167 ; WX 600 ; N section ; B 113 -78 488 580 ;
|
||||
C 164 ; WX 600 ; N currency ; B 73 58 527 506 ;
|
||||
C 39 ; WX 600 ; N quotesingle ; B 259 328 341 562 ;
|
||||
C 147 ; WX 600 ; N quotedblleft ; B 143 328 471 562 ;
|
||||
C 171 ; WX 600 ; N guillemotleft ; B 37 70 563 446 ;
|
||||
C 139 ; WX 600 ; N guilsinglleft ; B 149 70 451 446 ;
|
||||
C 155 ; WX 600 ; N guilsinglright ; B 149 70 451 446 ;
|
||||
C -1 ; WX 600 ; N fi ; B 3 0 597 629 ;
|
||||
C -1 ; WX 600 ; N fl ; B 3 0 597 629 ;
|
||||
C 150 ; WX 600 ; N endash ; B 75 231 525 285 ;
|
||||
C 134 ; WX 600 ; N dagger ; B 141 -78 459 580 ;
|
||||
C 135 ; WX 600 ; N daggerdbl ; B 141 -78 459 580 ;
|
||||
C 183 ; WX 600 ; N periodcentered ; B 222 189 378 327 ;
|
||||
C 182 ; WX 600 ; N paragraph ; B 50 -78 511 562 ;
|
||||
C 149 ; WX 600 ; N bullet ; B 172 130 428 383 ;
|
||||
C 130 ; WX 600 ; N quotesinglbase ; B 213 -134 376 100 ;
|
||||
C 132 ; WX 600 ; N quotedblbase ; B 143 -134 457 100 ;
|
||||
C 148 ; WX 600 ; N quotedblright ; B 143 328 457 562 ;
|
||||
C 187 ; WX 600 ; N guillemotright ; B 37 70 563 446 ;
|
||||
C 133 ; WX 600 ; N ellipsis ; B 37 -15 563 111 ;
|
||||
C 137 ; WX 600 ; N perthousand ; B 3 -15 600 622 ;
|
||||
C 191 ; WX 600 ; N questiondown ; B 108 -157 471 430 ;
|
||||
C 96 ; WX 600 ; N grave ; B 151 497 378 672 ;
|
||||
C 180 ; WX 600 ; N acute ; B 242 497 469 672 ;
|
||||
C 136 ; WX 600 ; N circumflex ; B 124 477 476 654 ;
|
||||
C 152 ; WX 600 ; N tilde ; B 105 489 503 606 ;
|
||||
C 175 ; WX 600 ; N macron ; B 120 525 480 565 ;
|
||||
C -1 ; WX 600 ; N breve ; B 153 501 447 609 ;
|
||||
C -1 ; WX 600 ; N dotaccent ; B 249 537 352 640 ;
|
||||
C 168 ; WX 600 ; N dieresis ; B 148 537 453 640 ;
|
||||
C -1 ; WX 600 ; N ring ; B 218 463 382 627 ;
|
||||
C 184 ; WX 600 ; N cedilla ; B 224 -151 362 10 ;
|
||||
C -1 ; WX 600 ; N hungarumlaut ; B 133 497 540 672 ;
|
||||
C -1 ; WX 600 ; N ogonek ; B 211 -172 407 4 ;
|
||||
C -1 ; WX 600 ; N caron ; B 124 492 476 669 ;
|
||||
C 151 ; WX 600 ; N emdash ; B 0 231 600 285 ;
|
||||
C 198 ; WX 600 ; N AE ; B 3 0 550 562 ;
|
||||
C 170 ; WX 600 ; N ordfeminine ; B 156 249 442 580 ;
|
||||
C -1 ; WX 600 ; N Lslash ; B 47 0 554 562 ;
|
||||
C 216 ; WX 600 ; N Oslash ; B 43 -80 557 629 ;
|
||||
C 140 ; WX 600 ; N OE ; B 7 0 567 562 ;
|
||||
C 186 ; WX 600 ; N ordmasculine ; B 157 249 443 580 ;
|
||||
C 230 ; WX 600 ; N ae ; B 19 -15 570 441 ;
|
||||
C -1 ; WX 600 ; N dotlessi ; B 95 0 505 426 ;
|
||||
C -1 ; WX 600 ; N lslash ; B 95 0 505 629 ;
|
||||
C 248 ; WX 600 ; N oslash ; B 62 -80 538 506 ;
|
||||
C 156 ; WX 600 ; N oe ; B 19 -15 559 441 ;
|
||||
C 223 ; WX 600 ; N germandbls ; B 48 -15 588 629 ;
|
||||
C 207 ; WX 600 ; N Idieresis ; B 96 0 504 753 ;
|
||||
C 233 ; WX 600 ; N eacute ; B 66 -15 548 672 ;
|
||||
C -1 ; WX 600 ; N abreve ; B 53 -15 559 609 ;
|
||||
C -1 ; WX 600 ; N uhungarumlaut ; B 21 -15 580 672 ;
|
||||
C -1 ; WX 600 ; N ecaron ; B 66 -15 548 669 ;
|
||||
C 159 ; WX 600 ; N Ydieresis ; B 24 0 576 753 ;
|
||||
C 247 ; WX 600 ; N divide ; B 87 48 513 467 ;
|
||||
C 221 ; WX 600 ; N Yacute ; B 24 0 576 805 ;
|
||||
C 194 ; WX 600 ; N Acircumflex ; B 3 0 597 787 ;
|
||||
C 225 ; WX 600 ; N aacute ; B 53 -15 559 672 ;
|
||||
C 219 ; WX 600 ; N Ucircumflex ; B 17 -18 583 787 ;
|
||||
C 253 ; WX 600 ; N yacute ; B 7 -157 592 672 ;
|
||||
C -1 ; WX 600 ; N scommaaccent ; B 80 -250 513 441 ;
|
||||
C 234 ; WX 600 ; N ecircumflex ; B 66 -15 548 654 ;
|
||||
C -1 ; WX 600 ; N Uring ; B 17 -18 583 760 ;
|
||||
C 220 ; WX 600 ; N Udieresis ; B 17 -18 583 753 ;
|
||||
C -1 ; WX 600 ; N aogonek ; B 53 -172 587 441 ;
|
||||
C 218 ; WX 600 ; N Uacute ; B 17 -18 583 805 ;
|
||||
C -1 ; WX 600 ; N uogonek ; B 21 -172 590 426 ;
|
||||
C 203 ; WX 600 ; N Edieresis ; B 53 0 550 753 ;
|
||||
C -1 ; WX 600 ; N Dcroat ; B 30 0 574 562 ;
|
||||
C -1 ; WX 600 ; N commaaccent ; B 198 -250 335 -58 ;
|
||||
C 169 ; WX 600 ; N copyright ; B 0 -18 600 580 ;
|
||||
C -1 ; WX 600 ; N Emacron ; B 53 0 550 698 ;
|
||||
C -1 ; WX 600 ; N ccaron ; B 66 -15 529 669 ;
|
||||
C 229 ; WX 600 ; N aring ; B 53 -15 559 627 ;
|
||||
C -1 ; WX 600 ; N Ncommaaccent ; B 7 -250 593 562 ;
|
||||
C -1 ; WX 600 ; N lacute ; B 95 0 505 805 ;
|
||||
C 224 ; WX 600 ; N agrave ; B 53 -15 559 672 ;
|
||||
C -1 ; WX 600 ; N Tcommaaccent ; B 38 -250 563 562 ;
|
||||
C -1 ; WX 600 ; N Cacute ; B 41 -18 540 805 ;
|
||||
C 227 ; WX 600 ; N atilde ; B 53 -15 559 606 ;
|
||||
C -1 ; WX 600 ; N Edotaccent ; B 53 0 550 753 ;
|
||||
C 154 ; WX 600 ; N scaron ; B 80 -15 513 669 ;
|
||||
C -1 ; WX 600 ; N scedilla ; B 80 -151 513 441 ;
|
||||
C 237 ; WX 600 ; N iacute ; B 95 0 505 672 ;
|
||||
C -1 ; WX 600 ; N lozenge ; B 18 0 443 706 ;
|
||||
C -1 ; WX 600 ; N Rcaron ; B 38 0 588 802 ;
|
||||
C -1 ; WX 600 ; N Gcommaaccent ; B 31 -250 575 580 ;
|
||||
C 251 ; WX 600 ; N ucircumflex ; B 21 -15 562 654 ;
|
||||
C 226 ; WX 600 ; N acircumflex ; B 53 -15 559 654 ;
|
||||
C -1 ; WX 600 ; N Amacron ; B 3 0 597 698 ;
|
||||
C -1 ; WX 600 ; N rcaron ; B 60 0 559 669 ;
|
||||
C 231 ; WX 600 ; N ccedilla ; B 66 -151 529 441 ;
|
||||
C -1 ; WX 600 ; N Zdotaccent ; B 86 0 514 753 ;
|
||||
C 222 ; WX 600 ; N Thorn ; B 79 0 538 562 ;
|
||||
C -1 ; WX 600 ; N Omacron ; B 43 -18 557 698 ;
|
||||
C -1 ; WX 600 ; N Racute ; B 38 0 588 805 ;
|
||||
C -1 ; WX 600 ; N Sacute ; B 72 -20 529 805 ;
|
||||
C -1 ; WX 600 ; N dcaron ; B 45 -15 715 629 ;
|
||||
C -1 ; WX 600 ; N Umacron ; B 17 -18 583 698 ;
|
||||
C -1 ; WX 600 ; N uring ; B 21 -15 562 627 ;
|
||||
C 179 ; WX 600 ; N threesuperior ; B 155 240 406 622 ;
|
||||
C 210 ; WX 600 ; N Ograve ; B 43 -18 557 805 ;
|
||||
C 192 ; WX 600 ; N Agrave ; B 3 0 597 805 ;
|
||||
C -1 ; WX 600 ; N Abreve ; B 3 0 597 732 ;
|
||||
C 215 ; WX 600 ; N multiply ; B 87 43 515 470 ;
|
||||
C 250 ; WX 600 ; N uacute ; B 21 -15 562 672 ;
|
||||
C -1 ; WX 600 ; N Tcaron ; B 38 0 563 802 ;
|
||||
C -1 ; WX 600 ; N partialdiff ; B 17 -38 459 710 ;
|
||||
C 255 ; WX 600 ; N ydieresis ; B 7 -157 592 620 ;
|
||||
C -1 ; WX 600 ; N Nacute ; B 7 -13 593 805 ;
|
||||
C 238 ; WX 600 ; N icircumflex ; B 94 0 505 654 ;
|
||||
C 202 ; WX 600 ; N Ecircumflex ; B 53 0 550 787 ;
|
||||
C 228 ; WX 600 ; N adieresis ; B 53 -15 559 620 ;
|
||||
C 235 ; WX 600 ; N edieresis ; B 66 -15 548 620 ;
|
||||
C -1 ; WX 600 ; N cacute ; B 66 -15 529 672 ;
|
||||
C -1 ; WX 600 ; N nacute ; B 26 0 575 672 ;
|
||||
C -1 ; WX 600 ; N umacron ; B 21 -15 562 565 ;
|
||||
C -1 ; WX 600 ; N Ncaron ; B 7 -13 593 802 ;
|
||||
C 205 ; WX 600 ; N Iacute ; B 96 0 504 805 ;
|
||||
C 177 ; WX 600 ; N plusminus ; B 87 44 513 558 ;
|
||||
C 166 ; WX 600 ; N brokenbar ; B 275 -175 326 675 ;
|
||||
C 174 ; WX 600 ; N registered ; B 0 -18 600 580 ;
|
||||
C -1 ; WX 600 ; N Gbreve ; B 31 -18 575 732 ;
|
||||
C -1 ; WX 600 ; N Idotaccent ; B 96 0 504 753 ;
|
||||
C -1 ; WX 600 ; N summation ; B 15 -10 585 706 ;
|
||||
C 200 ; WX 600 ; N Egrave ; B 53 0 550 805 ;
|
||||
C -1 ; WX 600 ; N racute ; B 60 0 559 672 ;
|
||||
C -1 ; WX 600 ; N omacron ; B 62 -15 538 565 ;
|
||||
C -1 ; WX 600 ; N Zacute ; B 86 0 514 805 ;
|
||||
C 142 ; WX 600 ; N Zcaron ; B 86 0 514 802 ;
|
||||
C -1 ; WX 600 ; N greaterequal ; B 98 0 502 710 ;
|
||||
C 208 ; WX 600 ; N Eth ; B 30 0 574 562 ;
|
||||
C 199 ; WX 600 ; N Ccedilla ; B 41 -151 540 580 ;
|
||||
C -1 ; WX 600 ; N lcommaaccent ; B 95 -250 505 629 ;
|
||||
C -1 ; WX 600 ; N tcaron ; B 87 -15 530 717 ;
|
||||
C -1 ; WX 600 ; N eogonek ; B 66 -172 548 441 ;
|
||||
C -1 ; WX 600 ; N Uogonek ; B 17 -172 583 562 ;
|
||||
C 193 ; WX 600 ; N Aacute ; B 3 0 597 805 ;
|
||||
C 196 ; WX 600 ; N Adieresis ; B 3 0 597 753 ;
|
||||
C 232 ; WX 600 ; N egrave ; B 66 -15 548 672 ;
|
||||
C -1 ; WX 600 ; N zacute ; B 99 0 502 672 ;
|
||||
C -1 ; WX 600 ; N iogonek ; B 95 -172 505 657 ;
|
||||
C 211 ; WX 600 ; N Oacute ; B 43 -18 557 805 ;
|
||||
C 243 ; WX 600 ; N oacute ; B 62 -15 538 672 ;
|
||||
C -1 ; WX 600 ; N amacron ; B 53 -15 559 565 ;
|
||||
C -1 ; WX 600 ; N sacute ; B 80 -15 513 672 ;
|
||||
C 239 ; WX 600 ; N idieresis ; B 95 0 505 620 ;
|
||||
C 212 ; WX 600 ; N Ocircumflex ; B 43 -18 557 787 ;
|
||||
C 217 ; WX 600 ; N Ugrave ; B 17 -18 583 805 ;
|
||||
C -1 ; WX 600 ; N Delta ; B 6 0 598 688 ;
|
||||
C 254 ; WX 600 ; N thorn ; B -6 -157 555 629 ;
|
||||
C 178 ; WX 600 ; N twosuperior ; B 177 249 424 622 ;
|
||||
C 214 ; WX 600 ; N Odieresis ; B 43 -18 557 753 ;
|
||||
C 181 ; WX 600 ; N mu ; B 21 -157 562 426 ;
|
||||
C 236 ; WX 600 ; N igrave ; B 95 0 505 672 ;
|
||||
C -1 ; WX 600 ; N ohungarumlaut ; B 62 -15 580 672 ;
|
||||
C -1 ; WX 600 ; N Eogonek ; B 53 -172 561 562 ;
|
||||
C -1 ; WX 600 ; N dcroat ; B 45 -15 591 629 ;
|
||||
C 190 ; WX 600 ; N threequarters ; B 8 -56 593 666 ;
|
||||
C -1 ; WX 600 ; N Scedilla ; B 72 -151 529 580 ;
|
||||
C -1 ; WX 600 ; N lcaron ; B 95 0 533 629 ;
|
||||
C -1 ; WX 600 ; N Kcommaaccent ; B 38 -250 582 562 ;
|
||||
C -1 ; WX 600 ; N Lacute ; B 47 0 554 805 ;
|
||||
C 153 ; WX 600 ; N trademark ; B -23 263 623 562 ;
|
||||
C -1 ; WX 600 ; N edotaccent ; B 66 -15 548 620 ;
|
||||
C 204 ; WX 600 ; N Igrave ; B 96 0 504 805 ;
|
||||
C -1 ; WX 600 ; N Imacron ; B 96 0 504 698 ;
|
||||
C -1 ; WX 600 ; N Lcaron ; B 47 0 554 562 ;
|
||||
C 189 ; WX 600 ; N onehalf ; B 0 -57 611 665 ;
|
||||
C -1 ; WX 600 ; N lessequal ; B 98 0 502 710 ;
|
||||
C 244 ; WX 600 ; N ocircumflex ; B 62 -15 538 654 ;
|
||||
C 241 ; WX 600 ; N ntilde ; B 26 0 575 606 ;
|
||||
C -1 ; WX 600 ; N Uhungarumlaut ; B 17 -18 590 805 ;
|
||||
C 201 ; WX 600 ; N Eacute ; B 53 0 550 805 ;
|
||||
C -1 ; WX 600 ; N emacron ; B 66 -15 548 565 ;
|
||||
C -1 ; WX 600 ; N gbreve ; B 45 -157 566 609 ;
|
||||
C 188 ; WX 600 ; N onequarter ; B 0 -57 600 665 ;
|
||||
C 138 ; WX 600 ; N Scaron ; B 72 -20 529 802 ;
|
||||
C -1 ; WX 600 ; N Scommaaccent ; B 72 -250 529 580 ;
|
||||
C -1 ; WX 600 ; N Ohungarumlaut ; B 43 -18 580 805 ;
|
||||
C 176 ; WX 600 ; N degree ; B 123 269 477 622 ;
|
||||
C 242 ; WX 600 ; N ograve ; B 62 -15 538 672 ;
|
||||
C -1 ; WX 600 ; N Ccaron ; B 41 -18 540 802 ;
|
||||
C 249 ; WX 600 ; N ugrave ; B 21 -15 562 672 ;
|
||||
C -1 ; WX 600 ; N radical ; B 3 -15 597 792 ;
|
||||
C -1 ; WX 600 ; N Dcaron ; B 43 0 574 802 ;
|
||||
C -1 ; WX 600 ; N rcommaaccent ; B 60 -250 559 441 ;
|
||||
C 209 ; WX 600 ; N Ntilde ; B 7 -13 593 729 ;
|
||||
C 245 ; WX 600 ; N otilde ; B 62 -15 538 606 ;
|
||||
C -1 ; WX 600 ; N Rcommaaccent ; B 38 -250 588 562 ;
|
||||
C -1 ; WX 600 ; N Lcommaaccent ; B 47 -250 554 562 ;
|
||||
C 195 ; WX 600 ; N Atilde ; B 3 0 597 729 ;
|
||||
C -1 ; WX 600 ; N Aogonek ; B 3 -172 608 562 ;
|
||||
C 197 ; WX 600 ; N Aring ; B 3 0 597 750 ;
|
||||
C 213 ; WX 600 ; N Otilde ; B 43 -18 557 729 ;
|
||||
C -1 ; WX 600 ; N zdotaccent ; B 99 0 502 620 ;
|
||||
C -1 ; WX 600 ; N Ecaron ; B 53 0 550 802 ;
|
||||
C -1 ; WX 600 ; N Iogonek ; B 96 -172 504 562 ;
|
||||
C -1 ; WX 600 ; N kcommaaccent ; B 43 -250 580 629 ;
|
||||
C -1 ; WX 600 ; N minus ; B 80 232 520 283 ;
|
||||
C 206 ; WX 600 ; N Icircumflex ; B 96 0 504 787 ;
|
||||
C -1 ; WX 600 ; N ncaron ; B 26 0 575 669 ;
|
||||
C -1 ; WX 600 ; N tcommaaccent ; B 87 -250 530 561 ;
|
||||
C 172 ; WX 600 ; N logicalnot ; B 87 108 513 369 ;
|
||||
C 246 ; WX 600 ; N odieresis ; B 62 -15 538 620 ;
|
||||
C 252 ; WX 600 ; N udieresis ; B 21 -15 562 620 ;
|
||||
C -1 ; WX 600 ; N notequal ; B 15 -16 540 529 ;
|
||||
C -1 ; WX 600 ; N gcommaaccent ; B 45 -157 566 708 ;
|
||||
C 240 ; WX 600 ; N eth ; B 62 -15 538 629 ;
|
||||
C 158 ; WX 600 ; N zcaron ; B 99 0 502 669 ;
|
||||
C -1 ; WX 600 ; N ncommaaccent ; B 26 -250 575 441 ;
|
||||
C 185 ; WX 600 ; N onesuperior ; B 172 249 428 622 ;
|
||||
C -1 ; WX 600 ; N imacron ; B 95 0 505 565 ;
|
||||
C 128 ; WX 600 ; N Euro ; B 0 0 0 0 ;
|
||||
EndCharMetrics
|
||||
EndFontMetrics
|
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSans-Bold.ttf
Normal file
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSans-Bold.ttf
Normal file
Binary file not shown.
6067
nrpc_site/dompdf/lib/fonts/DejaVuSans-Bold.ufm
Normal file
6067
nrpc_site/dompdf/lib/fonts/DejaVuSans-Bold.ufm
Normal file
File diff suppressed because it is too large
Load diff
10765
nrpc_site/dompdf/lib/fonts/DejaVuSans-Bold.ufm.php
Normal file
10765
nrpc_site/dompdf/lib/fonts/DejaVuSans-Bold.ufm.php
Normal file
File diff suppressed because one or more lines are too long
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSans-BoldOblique.ttf
Normal file
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSans-BoldOblique.ttf
Normal file
Binary file not shown.
5712
nrpc_site/dompdf/lib/fonts/DejaVuSans-BoldOblique.ufm
Normal file
5712
nrpc_site/dompdf/lib/fonts/DejaVuSans-BoldOblique.ufm
Normal file
File diff suppressed because it is too large
Load diff
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSans-Oblique.ttf
Normal file
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSans-Oblique.ttf
Normal file
Binary file not shown.
5268
nrpc_site/dompdf/lib/fonts/DejaVuSans-Oblique.ufm
Normal file
5268
nrpc_site/dompdf/lib/fonts/DejaVuSans-Oblique.ufm
Normal file
File diff suppressed because it is too large
Load diff
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSans.ttf
Normal file
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSans.ttf
Normal file
Binary file not shown.
6661
nrpc_site/dompdf/lib/fonts/DejaVuSans.ufm
Normal file
6661
nrpc_site/dompdf/lib/fonts/DejaVuSans.ufm
Normal file
File diff suppressed because it is too large
Load diff
10773
nrpc_site/dompdf/lib/fonts/DejaVuSans.ufm.php
Normal file
10773
nrpc_site/dompdf/lib/fonts/DejaVuSans.ufm.php
Normal file
File diff suppressed because one or more lines are too long
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSansMono-Bold.ttf
Normal file
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSansMono-Bold.ttf
Normal file
Binary file not shown.
3285
nrpc_site/dompdf/lib/fonts/DejaVuSansMono-Bold.ufm
Normal file
3285
nrpc_site/dompdf/lib/fonts/DejaVuSansMono-Bold.ufm
Normal file
File diff suppressed because it is too large
Load diff
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSansMono-BoldOblique.ttf
Normal file
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSansMono-BoldOblique.ttf
Normal file
Binary file not shown.
2707
nrpc_site/dompdf/lib/fonts/DejaVuSansMono-BoldOblique.ufm
Normal file
2707
nrpc_site/dompdf/lib/fonts/DejaVuSansMono-BoldOblique.ufm
Normal file
File diff suppressed because it is too large
Load diff
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSansMono-Oblique.ttf
Normal file
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSansMono-Oblique.ttf
Normal file
Binary file not shown.
2707
nrpc_site/dompdf/lib/fonts/DejaVuSansMono-Oblique.ufm
Normal file
2707
nrpc_site/dompdf/lib/fonts/DejaVuSansMono-Oblique.ufm
Normal file
File diff suppressed because it is too large
Load diff
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSansMono.ttf
Normal file
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSansMono.ttf
Normal file
Binary file not shown.
3284
nrpc_site/dompdf/lib/fonts/DejaVuSansMono.ufm
Normal file
3284
nrpc_site/dompdf/lib/fonts/DejaVuSansMono.ufm
Normal file
File diff suppressed because it is too large
Load diff
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSerif-Bold.ttf
Normal file
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSerif-Bold.ttf
Normal file
Binary file not shown.
4013
nrpc_site/dompdf/lib/fonts/DejaVuSerif-Bold.ufm
Normal file
4013
nrpc_site/dompdf/lib/fonts/DejaVuSerif-Bold.ufm
Normal file
File diff suppressed because it is too large
Load diff
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSerif-BoldItalic.ttf
Normal file
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSerif-BoldItalic.ttf
Normal file
Binary file not shown.
3892
nrpc_site/dompdf/lib/fonts/DejaVuSerif-BoldItalic.ufm
Normal file
3892
nrpc_site/dompdf/lib/fonts/DejaVuSerif-BoldItalic.ufm
Normal file
File diff suppressed because it is too large
Load diff
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSerif-Italic.ttf
Normal file
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSerif-Italic.ttf
Normal file
Binary file not shown.
3883
nrpc_site/dompdf/lib/fonts/DejaVuSerif-Italic.ufm
Normal file
3883
nrpc_site/dompdf/lib/fonts/DejaVuSerif-Italic.ufm
Normal file
File diff suppressed because it is too large
Load diff
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSerif.ttf
Normal file
BIN
nrpc_site/dompdf/lib/fonts/DejaVuSerif.ttf
Normal file
Binary file not shown.
4012
nrpc_site/dompdf/lib/fonts/DejaVuSerif.ufm
Normal file
4012
nrpc_site/dompdf/lib/fonts/DejaVuSerif.ufm
Normal file
File diff suppressed because it is too large
Load diff
2829
nrpc_site/dompdf/lib/fonts/Helvetica-Bold.afm
Normal file
2829
nrpc_site/dompdf/lib/fonts/Helvetica-Bold.afm
Normal file
File diff suppressed because it is too large
Load diff
572
nrpc_site/dompdf/lib/fonts/Helvetica-Bold.afm.php
Normal file
572
nrpc_site/dompdf/lib/fonts/Helvetica-Bold.afm.php
Normal file
|
@ -0,0 +1,572 @@
|
|||
<?php return array (
|
||||
'codeToName' =>
|
||||
array (
|
||||
32 => 'space',
|
||||
160 => 'space',
|
||||
33 => 'exclam',
|
||||
34 => 'quotedbl',
|
||||
35 => 'numbersign',
|
||||
36 => 'dollar',
|
||||
37 => 'percent',
|
||||
38 => 'ampersand',
|
||||
146 => 'quoteright',
|
||||
40 => 'parenleft',
|
||||
41 => 'parenright',
|
||||
42 => 'asterisk',
|
||||
43 => 'plus',
|
||||
44 => 'comma',
|
||||
45 => 'hyphen',
|
||||
173 => 'hyphen',
|
||||
46 => 'period',
|
||||
47 => 'slash',
|
||||
48 => 'zero',
|
||||
49 => 'one',
|
||||
50 => 'two',
|
||||
51 => 'three',
|
||||
52 => 'four',
|
||||
53 => 'five',
|
||||
54 => 'six',
|
||||
55 => 'seven',
|
||||
56 => 'eight',
|
||||
57 => 'nine',
|
||||
58 => 'colon',
|
||||
59 => 'semicolon',
|
||||
60 => 'less',
|
||||
61 => 'equal',
|
||||
62 => 'greater',
|
||||
63 => 'question',
|
||||
64 => 'at',
|
||||
65 => 'A',
|
||||
66 => 'B',
|
||||
67 => 'C',
|
||||
68 => 'D',
|
||||
69 => 'E',
|
||||
70 => 'F',
|
||||
71 => 'G',
|
||||
72 => 'H',
|
||||
73 => 'I',
|
||||
74 => 'J',
|
||||
75 => 'K',
|
||||
76 => 'L',
|
||||
77 => 'M',
|
||||
78 => 'N',
|
||||
79 => 'O',
|
||||
80 => 'P',
|
||||
81 => 'Q',
|
||||
82 => 'R',
|
||||
83 => 'S',
|
||||
84 => 'T',
|
||||
85 => 'U',
|
||||
86 => 'V',
|
||||
87 => 'W',
|
||||
88 => 'X',
|
||||
89 => 'Y',
|
||||
90 => 'Z',
|
||||
91 => 'bracketleft',
|
||||
92 => 'backslash',
|
||||
93 => 'bracketright',
|
||||
94 => 'asciicircum',
|
||||
95 => 'underscore',
|
||||
145 => 'quoteleft',
|
||||
97 => 'a',
|
||||
98 => 'b',
|
||||
99 => 'c',
|
||||
100 => 'd',
|
||||
101 => 'e',
|
||||
102 => 'f',
|
||||
103 => 'g',
|
||||
104 => 'h',
|
||||
105 => 'i',
|
||||
106 => 'j',
|
||||
107 => 'k',
|
||||
108 => 'l',
|
||||
109 => 'm',
|
||||
110 => 'n',
|
||||
111 => 'o',
|
||||
112 => 'p',
|
||||
113 => 'q',
|
||||
114 => 'r',
|
||||
115 => 's',
|
||||
116 => 't',
|
||||
117 => 'u',
|
||||
118 => 'v',
|
||||
119 => 'w',
|
||||
120 => 'x',
|
||||
121 => 'y',
|
||||
122 => 'z',
|
||||
123 => 'braceleft',
|
||||
124 => 'bar',
|
||||
125 => 'braceright',
|
||||
126 => 'asciitilde',
|
||||
161 => 'exclamdown',
|
||||
162 => 'cent',
|
||||
163 => 'sterling',
|
||||
165 => 'yen',
|
||||
131 => 'florin',
|
||||
167 => 'section',
|
||||
164 => 'currency',
|
||||
39 => 'quotesingle',
|
||||
147 => 'quotedblleft',
|
||||
171 => 'guillemotleft',
|
||||
139 => 'guilsinglleft',
|
||||
155 => 'guilsinglright',
|
||||
150 => 'endash',
|
||||
134 => 'dagger',
|
||||
135 => 'daggerdbl',
|
||||
183 => 'periodcentered',
|
||||
182 => 'paragraph',
|
||||
149 => 'bullet',
|
||||
130 => 'quotesinglbase',
|
||||
132 => 'quotedblbase',
|
||||
148 => 'quotedblright',
|
||||
187 => 'guillemotright',
|
||||
133 => 'ellipsis',
|
||||
137 => 'perthousand',
|
||||
191 => 'questiondown',
|
||||
96 => 'grave',
|
||||
180 => 'acute',
|
||||
136 => 'circumflex',
|
||||
152 => 'tilde',
|
||||
175 => 'macron',
|
||||
168 => 'dieresis',
|
||||
184 => 'cedilla',
|
||||
151 => 'emdash',
|
||||
198 => 'AE',
|
||||
170 => 'ordfeminine',
|
||||
216 => 'Oslash',
|
||||
140 => 'OE',
|
||||
186 => 'ordmasculine',
|
||||
230 => 'ae',
|
||||
248 => 'oslash',
|
||||
156 => 'oe',
|
||||
223 => 'germandbls',
|
||||
207 => 'Idieresis',
|
||||
233 => 'eacute',
|
||||
159 => 'Ydieresis',
|
||||
247 => 'divide',
|
||||
221 => 'Yacute',
|
||||
194 => 'Acircumflex',
|
||||
225 => 'aacute',
|
||||
219 => 'Ucircumflex',
|
||||
253 => 'yacute',
|
||||
234 => 'ecircumflex',
|
||||
220 => 'Udieresis',
|
||||
218 => 'Uacute',
|
||||
203 => 'Edieresis',
|
||||
169 => 'copyright',
|
||||
229 => 'aring',
|
||||
224 => 'agrave',
|
||||
227 => 'atilde',
|
||||
154 => 'scaron',
|
||||
237 => 'iacute',
|
||||
251 => 'ucircumflex',
|
||||
226 => 'acircumflex',
|
||||
231 => 'ccedilla',
|
||||
222 => 'Thorn',
|
||||
179 => 'threesuperior',
|
||||
210 => 'Ograve',
|
||||
192 => 'Agrave',
|
||||
215 => 'multiply',
|
||||
250 => 'uacute',
|
||||
255 => 'ydieresis',
|
||||
238 => 'icircumflex',
|
||||
202 => 'Ecircumflex',
|
||||
228 => 'adieresis',
|
||||
235 => 'edieresis',
|
||||
205 => 'Iacute',
|
||||
177 => 'plusminus',
|
||||
166 => 'brokenbar',
|
||||
174 => 'registered',
|
||||
200 => 'Egrave',
|
||||
142 => 'Zcaron',
|
||||
208 => 'Eth',
|
||||
199 => 'Ccedilla',
|
||||
193 => 'Aacute',
|
||||
196 => 'Adieresis',
|
||||
232 => 'egrave',
|
||||
211 => 'Oacute',
|
||||
243 => 'oacute',
|
||||
239 => 'idieresis',
|
||||
212 => 'Ocircumflex',
|
||||
217 => 'Ugrave',
|
||||
254 => 'thorn',
|
||||
178 => 'twosuperior',
|
||||
214 => 'Odieresis',
|
||||
181 => 'mu',
|
||||
236 => 'igrave',
|
||||
190 => 'threequarters',
|
||||
153 => 'trademark',
|
||||
204 => 'Igrave',
|
||||
189 => 'onehalf',
|
||||
244 => 'ocircumflex',
|
||||
241 => 'ntilde',
|
||||
201 => 'Eacute',
|
||||
188 => 'onequarter',
|
||||
138 => 'Scaron',
|
||||
176 => 'degree',
|
||||
242 => 'ograve',
|
||||
249 => 'ugrave',
|
||||
209 => 'Ntilde',
|
||||
245 => 'otilde',
|
||||
195 => 'Atilde',
|
||||
197 => 'Aring',
|
||||
213 => 'Otilde',
|
||||
206 => 'Icircumflex',
|
||||
172 => 'logicalnot',
|
||||
246 => 'odieresis',
|
||||
252 => 'udieresis',
|
||||
240 => 'eth',
|
||||
158 => 'zcaron',
|
||||
185 => 'onesuperior',
|
||||
128 => 'Euro',
|
||||
),
|
||||
'isUnicode' => false,
|
||||
'FontName' => 'Helvetica-Bold',
|
||||
'FullName' => 'Helvetica Bold',
|
||||
'FamilyName' => 'Helvetica',
|
||||
'Weight' => 'Bold',
|
||||
'ItalicAngle' => '0',
|
||||
'IsFixedPitch' => 'false',
|
||||
'CharacterSet' => 'ExtendedRoman',
|
||||
'FontBBox' =>
|
||||
array (
|
||||
0 => '-170',
|
||||
1 => '-228',
|
||||
2 => '1003',
|
||||
3 => '962',
|
||||
),
|
||||
'UnderlinePosition' => '-100',
|
||||
'UnderlineThickness' => '50',
|
||||
'Version' => '002.000',
|
||||
'EncodingScheme' => 'WinAnsiEncoding',
|
||||
'CapHeight' => '718',
|
||||
'XHeight' => '532',
|
||||
'Ascender' => '718',
|
||||
'Descender' => '-207',
|
||||
'StdHW' => '118',
|
||||
'StdVW' => '140',
|
||||
'StartCharMetrics' => '317',
|
||||
'C' =>
|
||||
array (
|
||||
32 => 278.0,
|
||||
160 => 278.0,
|
||||
33 => 333.0,
|
||||
34 => 474.0,
|
||||
35 => 556.0,
|
||||
36 => 556.0,
|
||||
37 => 889.0,
|
||||
38 => 722.0,
|
||||
146 => 278.0,
|
||||
40 => 333.0,
|
||||
41 => 333.0,
|
||||
42 => 389.0,
|
||||
43 => 584.0,
|
||||
44 => 278.0,
|
||||
45 => 333.0,
|
||||
173 => 333.0,
|
||||
46 => 278.0,
|
||||
47 => 278.0,
|
||||
48 => 556.0,
|
||||
49 => 556.0,
|
||||
50 => 556.0,
|
||||
51 => 556.0,
|
||||
52 => 556.0,
|
||||
53 => 556.0,
|
||||
54 => 556.0,
|
||||
55 => 556.0,
|
||||
56 => 556.0,
|
||||
57 => 556.0,
|
||||
58 => 333.0,
|
||||
59 => 333.0,
|
||||
60 => 584.0,
|
||||
61 => 584.0,
|
||||
62 => 584.0,
|
||||
63 => 611.0,
|
||||
64 => 975.0,
|
||||
65 => 722.0,
|
||||
66 => 722.0,
|
||||
67 => 722.0,
|
||||
68 => 722.0,
|
||||
69 => 667.0,
|
||||
70 => 611.0,
|
||||
71 => 778.0,
|
||||
72 => 722.0,
|
||||
73 => 278.0,
|
||||
74 => 556.0,
|
||||
75 => 722.0,
|
||||
76 => 611.0,
|
||||
77 => 833.0,
|
||||
78 => 722.0,
|
||||
79 => 778.0,
|
||||
80 => 667.0,
|
||||
81 => 778.0,
|
||||
82 => 722.0,
|
||||
83 => 667.0,
|
||||
84 => 611.0,
|
||||
85 => 722.0,
|
||||
86 => 667.0,
|
||||
87 => 944.0,
|
||||
88 => 667.0,
|
||||
89 => 667.0,
|
||||
90 => 611.0,
|
||||
91 => 333.0,
|
||||
92 => 278.0,
|
||||
93 => 333.0,
|
||||
94 => 584.0,
|
||||
95 => 556.0,
|
||||
145 => 278.0,
|
||||
97 => 556.0,
|
||||
98 => 611.0,
|
||||
99 => 556.0,
|
||||
100 => 611.0,
|
||||
101 => 556.0,
|
||||
102 => 333.0,
|
||||
103 => 611.0,
|
||||
104 => 611.0,
|
||||
105 => 278.0,
|
||||
106 => 278.0,
|
||||
107 => 556.0,
|
||||
108 => 278.0,
|
||||
109 => 889.0,
|
||||
110 => 611.0,
|
||||
111 => 611.0,
|
||||
112 => 611.0,
|
||||
113 => 611.0,
|
||||
114 => 389.0,
|
||||
115 => 556.0,
|
||||
116 => 333.0,
|
||||
117 => 611.0,
|
||||
118 => 556.0,
|
||||
119 => 778.0,
|
||||
120 => 556.0,
|
||||
121 => 556.0,
|
||||
122 => 500.0,
|
||||
123 => 389.0,
|
||||
124 => 280.0,
|
||||
125 => 389.0,
|
||||
126 => 584.0,
|
||||
161 => 333.0,
|
||||
162 => 556.0,
|
||||
163 => 556.0,
|
||||
'fraction' => 167.0,
|
||||
165 => 556.0,
|
||||
131 => 556.0,
|
||||
167 => 556.0,
|
||||
164 => 556.0,
|
||||
39 => 238.0,
|
||||
147 => 500.0,
|
||||
171 => 556.0,
|
||||
139 => 333.0,
|
||||
155 => 333.0,
|
||||
'fi' => 611.0,
|
||||
'fl' => 611.0,
|
||||
150 => 556.0,
|
||||
134 => 556.0,
|
||||
135 => 556.0,
|
||||
183 => 278.0,
|
||||
182 => 556.0,
|
||||
149 => 350.0,
|
||||
130 => 278.0,
|
||||
132 => 500.0,
|
||||
148 => 500.0,
|
||||
187 => 556.0,
|
||||
133 => 1000.0,
|
||||
137 => 1000.0,
|
||||
191 => 611.0,
|
||||
96 => 333.0,
|
||||
180 => 333.0,
|
||||
136 => 333.0,
|
||||
152 => 333.0,
|
||||
175 => 333.0,
|
||||
'breve' => 333.0,
|
||||
'dotaccent' => 333.0,
|
||||
168 => 333.0,
|
||||
'ring' => 333.0,
|
||||
184 => 333.0,
|
||||
'hungarumlaut' => 333.0,
|
||||
'ogonek' => 333.0,
|
||||
'caron' => 333.0,
|
||||
151 => 1000.0,
|
||||
198 => 1000.0,
|
||||
170 => 370.0,
|
||||
'Lslash' => 611.0,
|
||||
216 => 778.0,
|
||||
140 => 1000.0,
|
||||
186 => 365.0,
|
||||
230 => 889.0,
|
||||
'dotlessi' => 278.0,
|
||||
'lslash' => 278.0,
|
||||
248 => 611.0,
|
||||
156 => 944.0,
|
||||
223 => 611.0,
|
||||
207 => 278.0,
|
||||
233 => 556.0,
|
||||
'abreve' => 556.0,
|
||||
'uhungarumlaut' => 611.0,
|
||||
'ecaron' => 556.0,
|
||||
159 => 667.0,
|
||||
247 => 584.0,
|
||||
221 => 667.0,
|
||||
194 => 722.0,
|
||||
225 => 556.0,
|
||||
219 => 722.0,
|
||||
253 => 556.0,
|
||||
'scommaaccent' => 556.0,
|
||||
234 => 556.0,
|
||||
'Uring' => 722.0,
|
||||
220 => 722.0,
|
||||
'aogonek' => 556.0,
|
||||
218 => 722.0,
|
||||
'uogonek' => 611.0,
|
||||
203 => 667.0,
|
||||
'Dcroat' => 722.0,
|
||||
'commaaccent' => 250.0,
|
||||
169 => 737.0,
|
||||
'Emacron' => 667.0,
|
||||
'ccaron' => 556.0,
|
||||
229 => 556.0,
|
||||
'Ncommaaccent' => 722.0,
|
||||
'lacute' => 278.0,
|
||||
224 => 556.0,
|
||||
'Tcommaaccent' => 611.0,
|
||||
'Cacute' => 722.0,
|
||||
227 => 556.0,
|
||||
'Edotaccent' => 667.0,
|
||||
154 => 556.0,
|
||||
'scedilla' => 556.0,
|
||||
237 => 278.0,
|
||||
'lozenge' => 494.0,
|
||||
'Rcaron' => 722.0,
|
||||
'Gcommaaccent' => 778.0,
|
||||
251 => 611.0,
|
||||
226 => 556.0,
|
||||
'Amacron' => 722.0,
|
||||
'rcaron' => 389.0,
|
||||
231 => 556.0,
|
||||
'Zdotaccent' => 611.0,
|
||||
222 => 667.0,
|
||||
'Omacron' => 778.0,
|
||||
'Racute' => 722.0,
|
||||
'Sacute' => 667.0,
|
||||
'dcaron' => 743.0,
|
||||
'Umacron' => 722.0,
|
||||
'uring' => 611.0,
|
||||
179 => 333.0,
|
||||
210 => 778.0,
|
||||
192 => 722.0,
|
||||
'Abreve' => 722.0,
|
||||
215 => 584.0,
|
||||
250 => 611.0,
|
||||
'Tcaron' => 611.0,
|
||||
'partialdiff' => 494.0,
|
||||
255 => 556.0,
|
||||
'Nacute' => 722.0,
|
||||
238 => 278.0,
|
||||
202 => 667.0,
|
||||
228 => 556.0,
|
||||
235 => 556.0,
|
||||
'cacute' => 556.0,
|
||||
'nacute' => 611.0,
|
||||
'umacron' => 611.0,
|
||||
'Ncaron' => 722.0,
|
||||
205 => 278.0,
|
||||
177 => 584.0,
|
||||
166 => 280.0,
|
||||
174 => 737.0,
|
||||
'Gbreve' => 778.0,
|
||||
'Idotaccent' => 278.0,
|
||||
'summation' => 600.0,
|
||||
200 => 667.0,
|
||||
'racute' => 389.0,
|
||||
'omacron' => 611.0,
|
||||
'Zacute' => 611.0,
|
||||
142 => 611.0,
|
||||
'greaterequal' => 549.0,
|
||||
208 => 722.0,
|
||||
199 => 722.0,
|
||||
'lcommaaccent' => 278.0,
|
||||
'tcaron' => 389.0,
|
||||
'eogonek' => 556.0,
|
||||
'Uogonek' => 722.0,
|
||||
193 => 722.0,
|
||||
196 => 722.0,
|
||||
232 => 556.0,
|
||||
'zacute' => 500.0,
|
||||
'iogonek' => 278.0,
|
||||
211 => 778.0,
|
||||
243 => 611.0,
|
||||
'amacron' => 556.0,
|
||||
'sacute' => 556.0,
|
||||
239 => 278.0,
|
||||
212 => 778.0,
|
||||
217 => 722.0,
|
||||
'Delta' => 612.0,
|
||||
254 => 611.0,
|
||||
178 => 333.0,
|
||||
214 => 778.0,
|
||||
181 => 611.0,
|
||||
236 => 278.0,
|
||||
'ohungarumlaut' => 611.0,
|
||||
'Eogonek' => 667.0,
|
||||
'dcroat' => 611.0,
|
||||
190 => 834.0,
|
||||
'Scedilla' => 667.0,
|
||||
'lcaron' => 400.0,
|
||||
'Kcommaaccent' => 722.0,
|
||||
'Lacute' => 611.0,
|
||||
153 => 1000.0,
|
||||
'edotaccent' => 556.0,
|
||||
204 => 278.0,
|
||||
'Imacron' => 278.0,
|
||||
'Lcaron' => 611.0,
|
||||
189 => 834.0,
|
||||
'lessequal' => 549.0,
|
||||
244 => 611.0,
|
||||
241 => 611.0,
|
||||
'Uhungarumlaut' => 722.0,
|
||||
201 => 667.0,
|
||||
'emacron' => 556.0,
|
||||
'gbreve' => 611.0,
|
||||
188 => 834.0,
|
||||
138 => 667.0,
|
||||
'Scommaaccent' => 667.0,
|
||||
'Ohungarumlaut' => 778.0,
|
||||
176 => 400.0,
|
||||
242 => 611.0,
|
||||
'Ccaron' => 722.0,
|
||||
249 => 611.0,
|
||||
'radical' => 549.0,
|
||||
'Dcaron' => 722.0,
|
||||
'rcommaaccent' => 389.0,
|
||||
209 => 722.0,
|
||||
245 => 611.0,
|
||||
'Rcommaaccent' => 722.0,
|
||||
'Lcommaaccent' => 611.0,
|
||||
195 => 722.0,
|
||||
'Aogonek' => 722.0,
|
||||
197 => 722.0,
|
||||
213 => 778.0,
|
||||
'zdotaccent' => 500.0,
|
||||
'Ecaron' => 667.0,
|
||||
'Iogonek' => 278.0,
|
||||
'kcommaaccent' => 556.0,
|
||||
'minus' => 584.0,
|
||||
206 => 278.0,
|
||||
'ncaron' => 611.0,
|
||||
'tcommaaccent' => 333.0,
|
||||
172 => 584.0,
|
||||
246 => 611.0,
|
||||
252 => 611.0,
|
||||
'notequal' => 549.0,
|
||||
'gcommaaccent' => 611.0,
|
||||
240 => 611.0,
|
||||
158 => 500.0,
|
||||
'ncommaaccent' => 611.0,
|
||||
185 => 333.0,
|
||||
'imacron' => 278.0,
|
||||
128 => 556.0,
|
||||
),
|
||||
'CIDtoGID_Compressed' => true,
|
||||
'CIDtoGID' => 'eJwDAAAAAAE=',
|
||||
'_version_' => 6,
|
||||
);
|
2829
nrpc_site/dompdf/lib/fonts/Helvetica-BoldOblique.afm
Normal file
2829
nrpc_site/dompdf/lib/fonts/Helvetica-BoldOblique.afm
Normal file
File diff suppressed because it is too large
Load diff
3053
nrpc_site/dompdf/lib/fonts/Helvetica-Oblique.afm
Normal file
3053
nrpc_site/dompdf/lib/fonts/Helvetica-Oblique.afm
Normal file
File diff suppressed because it is too large
Load diff
3053
nrpc_site/dompdf/lib/fonts/Helvetica.afm
Normal file
3053
nrpc_site/dompdf/lib/fonts/Helvetica.afm
Normal file
File diff suppressed because it is too large
Load diff
572
nrpc_site/dompdf/lib/fonts/Helvetica.afm.php
Normal file
572
nrpc_site/dompdf/lib/fonts/Helvetica.afm.php
Normal file
|
@ -0,0 +1,572 @@
|
|||
<?php return array (
|
||||
'codeToName' =>
|
||||
array (
|
||||
32 => 'space',
|
||||
160 => 'space',
|
||||
33 => 'exclam',
|
||||
34 => 'quotedbl',
|
||||
35 => 'numbersign',
|
||||
36 => 'dollar',
|
||||
37 => 'percent',
|
||||
38 => 'ampersand',
|
||||
146 => 'quoteright',
|
||||
40 => 'parenleft',
|
||||
41 => 'parenright',
|
||||
42 => 'asterisk',
|
||||
43 => 'plus',
|
||||
44 => 'comma',
|
||||
45 => 'hyphen',
|
||||
173 => 'hyphen',
|
||||
46 => 'period',
|
||||
47 => 'slash',
|
||||
48 => 'zero',
|
||||
49 => 'one',
|
||||
50 => 'two',
|
||||
51 => 'three',
|
||||
52 => 'four',
|
||||
53 => 'five',
|
||||
54 => 'six',
|
||||
55 => 'seven',
|
||||
56 => 'eight',
|
||||
57 => 'nine',
|
||||
58 => 'colon',
|
||||
59 => 'semicolon',
|
||||
60 => 'less',
|
||||
61 => 'equal',
|
||||
62 => 'greater',
|
||||
63 => 'question',
|
||||
64 => 'at',
|
||||
65 => 'A',
|
||||
66 => 'B',
|
||||
67 => 'C',
|
||||
68 => 'D',
|
||||
69 => 'E',
|
||||
70 => 'F',
|
||||
71 => 'G',
|
||||
72 => 'H',
|
||||
73 => 'I',
|
||||
74 => 'J',
|
||||
75 => 'K',
|
||||
76 => 'L',
|
||||
77 => 'M',
|
||||
78 => 'N',
|
||||
79 => 'O',
|
||||
80 => 'P',
|
||||
81 => 'Q',
|
||||
82 => 'R',
|
||||
83 => 'S',
|
||||
84 => 'T',
|
||||
85 => 'U',
|
||||
86 => 'V',
|
||||
87 => 'W',
|
||||
88 => 'X',
|
||||
89 => 'Y',
|
||||
90 => 'Z',
|
||||
91 => 'bracketleft',
|
||||
92 => 'backslash',
|
||||
93 => 'bracketright',
|
||||
94 => 'asciicircum',
|
||||
95 => 'underscore',
|
||||
145 => 'quoteleft',
|
||||
97 => 'a',
|
||||
98 => 'b',
|
||||
99 => 'c',
|
||||
100 => 'd',
|
||||
101 => 'e',
|
||||
102 => 'f',
|
||||
103 => 'g',
|
||||
104 => 'h',
|
||||
105 => 'i',
|
||||
106 => 'j',
|
||||
107 => 'k',
|
||||
108 => 'l',
|
||||
109 => 'm',
|
||||
110 => 'n',
|
||||
111 => 'o',
|
||||
112 => 'p',
|
||||
113 => 'q',
|
||||
114 => 'r',
|
||||
115 => 's',
|
||||
116 => 't',
|
||||
117 => 'u',
|
||||
118 => 'v',
|
||||
119 => 'w',
|
||||
120 => 'x',
|
||||
121 => 'y',
|
||||
122 => 'z',
|
||||
123 => 'braceleft',
|
||||
124 => 'bar',
|
||||
125 => 'braceright',
|
||||
126 => 'asciitilde',
|
||||
161 => 'exclamdown',
|
||||
162 => 'cent',
|
||||
163 => 'sterling',
|
||||
165 => 'yen',
|
||||
131 => 'florin',
|
||||
167 => 'section',
|
||||
164 => 'currency',
|
||||
39 => 'quotesingle',
|
||||
147 => 'quotedblleft',
|
||||
171 => 'guillemotleft',
|
||||
139 => 'guilsinglleft',
|
||||
155 => 'guilsinglright',
|
||||
150 => 'endash',
|
||||
134 => 'dagger',
|
||||
135 => 'daggerdbl',
|
||||
183 => 'periodcentered',
|
||||
182 => 'paragraph',
|
||||
149 => 'bullet',
|
||||
130 => 'quotesinglbase',
|
||||
132 => 'quotedblbase',
|
||||
148 => 'quotedblright',
|
||||
187 => 'guillemotright',
|
||||
133 => 'ellipsis',
|
||||
137 => 'perthousand',
|
||||
191 => 'questiondown',
|
||||
96 => 'grave',
|
||||
180 => 'acute',
|
||||
136 => 'circumflex',
|
||||
152 => 'tilde',
|
||||
175 => 'macron',
|
||||
168 => 'dieresis',
|
||||
184 => 'cedilla',
|
||||
151 => 'emdash',
|
||||
198 => 'AE',
|
||||
170 => 'ordfeminine',
|
||||
216 => 'Oslash',
|
||||
140 => 'OE',
|
||||
186 => 'ordmasculine',
|
||||
230 => 'ae',
|
||||
248 => 'oslash',
|
||||
156 => 'oe',
|
||||
223 => 'germandbls',
|
||||
207 => 'Idieresis',
|
||||
233 => 'eacute',
|
||||
159 => 'Ydieresis',
|
||||
247 => 'divide',
|
||||
221 => 'Yacute',
|
||||
194 => 'Acircumflex',
|
||||
225 => 'aacute',
|
||||
219 => 'Ucircumflex',
|
||||
253 => 'yacute',
|
||||
234 => 'ecircumflex',
|
||||
220 => 'Udieresis',
|
||||
218 => 'Uacute',
|
||||
203 => 'Edieresis',
|
||||
169 => 'copyright',
|
||||
229 => 'aring',
|
||||
224 => 'agrave',
|
||||
227 => 'atilde',
|
||||
154 => 'scaron',
|
||||
237 => 'iacute',
|
||||
251 => 'ucircumflex',
|
||||
226 => 'acircumflex',
|
||||
231 => 'ccedilla',
|
||||
222 => 'Thorn',
|
||||
179 => 'threesuperior',
|
||||
210 => 'Ograve',
|
||||
192 => 'Agrave',
|
||||
215 => 'multiply',
|
||||
250 => 'uacute',
|
||||
255 => 'ydieresis',
|
||||
238 => 'icircumflex',
|
||||
202 => 'Ecircumflex',
|
||||
228 => 'adieresis',
|
||||
235 => 'edieresis',
|
||||
205 => 'Iacute',
|
||||
177 => 'plusminus',
|
||||
166 => 'brokenbar',
|
||||
174 => 'registered',
|
||||
200 => 'Egrave',
|
||||
142 => 'Zcaron',
|
||||
208 => 'Eth',
|
||||
199 => 'Ccedilla',
|
||||
193 => 'Aacute',
|
||||
196 => 'Adieresis',
|
||||
232 => 'egrave',
|
||||
211 => 'Oacute',
|
||||
243 => 'oacute',
|
||||
239 => 'idieresis',
|
||||
212 => 'Ocircumflex',
|
||||
217 => 'Ugrave',
|
||||
254 => 'thorn',
|
||||
178 => 'twosuperior',
|
||||
214 => 'Odieresis',
|
||||
181 => 'mu',
|
||||
236 => 'igrave',
|
||||
190 => 'threequarters',
|
||||
153 => 'trademark',
|
||||
204 => 'Igrave',
|
||||
189 => 'onehalf',
|
||||
244 => 'ocircumflex',
|
||||
241 => 'ntilde',
|
||||
201 => 'Eacute',
|
||||
188 => 'onequarter',
|
||||
138 => 'Scaron',
|
||||
176 => 'degree',
|
||||
242 => 'ograve',
|
||||
249 => 'ugrave',
|
||||
209 => 'Ntilde',
|
||||
245 => 'otilde',
|
||||
195 => 'Atilde',
|
||||
197 => 'Aring',
|
||||
213 => 'Otilde',
|
||||
206 => 'Icircumflex',
|
||||
172 => 'logicalnot',
|
||||
246 => 'odieresis',
|
||||
252 => 'udieresis',
|
||||
240 => 'eth',
|
||||
158 => 'zcaron',
|
||||
185 => 'onesuperior',
|
||||
128 => 'Euro',
|
||||
),
|
||||
'isUnicode' => false,
|
||||
'FontName' => 'Helvetica',
|
||||
'FullName' => 'Helvetica',
|
||||
'FamilyName' => 'Helvetica',
|
||||
'Weight' => 'Medium',
|
||||
'ItalicAngle' => '0',
|
||||
'IsFixedPitch' => 'false',
|
||||
'CharacterSet' => 'ExtendedRoman',
|
||||
'FontBBox' =>
|
||||
array (
|
||||
0 => '-166',
|
||||
1 => '-225',
|
||||
2 => '1000',
|
||||
3 => '931',
|
||||
),
|
||||
'UnderlinePosition' => '-100',
|
||||
'UnderlineThickness' => '50',
|
||||
'Version' => '002.000',
|
||||
'EncodingScheme' => 'WinAnsiEncoding',
|
||||
'CapHeight' => '718',
|
||||
'XHeight' => '523',
|
||||
'Ascender' => '718',
|
||||
'Descender' => '-207',
|
||||
'StdHW' => '76',
|
||||
'StdVW' => '88',
|
||||
'StartCharMetrics' => '317',
|
||||
'C' =>
|
||||
array (
|
||||
32 => 278.0,
|
||||
160 => 278.0,
|
||||
33 => 278.0,
|
||||
34 => 355.0,
|
||||
35 => 556.0,
|
||||
36 => 556.0,
|
||||
37 => 889.0,
|
||||
38 => 667.0,
|
||||
146 => 222.0,
|
||||
40 => 333.0,
|
||||
41 => 333.0,
|
||||
42 => 389.0,
|
||||
43 => 584.0,
|
||||
44 => 278.0,
|
||||
45 => 333.0,
|
||||
173 => 333.0,
|
||||
46 => 278.0,
|
||||
47 => 278.0,
|
||||
48 => 556.0,
|
||||
49 => 556.0,
|
||||
50 => 556.0,
|
||||
51 => 556.0,
|
||||
52 => 556.0,
|
||||
53 => 556.0,
|
||||
54 => 556.0,
|
||||
55 => 556.0,
|
||||
56 => 556.0,
|
||||
57 => 556.0,
|
||||
58 => 278.0,
|
||||
59 => 278.0,
|
||||
60 => 584.0,
|
||||
61 => 584.0,
|
||||
62 => 584.0,
|
||||
63 => 556.0,
|
||||
64 => 1015.0,
|
||||
65 => 667.0,
|
||||
66 => 667.0,
|
||||
67 => 722.0,
|
||||
68 => 722.0,
|
||||
69 => 667.0,
|
||||
70 => 611.0,
|
||||
71 => 778.0,
|
||||
72 => 722.0,
|
||||
73 => 278.0,
|
||||
74 => 500.0,
|
||||
75 => 667.0,
|
||||
76 => 556.0,
|
||||
77 => 833.0,
|
||||
78 => 722.0,
|
||||
79 => 778.0,
|
||||
80 => 667.0,
|
||||
81 => 778.0,
|
||||
82 => 722.0,
|
||||
83 => 667.0,
|
||||
84 => 611.0,
|
||||
85 => 722.0,
|
||||
86 => 667.0,
|
||||
87 => 944.0,
|
||||
88 => 667.0,
|
||||
89 => 667.0,
|
||||
90 => 611.0,
|
||||
91 => 278.0,
|
||||
92 => 278.0,
|
||||
93 => 278.0,
|
||||
94 => 469.0,
|
||||
95 => 556.0,
|
||||
145 => 222.0,
|
||||
97 => 556.0,
|
||||
98 => 556.0,
|
||||
99 => 500.0,
|
||||
100 => 556.0,
|
||||
101 => 556.0,
|
||||
102 => 278.0,
|
||||
103 => 556.0,
|
||||
104 => 556.0,
|
||||
105 => 222.0,
|
||||
106 => 222.0,
|
||||
107 => 500.0,
|
||||
108 => 222.0,
|
||||
109 => 833.0,
|
||||
110 => 556.0,
|
||||
111 => 556.0,
|
||||
112 => 556.0,
|
||||
113 => 556.0,
|
||||
114 => 333.0,
|
||||
115 => 500.0,
|
||||
116 => 278.0,
|
||||
117 => 556.0,
|
||||
118 => 500.0,
|
||||
119 => 722.0,
|
||||
120 => 500.0,
|
||||
121 => 500.0,
|
||||
122 => 500.0,
|
||||
123 => 334.0,
|
||||
124 => 260.0,
|
||||
125 => 334.0,
|
||||
126 => 584.0,
|
||||
161 => 333.0,
|
||||
162 => 556.0,
|
||||
163 => 556.0,
|
||||
'fraction' => 167.0,
|
||||
165 => 556.0,
|
||||
131 => 556.0,
|
||||
167 => 556.0,
|
||||
164 => 556.0,
|
||||
39 => 191.0,
|
||||
147 => 333.0,
|
||||
171 => 556.0,
|
||||
139 => 333.0,
|
||||
155 => 333.0,
|
||||
'fi' => 500.0,
|
||||
'fl' => 500.0,
|
||||
150 => 556.0,
|
||||
134 => 556.0,
|
||||
135 => 556.0,
|
||||
183 => 278.0,
|
||||
182 => 537.0,
|
||||
149 => 350.0,
|
||||
130 => 222.0,
|
||||
132 => 333.0,
|
||||
148 => 333.0,
|
||||
187 => 556.0,
|
||||
133 => 1000.0,
|
||||
137 => 1000.0,
|
||||
191 => 611.0,
|
||||
96 => 333.0,
|
||||
180 => 333.0,
|
||||
136 => 333.0,
|
||||
152 => 333.0,
|
||||
175 => 333.0,
|
||||
'breve' => 333.0,
|
||||
'dotaccent' => 333.0,
|
||||
168 => 333.0,
|
||||
'ring' => 333.0,
|
||||
184 => 333.0,
|
||||
'hungarumlaut' => 333.0,
|
||||
'ogonek' => 333.0,
|
||||
'caron' => 333.0,
|
||||
151 => 1000.0,
|
||||
198 => 1000.0,
|
||||
170 => 370.0,
|
||||
'Lslash' => 556.0,
|
||||
216 => 778.0,
|
||||
140 => 1000.0,
|
||||
186 => 365.0,
|
||||
230 => 889.0,
|
||||
'dotlessi' => 278.0,
|
||||
'lslash' => 222.0,
|
||||
248 => 611.0,
|
||||
156 => 944.0,
|
||||
223 => 611.0,
|
||||
207 => 278.0,
|
||||
233 => 556.0,
|
||||
'abreve' => 556.0,
|
||||
'uhungarumlaut' => 556.0,
|
||||
'ecaron' => 556.0,
|
||||
159 => 667.0,
|
||||
247 => 584.0,
|
||||
221 => 667.0,
|
||||
194 => 667.0,
|
||||
225 => 556.0,
|
||||
219 => 722.0,
|
||||
253 => 500.0,
|
||||
'scommaaccent' => 500.0,
|
||||
234 => 556.0,
|
||||
'Uring' => 722.0,
|
||||
220 => 722.0,
|
||||
'aogonek' => 556.0,
|
||||
218 => 722.0,
|
||||
'uogonek' => 556.0,
|
||||
203 => 667.0,
|
||||
'Dcroat' => 722.0,
|
||||
'commaaccent' => 250.0,
|
||||
169 => 737.0,
|
||||
'Emacron' => 667.0,
|
||||
'ccaron' => 500.0,
|
||||
229 => 556.0,
|
||||
'Ncommaaccent' => 722.0,
|
||||
'lacute' => 222.0,
|
||||
224 => 556.0,
|
||||
'Tcommaaccent' => 611.0,
|
||||
'Cacute' => 722.0,
|
||||
227 => 556.0,
|
||||
'Edotaccent' => 667.0,
|
||||
154 => 500.0,
|
||||
'scedilla' => 500.0,
|
||||
237 => 278.0,
|
||||
'lozenge' => 471.0,
|
||||
'Rcaron' => 722.0,
|
||||
'Gcommaaccent' => 778.0,
|
||||
251 => 556.0,
|
||||
226 => 556.0,
|
||||
'Amacron' => 667.0,
|
||||
'rcaron' => 333.0,
|
||||
231 => 500.0,
|
||||
'Zdotaccent' => 611.0,
|
||||
222 => 667.0,
|
||||
'Omacron' => 778.0,
|
||||
'Racute' => 722.0,
|
||||
'Sacute' => 667.0,
|
||||
'dcaron' => 643.0,
|
||||
'Umacron' => 722.0,
|
||||
'uring' => 556.0,
|
||||
179 => 333.0,
|
||||
210 => 778.0,
|
||||
192 => 667.0,
|
||||
'Abreve' => 667.0,
|
||||
215 => 584.0,
|
||||
250 => 556.0,
|
||||
'Tcaron' => 611.0,
|
||||
'partialdiff' => 476.0,
|
||||
255 => 500.0,
|
||||
'Nacute' => 722.0,
|
||||
238 => 278.0,
|
||||
202 => 667.0,
|
||||
228 => 556.0,
|
||||
235 => 556.0,
|
||||
'cacute' => 500.0,
|
||||
'nacute' => 556.0,
|
||||
'umacron' => 556.0,
|
||||
'Ncaron' => 722.0,
|
||||
205 => 278.0,
|
||||
177 => 584.0,
|
||||
166 => 260.0,
|
||||
174 => 737.0,
|
||||
'Gbreve' => 778.0,
|
||||
'Idotaccent' => 278.0,
|
||||
'summation' => 600.0,
|
||||
200 => 667.0,
|
||||
'racute' => 333.0,
|
||||
'omacron' => 556.0,
|
||||
'Zacute' => 611.0,
|
||||
142 => 611.0,
|
||||
'greaterequal' => 549.0,
|
||||
208 => 722.0,
|
||||
199 => 722.0,
|
||||
'lcommaaccent' => 222.0,
|
||||
'tcaron' => 317.0,
|
||||
'eogonek' => 556.0,
|
||||
'Uogonek' => 722.0,
|
||||
193 => 667.0,
|
||||
196 => 667.0,
|
||||
232 => 556.0,
|
||||
'zacute' => 500.0,
|
||||
'iogonek' => 222.0,
|
||||
211 => 778.0,
|
||||
243 => 556.0,
|
||||
'amacron' => 556.0,
|
||||
'sacute' => 500.0,
|
||||
239 => 278.0,
|
||||
212 => 778.0,
|
||||
217 => 722.0,
|
||||
'Delta' => 612.0,
|
||||
254 => 556.0,
|
||||
178 => 333.0,
|
||||
214 => 778.0,
|
||||
181 => 556.0,
|
||||
236 => 278.0,
|
||||
'ohungarumlaut' => 556.0,
|
||||
'Eogonek' => 667.0,
|
||||
'dcroat' => 556.0,
|
||||
190 => 834.0,
|
||||
'Scedilla' => 667.0,
|
||||
'lcaron' => 299.0,
|
||||
'Kcommaaccent' => 667.0,
|
||||
'Lacute' => 556.0,
|
||||
153 => 1000.0,
|
||||
'edotaccent' => 556.0,
|
||||
204 => 278.0,
|
||||
'Imacron' => 278.0,
|
||||
'Lcaron' => 556.0,
|
||||
189 => 834.0,
|
||||
'lessequal' => 549.0,
|
||||
244 => 556.0,
|
||||
241 => 556.0,
|
||||
'Uhungarumlaut' => 722.0,
|
||||
201 => 667.0,
|
||||
'emacron' => 556.0,
|
||||
'gbreve' => 556.0,
|
||||
188 => 834.0,
|
||||
138 => 667.0,
|
||||
'Scommaaccent' => 667.0,
|
||||
'Ohungarumlaut' => 778.0,
|
||||
176 => 400.0,
|
||||
242 => 556.0,
|
||||
'Ccaron' => 722.0,
|
||||
249 => 556.0,
|
||||
'radical' => 453.0,
|
||||
'Dcaron' => 722.0,
|
||||
'rcommaaccent' => 333.0,
|
||||
209 => 722.0,
|
||||
245 => 556.0,
|
||||
'Rcommaaccent' => 722.0,
|
||||
'Lcommaaccent' => 556.0,
|
||||
195 => 667.0,
|
||||
'Aogonek' => 667.0,
|
||||
197 => 667.0,
|
||||
213 => 778.0,
|
||||
'zdotaccent' => 500.0,
|
||||
'Ecaron' => 667.0,
|
||||
'Iogonek' => 278.0,
|
||||
'kcommaaccent' => 500.0,
|
||||
'minus' => 584.0,
|
||||
206 => 278.0,
|
||||
'ncaron' => 556.0,
|
||||
'tcommaaccent' => 278.0,
|
||||
172 => 584.0,
|
||||
246 => 556.0,
|
||||
252 => 556.0,
|
||||
'notequal' => 549.0,
|
||||
'gcommaaccent' => 556.0,
|
||||
240 => 556.0,
|
||||
158 => 500.0,
|
||||
'ncommaaccent' => 556.0,
|
||||
185 => 333.0,
|
||||
'imacron' => 278.0,
|
||||
128 => 556.0,
|
||||
),
|
||||
'CIDtoGID_Compressed' => true,
|
||||
'CIDtoGID' => 'eJwDAAAAAAE=',
|
||||
'_version_' => 6,
|
||||
);
|
213
nrpc_site/dompdf/lib/fonts/Symbol.afm
Normal file
213
nrpc_site/dompdf/lib/fonts/Symbol.afm
Normal file
|
@ -0,0 +1,213 @@
|
|||
StartFontMetrics 4.1
|
||||
Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All rights reserved.
|
||||
Comment Creation Date: Thu May 1 15:12:25 1997
|
||||
Comment UniqueID 43064
|
||||
Comment VMusage 30820 39997
|
||||
FontName Symbol
|
||||
FullName Symbol
|
||||
FamilyName Symbol
|
||||
Weight Medium
|
||||
ItalicAngle 0
|
||||
IsFixedPitch false
|
||||
CharacterSet Special
|
||||
FontBBox -180 -293 1090 1010
|
||||
UnderlinePosition -100
|
||||
UnderlineThickness 50
|
||||
Version 001.008
|
||||
Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All rights reserved.
|
||||
EncodingScheme FontSpecific
|
||||
StdHW 92
|
||||
StdVW 85
|
||||
StartCharMetrics 190
|
||||
C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
|
||||
C 33 ; WX 333 ; N exclam ; B 128 -17 240 672 ;
|
||||
C 34 ; WX 713 ; N universal ; B 31 0 681 705 ;
|
||||
C 35 ; WX 500 ; N numbersign ; B 20 -16 481 673 ;
|
||||
C 36 ; WX 549 ; N existential ; B 25 0 478 707 ;
|
||||
C 37 ; WX 833 ; N percent ; B 63 -36 771 655 ;
|
||||
C 38 ; WX 778 ; N ampersand ; B 41 -18 750 661 ;
|
||||
C 39 ; WX 439 ; N suchthat ; B 48 -17 414 500 ;
|
||||
C 40 ; WX 333 ; N parenleft ; B 53 -191 300 673 ;
|
||||
C 41 ; WX 333 ; N parenright ; B 30 -191 277 673 ;
|
||||
C 42 ; WX 500 ; N asteriskmath ; B 65 134 427 551 ;
|
||||
C 43 ; WX 549 ; N plus ; B 10 0 539 533 ;
|
||||
C 44 ; WX 250 ; N comma ; B 56 -152 194 104 ;
|
||||
C 45 ; WX 549 ; N minus ; B 11 233 535 288 ;
|
||||
C 46 ; WX 250 ; N period ; B 69 -17 181 95 ;
|
||||
C 47 ; WX 278 ; N slash ; B 0 -18 254 646 ;
|
||||
C 48 ; WX 500 ; N zero ; B 24 -14 476 685 ;
|
||||
C 49 ; WX 500 ; N one ; B 117 0 390 673 ;
|
||||
C 50 ; WX 500 ; N two ; B 25 0 475 685 ;
|
||||
C 51 ; WX 500 ; N three ; B 43 -14 435 685 ;
|
||||
C 52 ; WX 500 ; N four ; B 15 0 469 685 ;
|
||||
C 53 ; WX 500 ; N five ; B 32 -14 445 690 ;
|
||||
C 54 ; WX 500 ; N six ; B 34 -14 468 685 ;
|
||||
C 55 ; WX 500 ; N seven ; B 24 -16 448 673 ;
|
||||
C 56 ; WX 500 ; N eight ; B 56 -14 445 685 ;
|
||||
C 57 ; WX 500 ; N nine ; B 30 -18 459 685 ;
|
||||
C 58 ; WX 278 ; N colon ; B 81 -17 193 460 ;
|
||||
C 59 ; WX 278 ; N semicolon ; B 83 -152 221 460 ;
|
||||
C 60 ; WX 549 ; N less ; B 26 0 523 522 ;
|
||||
C 61 ; WX 549 ; N equal ; B 11 141 537 390 ;
|
||||
C 62 ; WX 549 ; N greater ; B 26 0 523 522 ;
|
||||
C 63 ; WX 444 ; N question ; B 70 -17 412 686 ;
|
||||
C 64 ; WX 549 ; N congruent ; B 11 0 537 475 ;
|
||||
C 65 ; WX 722 ; N Alpha ; B 4 0 684 673 ;
|
||||
C 66 ; WX 667 ; N Beta ; B 29 0 592 673 ;
|
||||
C 67 ; WX 722 ; N Chi ; B -9 0 704 673 ;
|
||||
C 68 ; WX 612 ; N Delta ; B 6 0 608 688 ;
|
||||
C 69 ; WX 611 ; N Epsilon ; B 32 0 617 673 ;
|
||||
C 70 ; WX 763 ; N Phi ; B 26 0 741 673 ;
|
||||
C 71 ; WX 603 ; N Gamma ; B 24 0 609 673 ;
|
||||
C 72 ; WX 722 ; N Eta ; B 39 0 729 673 ;
|
||||
C 73 ; WX 333 ; N Iota ; B 32 0 316 673 ;
|
||||
C 74 ; WX 631 ; N theta1 ; B 18 -18 623 689 ;
|
||||
C 75 ; WX 722 ; N Kappa ; B 35 0 722 673 ;
|
||||
C 76 ; WX 686 ; N Lambda ; B 6 0 680 688 ;
|
||||
C 77 ; WX 889 ; N Mu ; B 28 0 887 673 ;
|
||||
C 78 ; WX 722 ; N Nu ; B 29 -8 720 673 ;
|
||||
C 79 ; WX 722 ; N Omicron ; B 41 -17 715 685 ;
|
||||
C 80 ; WX 768 ; N Pi ; B 25 0 745 673 ;
|
||||
C 81 ; WX 741 ; N Theta ; B 41 -17 715 685 ;
|
||||
C 82 ; WX 556 ; N Rho ; B 28 0 563 673 ;
|
||||
C 83 ; WX 592 ; N Sigma ; B 5 0 589 673 ;
|
||||
C 84 ; WX 611 ; N Tau ; B 33 0 607 673 ;
|
||||
C 85 ; WX 690 ; N Upsilon ; B -8 0 694 673 ;
|
||||
C 86 ; WX 439 ; N sigma1 ; B 40 -233 436 500 ;
|
||||
C 87 ; WX 768 ; N Omega ; B 34 0 736 688 ;
|
||||
C 88 ; WX 645 ; N Xi ; B 40 0 599 673 ;
|
||||
C 89 ; WX 795 ; N Psi ; B 15 0 781 684 ;
|
||||
C 90 ; WX 611 ; N Zeta ; B 44 0 636 673 ;
|
||||
C 91 ; WX 333 ; N bracketleft ; B 86 -155 299 674 ;
|
||||
C 92 ; WX 863 ; N therefore ; B 163 0 701 487 ;
|
||||
C 93 ; WX 333 ; N bracketright ; B 33 -155 246 674 ;
|
||||
C 94 ; WX 658 ; N perpendicular ; B 15 0 652 674 ;
|
||||
C 95 ; WX 500 ; N underscore ; B -2 -125 502 -75 ;
|
||||
C 96 ; WX 500 ; N radicalex ; B 480 881 1090 917 ;
|
||||
C 97 ; WX 631 ; N alpha ; B 41 -18 622 500 ;
|
||||
C 98 ; WX 549 ; N beta ; B 61 -223 515 741 ;
|
||||
C 99 ; WX 549 ; N chi ; B 12 -231 522 499 ;
|
||||
C 100 ; WX 494 ; N delta ; B 40 -19 481 740 ;
|
||||
C 101 ; WX 439 ; N epsilon ; B 22 -19 427 502 ;
|
||||
C 102 ; WX 521 ; N phi ; B 28 -224 492 673 ;
|
||||
C 103 ; WX 411 ; N gamma ; B 5 -225 484 499 ;
|
||||
C 104 ; WX 603 ; N eta ; B 0 -202 527 514 ;
|
||||
C 105 ; WX 329 ; N iota ; B 0 -17 301 503 ;
|
||||
C 106 ; WX 603 ; N phi1 ; B 36 -224 587 499 ;
|
||||
C 107 ; WX 549 ; N kappa ; B 33 0 558 501 ;
|
||||
C 108 ; WX 549 ; N lambda ; B 24 -17 548 739 ;
|
||||
C 109 ; WX 576 ; N mu ; B 33 -223 567 500 ;
|
||||
C 110 ; WX 521 ; N nu ; B -9 -16 475 507 ;
|
||||
C 111 ; WX 549 ; N omicron ; B 35 -19 501 499 ;
|
||||
C 112 ; WX 549 ; N pi ; B 10 -19 530 487 ;
|
||||
C 113 ; WX 521 ; N theta ; B 43 -17 485 690 ;
|
||||
C 114 ; WX 549 ; N rho ; B 50 -230 490 499 ;
|
||||
C 115 ; WX 603 ; N sigma ; B 30 -21 588 500 ;
|
||||
C 116 ; WX 439 ; N tau ; B 10 -19 418 500 ;
|
||||
C 117 ; WX 576 ; N upsilon ; B 7 -18 535 507 ;
|
||||
C 118 ; WX 713 ; N omega1 ; B 12 -18 671 583 ;
|
||||
C 119 ; WX 686 ; N omega ; B 42 -17 684 500 ;
|
||||
C 120 ; WX 493 ; N xi ; B 27 -224 469 766 ;
|
||||
C 121 ; WX 686 ; N psi ; B 12 -228 701 500 ;
|
||||
C 122 ; WX 494 ; N zeta ; B 60 -225 467 756 ;
|
||||
C 123 ; WX 480 ; N braceleft ; B 58 -183 397 673 ;
|
||||
C 124 ; WX 200 ; N bar ; B 65 -293 135 707 ;
|
||||
C 125 ; WX 480 ; N braceright ; B 79 -183 418 673 ;
|
||||
C 126 ; WX 549 ; N similar ; B 17 203 529 307 ;
|
||||
C 160 ; WX 750 ; N Euro ; B 20 -12 714 685 ;
|
||||
C 161 ; WX 620 ; N Upsilon1 ; B -2 0 610 685 ;
|
||||
C 162 ; WX 247 ; N minute ; B 27 459 228 735 ;
|
||||
C 163 ; WX 549 ; N lessequal ; B 29 0 526 639 ;
|
||||
C 164 ; WX 167 ; N fraction ; B -180 -12 340 677 ;
|
||||
C 165 ; WX 713 ; N infinity ; B 26 124 688 404 ;
|
||||
C 166 ; WX 500 ; N florin ; B 2 -193 494 686 ;
|
||||
C 167 ; WX 753 ; N club ; B 86 -26 660 533 ;
|
||||
C 168 ; WX 753 ; N diamond ; B 142 -36 600 550 ;
|
||||
C 169 ; WX 753 ; N heart ; B 117 -33 631 532 ;
|
||||
C 170 ; WX 753 ; N spade ; B 113 -36 629 548 ;
|
||||
C 171 ; WX 1042 ; N arrowboth ; B 24 -15 1024 511 ;
|
||||
C 172 ; WX 987 ; N arrowleft ; B 32 -15 942 511 ;
|
||||
C 173 ; WX 603 ; N arrowup ; B 45 0 571 910 ;
|
||||
C 174 ; WX 987 ; N arrowright ; B 49 -15 959 511 ;
|
||||
C 175 ; WX 603 ; N arrowdown ; B 45 -22 571 888 ;
|
||||
C 176 ; WX 400 ; N degree ; B 50 385 350 685 ;
|
||||
C 177 ; WX 549 ; N plusminus ; B 10 0 539 645 ;
|
||||
C 178 ; WX 411 ; N second ; B 20 459 413 737 ;
|
||||
C 179 ; WX 549 ; N greaterequal ; B 29 0 526 639 ;
|
||||
C 180 ; WX 549 ; N multiply ; B 17 8 533 524 ;
|
||||
C 181 ; WX 713 ; N proportional ; B 27 123 639 404 ;
|
||||
C 182 ; WX 494 ; N partialdiff ; B 26 -20 462 746 ;
|
||||
C 183 ; WX 460 ; N bullet ; B 50 113 410 473 ;
|
||||
C 184 ; WX 549 ; N divide ; B 10 71 536 456 ;
|
||||
C 185 ; WX 549 ; N notequal ; B 15 -25 540 549 ;
|
||||
C 186 ; WX 549 ; N equivalence ; B 14 82 538 443 ;
|
||||
C 187 ; WX 549 ; N approxequal ; B 14 135 527 394 ;
|
||||
C 188 ; WX 1000 ; N ellipsis ; B 111 -17 889 95 ;
|
||||
C 189 ; WX 603 ; N arrowvertex ; B 280 -120 336 1010 ;
|
||||
C 190 ; WX 1000 ; N arrowhorizex ; B -60 220 1050 276 ;
|
||||
C 191 ; WX 658 ; N carriagereturn ; B 15 -16 602 629 ;
|
||||
C 192 ; WX 823 ; N aleph ; B 175 -18 661 658 ;
|
||||
C 193 ; WX 686 ; N Ifraktur ; B 10 -53 578 740 ;
|
||||
C 194 ; WX 795 ; N Rfraktur ; B 26 -15 759 734 ;
|
||||
C 195 ; WX 987 ; N weierstrass ; B 159 -211 870 573 ;
|
||||
C 196 ; WX 768 ; N circlemultiply ; B 43 -17 733 673 ;
|
||||
C 197 ; WX 768 ; N circleplus ; B 43 -15 733 675 ;
|
||||
C 198 ; WX 823 ; N emptyset ; B 39 -24 781 719 ;
|
||||
C 199 ; WX 768 ; N intersection ; B 40 0 732 509 ;
|
||||
C 200 ; WX 768 ; N union ; B 40 -17 732 492 ;
|
||||
C 201 ; WX 713 ; N propersuperset ; B 20 0 673 470 ;
|
||||
C 202 ; WX 713 ; N reflexsuperset ; B 20 -125 673 470 ;
|
||||
C 203 ; WX 713 ; N notsubset ; B 36 -70 690 540 ;
|
||||
C 204 ; WX 713 ; N propersubset ; B 37 0 690 470 ;
|
||||
C 205 ; WX 713 ; N reflexsubset ; B 37 -125 690 470 ;
|
||||
C 206 ; WX 713 ; N element ; B 45 0 505 468 ;
|
||||
C 207 ; WX 713 ; N notelement ; B 45 -58 505 555 ;
|
||||
C 208 ; WX 768 ; N angle ; B 26 0 738 673 ;
|
||||
C 209 ; WX 713 ; N gradient ; B 36 -19 681 718 ;
|
||||
C 210 ; WX 790 ; N registerserif ; B 50 -17 740 673 ;
|
||||
C 211 ; WX 790 ; N copyrightserif ; B 51 -15 741 675 ;
|
||||
C 212 ; WX 890 ; N trademarkserif ; B 18 293 855 673 ;
|
||||
C 213 ; WX 823 ; N product ; B 25 -101 803 751 ;
|
||||
C 214 ; WX 549 ; N radical ; B 10 -38 515 917 ;
|
||||
C 215 ; WX 250 ; N dotmath ; B 69 210 169 310 ;
|
||||
C 216 ; WX 713 ; N logicalnot ; B 15 0 680 288 ;
|
||||
C 217 ; WX 603 ; N logicaland ; B 23 0 583 454 ;
|
||||
C 218 ; WX 603 ; N logicalor ; B 30 0 578 477 ;
|
||||
C 219 ; WX 1042 ; N arrowdblboth ; B 27 -20 1023 510 ;
|
||||
C 220 ; WX 987 ; N arrowdblleft ; B 30 -15 939 513 ;
|
||||
C 221 ; WX 603 ; N arrowdblup ; B 39 2 567 911 ;
|
||||
C 222 ; WX 987 ; N arrowdblright ; B 45 -20 954 508 ;
|
||||
C 223 ; WX 603 ; N arrowdbldown ; B 44 -19 572 890 ;
|
||||
C 224 ; WX 494 ; N lozenge ; B 18 0 466 745 ;
|
||||
C 225 ; WX 329 ; N angleleft ; B 25 -198 306 746 ;
|
||||
C 226 ; WX 790 ; N registersans ; B 50 -20 740 670 ;
|
||||
C 227 ; WX 790 ; N copyrightsans ; B 49 -15 739 675 ;
|
||||
C 228 ; WX 786 ; N trademarksans ; B 5 293 725 673 ;
|
||||
C 229 ; WX 713 ; N summation ; B 14 -108 695 752 ;
|
||||
C 230 ; WX 384 ; N parenlefttp ; B 24 -293 436 926 ;
|
||||
C 231 ; WX 384 ; N parenleftex ; B 24 -85 108 925 ;
|
||||
C 232 ; WX 384 ; N parenleftbt ; B 24 -293 436 926 ;
|
||||
C 233 ; WX 384 ; N bracketlefttp ; B 0 -80 349 926 ;
|
||||
C 234 ; WX 384 ; N bracketleftex ; B 0 -79 77 925 ;
|
||||
C 235 ; WX 384 ; N bracketleftbt ; B 0 -80 349 926 ;
|
||||
C 236 ; WX 494 ; N bracelefttp ; B 209 -85 445 925 ;
|
||||
C 237 ; WX 494 ; N braceleftmid ; B 20 -85 284 935 ;
|
||||
C 238 ; WX 494 ; N braceleftbt ; B 209 -75 445 935 ;
|
||||
C 239 ; WX 494 ; N braceex ; B 209 -85 284 935 ;
|
||||
C 241 ; WX 329 ; N angleright ; B 21 -198 302 746 ;
|
||||
C 242 ; WX 274 ; N integral ; B 2 -107 291 916 ;
|
||||
C 243 ; WX 686 ; N integraltp ; B 308 -88 675 920 ;
|
||||
C 244 ; WX 686 ; N integralex ; B 308 -88 378 975 ;
|
||||
C 245 ; WX 686 ; N integralbt ; B 11 -87 378 921 ;
|
||||
C 246 ; WX 384 ; N parenrighttp ; B 54 -293 466 926 ;
|
||||
C 247 ; WX 384 ; N parenrightex ; B 382 -85 466 925 ;
|
||||
C 248 ; WX 384 ; N parenrightbt ; B 54 -293 466 926 ;
|
||||
C 249 ; WX 384 ; N bracketrighttp ; B 22 -80 371 926 ;
|
||||
C 250 ; WX 384 ; N bracketrightex ; B 294 -79 371 925 ;
|
||||
C 251 ; WX 384 ; N bracketrightbt ; B 22 -80 371 926 ;
|
||||
C 252 ; WX 494 ; N bracerighttp ; B 48 -85 284 925 ;
|
||||
C 253 ; WX 494 ; N bracerightmid ; B 209 -85 473 935 ;
|
||||
C 254 ; WX 494 ; N bracerightbt ; B 48 -75 284 935 ;
|
||||
C -1 ; WX 790 ; N apple ; B 56 -3 733 808 ;
|
||||
EndCharMetrics
|
||||
EndFontMetrics
|
2590
nrpc_site/dompdf/lib/fonts/Times-Bold.afm
Normal file
2590
nrpc_site/dompdf/lib/fonts/Times-Bold.afm
Normal file
File diff suppressed because it is too large
Load diff
572
nrpc_site/dompdf/lib/fonts/Times-Bold.afm.php
Normal file
572
nrpc_site/dompdf/lib/fonts/Times-Bold.afm.php
Normal file
|
@ -0,0 +1,572 @@
|
|||
<?php return array (
|
||||
'codeToName' =>
|
||||
array (
|
||||
32 => 'space',
|
||||
160 => 'space',
|
||||
33 => 'exclam',
|
||||
34 => 'quotedbl',
|
||||
35 => 'numbersign',
|
||||
36 => 'dollar',
|
||||
37 => 'percent',
|
||||
38 => 'ampersand',
|
||||
146 => 'quoteright',
|
||||
40 => 'parenleft',
|
||||
41 => 'parenright',
|
||||
42 => 'asterisk',
|
||||
43 => 'plus',
|
||||
44 => 'comma',
|
||||
45 => 'hyphen',
|
||||
173 => 'hyphen',
|
||||
46 => 'period',
|
||||
47 => 'slash',
|
||||
48 => 'zero',
|
||||
49 => 'one',
|
||||
50 => 'two',
|
||||
51 => 'three',
|
||||
52 => 'four',
|
||||
53 => 'five',
|
||||
54 => 'six',
|
||||
55 => 'seven',
|
||||
56 => 'eight',
|
||||
57 => 'nine',
|
||||
58 => 'colon',
|
||||
59 => 'semicolon',
|
||||
60 => 'less',
|
||||
61 => 'equal',
|
||||
62 => 'greater',
|
||||
63 => 'question',
|
||||
64 => 'at',
|
||||
65 => 'A',
|
||||
66 => 'B',
|
||||
67 => 'C',
|
||||
68 => 'D',
|
||||
69 => 'E',
|
||||
70 => 'F',
|
||||
71 => 'G',
|
||||
72 => 'H',
|
||||
73 => 'I',
|
||||
74 => 'J',
|
||||
75 => 'K',
|
||||
76 => 'L',
|
||||
77 => 'M',
|
||||
78 => 'N',
|
||||
79 => 'O',
|
||||
80 => 'P',
|
||||
81 => 'Q',
|
||||
82 => 'R',
|
||||
83 => 'S',
|
||||
84 => 'T',
|
||||
85 => 'U',
|
||||
86 => 'V',
|
||||
87 => 'W',
|
||||
88 => 'X',
|
||||
89 => 'Y',
|
||||
90 => 'Z',
|
||||
91 => 'bracketleft',
|
||||
92 => 'backslash',
|
||||
93 => 'bracketright',
|
||||
94 => 'asciicircum',
|
||||
95 => 'underscore',
|
||||
145 => 'quoteleft',
|
||||
97 => 'a',
|
||||
98 => 'b',
|
||||
99 => 'c',
|
||||
100 => 'd',
|
||||
101 => 'e',
|
||||
102 => 'f',
|
||||
103 => 'g',
|
||||
104 => 'h',
|
||||
105 => 'i',
|
||||
106 => 'j',
|
||||
107 => 'k',
|
||||
108 => 'l',
|
||||
109 => 'm',
|
||||
110 => 'n',
|
||||
111 => 'o',
|
||||
112 => 'p',
|
||||
113 => 'q',
|
||||
114 => 'r',
|
||||
115 => 's',
|
||||
116 => 't',
|
||||
117 => 'u',
|
||||
118 => 'v',
|
||||
119 => 'w',
|
||||
120 => 'x',
|
||||
121 => 'y',
|
||||
122 => 'z',
|
||||
123 => 'braceleft',
|
||||
124 => 'bar',
|
||||
125 => 'braceright',
|
||||
126 => 'asciitilde',
|
||||
161 => 'exclamdown',
|
||||
162 => 'cent',
|
||||
163 => 'sterling',
|
||||
165 => 'yen',
|
||||
131 => 'florin',
|
||||
167 => 'section',
|
||||
164 => 'currency',
|
||||
39 => 'quotesingle',
|
||||
147 => 'quotedblleft',
|
||||
171 => 'guillemotleft',
|
||||
139 => 'guilsinglleft',
|
||||
155 => 'guilsinglright',
|
||||
150 => 'endash',
|
||||
134 => 'dagger',
|
||||
135 => 'daggerdbl',
|
||||
183 => 'periodcentered',
|
||||
182 => 'paragraph',
|
||||
149 => 'bullet',
|
||||
130 => 'quotesinglbase',
|
||||
132 => 'quotedblbase',
|
||||
148 => 'quotedblright',
|
||||
187 => 'guillemotright',
|
||||
133 => 'ellipsis',
|
||||
137 => 'perthousand',
|
||||
191 => 'questiondown',
|
||||
96 => 'grave',
|
||||
180 => 'acute',
|
||||
136 => 'circumflex',
|
||||
152 => 'tilde',
|
||||
175 => 'macron',
|
||||
168 => 'dieresis',
|
||||
184 => 'cedilla',
|
||||
151 => 'emdash',
|
||||
198 => 'AE',
|
||||
170 => 'ordfeminine',
|
||||
216 => 'Oslash',
|
||||
140 => 'OE',
|
||||
186 => 'ordmasculine',
|
||||
230 => 'ae',
|
||||
248 => 'oslash',
|
||||
156 => 'oe',
|
||||
223 => 'germandbls',
|
||||
207 => 'Idieresis',
|
||||
233 => 'eacute',
|
||||
159 => 'Ydieresis',
|
||||
247 => 'divide',
|
||||
221 => 'Yacute',
|
||||
194 => 'Acircumflex',
|
||||
225 => 'aacute',
|
||||
219 => 'Ucircumflex',
|
||||
253 => 'yacute',
|
||||
234 => 'ecircumflex',
|
||||
220 => 'Udieresis',
|
||||
218 => 'Uacute',
|
||||
203 => 'Edieresis',
|
||||
169 => 'copyright',
|
||||
229 => 'aring',
|
||||
224 => 'agrave',
|
||||
227 => 'atilde',
|
||||
154 => 'scaron',
|
||||
237 => 'iacute',
|
||||
251 => 'ucircumflex',
|
||||
226 => 'acircumflex',
|
||||
231 => 'ccedilla',
|
||||
222 => 'Thorn',
|
||||
179 => 'threesuperior',
|
||||
210 => 'Ograve',
|
||||
192 => 'Agrave',
|
||||
215 => 'multiply',
|
||||
250 => 'uacute',
|
||||
255 => 'ydieresis',
|
||||
238 => 'icircumflex',
|
||||
202 => 'Ecircumflex',
|
||||
228 => 'adieresis',
|
||||
235 => 'edieresis',
|
||||
205 => 'Iacute',
|
||||
177 => 'plusminus',
|
||||
166 => 'brokenbar',
|
||||
174 => 'registered',
|
||||
200 => 'Egrave',
|
||||
142 => 'Zcaron',
|
||||
208 => 'Eth',
|
||||
199 => 'Ccedilla',
|
||||
193 => 'Aacute',
|
||||
196 => 'Adieresis',
|
||||
232 => 'egrave',
|
||||
211 => 'Oacute',
|
||||
243 => 'oacute',
|
||||
239 => 'idieresis',
|
||||
212 => 'Ocircumflex',
|
||||
217 => 'Ugrave',
|
||||
254 => 'thorn',
|
||||
178 => 'twosuperior',
|
||||
214 => 'Odieresis',
|
||||
181 => 'mu',
|
||||
236 => 'igrave',
|
||||
190 => 'threequarters',
|
||||
153 => 'trademark',
|
||||
204 => 'Igrave',
|
||||
189 => 'onehalf',
|
||||
244 => 'ocircumflex',
|
||||
241 => 'ntilde',
|
||||
201 => 'Eacute',
|
||||
188 => 'onequarter',
|
||||
138 => 'Scaron',
|
||||
176 => 'degree',
|
||||
242 => 'ograve',
|
||||
249 => 'ugrave',
|
||||
209 => 'Ntilde',
|
||||
245 => 'otilde',
|
||||
195 => 'Atilde',
|
||||
197 => 'Aring',
|
||||
213 => 'Otilde',
|
||||
206 => 'Icircumflex',
|
||||
172 => 'logicalnot',
|
||||
246 => 'odieresis',
|
||||
252 => 'udieresis',
|
||||
240 => 'eth',
|
||||
158 => 'zcaron',
|
||||
185 => 'onesuperior',
|
||||
128 => 'Euro',
|
||||
),
|
||||
'isUnicode' => false,
|
||||
'FontName' => 'Times-Bold',
|
||||
'FullName' => 'Times Bold',
|
||||
'FamilyName' => 'Times',
|
||||
'Weight' => 'Bold',
|
||||
'ItalicAngle' => '0',
|
||||
'IsFixedPitch' => 'false',
|
||||
'CharacterSet' => 'ExtendedRoman',
|
||||
'FontBBox' =>
|
||||
array (
|
||||
0 => '-168',
|
||||
1 => '-218',
|
||||
2 => '1000',
|
||||
3 => '935',
|
||||
),
|
||||
'UnderlinePosition' => '-100',
|
||||
'UnderlineThickness' => '50',
|
||||
'Version' => '002.000',
|
||||
'EncodingScheme' => 'WinAnsiEncoding',
|
||||
'CapHeight' => '676',
|
||||
'XHeight' => '461',
|
||||
'Ascender' => '683',
|
||||
'Descender' => '-217',
|
||||
'StdHW' => '44',
|
||||
'StdVW' => '139',
|
||||
'StartCharMetrics' => '317',
|
||||
'C' =>
|
||||
array (
|
||||
32 => 250.0,
|
||||
160 => 250.0,
|
||||
33 => 333.0,
|
||||
34 => 555.0,
|
||||
35 => 500.0,
|
||||
36 => 500.0,
|
||||
37 => 1000.0,
|
||||
38 => 833.0,
|
||||
146 => 333.0,
|
||||
40 => 333.0,
|
||||
41 => 333.0,
|
||||
42 => 500.0,
|
||||
43 => 570.0,
|
||||
44 => 250.0,
|
||||
45 => 333.0,
|
||||
173 => 333.0,
|
||||
46 => 250.0,
|
||||
47 => 278.0,
|
||||
48 => 500.0,
|
||||
49 => 500.0,
|
||||
50 => 500.0,
|
||||
51 => 500.0,
|
||||
52 => 500.0,
|
||||
53 => 500.0,
|
||||
54 => 500.0,
|
||||
55 => 500.0,
|
||||
56 => 500.0,
|
||||
57 => 500.0,
|
||||
58 => 333.0,
|
||||
59 => 333.0,
|
||||
60 => 570.0,
|
||||
61 => 570.0,
|
||||
62 => 570.0,
|
||||
63 => 500.0,
|
||||
64 => 930.0,
|
||||
65 => 722.0,
|
||||
66 => 667.0,
|
||||
67 => 722.0,
|
||||
68 => 722.0,
|
||||
69 => 667.0,
|
||||
70 => 611.0,
|
||||
71 => 778.0,
|
||||
72 => 778.0,
|
||||
73 => 389.0,
|
||||
74 => 500.0,
|
||||
75 => 778.0,
|
||||
76 => 667.0,
|
||||
77 => 944.0,
|
||||
78 => 722.0,
|
||||
79 => 778.0,
|
||||
80 => 611.0,
|
||||
81 => 778.0,
|
||||
82 => 722.0,
|
||||
83 => 556.0,
|
||||
84 => 667.0,
|
||||
85 => 722.0,
|
||||
86 => 722.0,
|
||||
87 => 1000.0,
|
||||
88 => 722.0,
|
||||
89 => 722.0,
|
||||
90 => 667.0,
|
||||
91 => 333.0,
|
||||
92 => 278.0,
|
||||
93 => 333.0,
|
||||
94 => 581.0,
|
||||
95 => 500.0,
|
||||
145 => 333.0,
|
||||
97 => 500.0,
|
||||
98 => 556.0,
|
||||
99 => 444.0,
|
||||
100 => 556.0,
|
||||
101 => 444.0,
|
||||
102 => 333.0,
|
||||
103 => 500.0,
|
||||
104 => 556.0,
|
||||
105 => 278.0,
|
||||
106 => 333.0,
|
||||
107 => 556.0,
|
||||
108 => 278.0,
|
||||
109 => 833.0,
|
||||
110 => 556.0,
|
||||
111 => 500.0,
|
||||
112 => 556.0,
|
||||
113 => 556.0,
|
||||
114 => 444.0,
|
||||
115 => 389.0,
|
||||
116 => 333.0,
|
||||
117 => 556.0,
|
||||
118 => 500.0,
|
||||
119 => 722.0,
|
||||
120 => 500.0,
|
||||
121 => 500.0,
|
||||
122 => 444.0,
|
||||
123 => 394.0,
|
||||
124 => 220.0,
|
||||
125 => 394.0,
|
||||
126 => 520.0,
|
||||
161 => 333.0,
|
||||
162 => 500.0,
|
||||
163 => 500.0,
|
||||
'fraction' => 167.0,
|
||||
165 => 500.0,
|
||||
131 => 500.0,
|
||||
167 => 500.0,
|
||||
164 => 500.0,
|
||||
39 => 278.0,
|
||||
147 => 500.0,
|
||||
171 => 500.0,
|
||||
139 => 333.0,
|
||||
155 => 333.0,
|
||||
'fi' => 556.0,
|
||||
'fl' => 556.0,
|
||||
150 => 500.0,
|
||||
134 => 500.0,
|
||||
135 => 500.0,
|
||||
183 => 250.0,
|
||||
182 => 540.0,
|
||||
149 => 350.0,
|
||||
130 => 333.0,
|
||||
132 => 500.0,
|
||||
148 => 500.0,
|
||||
187 => 500.0,
|
||||
133 => 1000.0,
|
||||
137 => 1000.0,
|
||||
191 => 500.0,
|
||||
96 => 333.0,
|
||||
180 => 333.0,
|
||||
136 => 333.0,
|
||||
152 => 333.0,
|
||||
175 => 333.0,
|
||||
'breve' => 333.0,
|
||||
'dotaccent' => 333.0,
|
||||
168 => 333.0,
|
||||
'ring' => 333.0,
|
||||
184 => 333.0,
|
||||
'hungarumlaut' => 333.0,
|
||||
'ogonek' => 333.0,
|
||||
'caron' => 333.0,
|
||||
151 => 1000.0,
|
||||
198 => 1000.0,
|
||||
170 => 300.0,
|
||||
'Lslash' => 667.0,
|
||||
216 => 778.0,
|
||||
140 => 1000.0,
|
||||
186 => 330.0,
|
||||
230 => 722.0,
|
||||
'dotlessi' => 278.0,
|
||||
'lslash' => 278.0,
|
||||
248 => 500.0,
|
||||
156 => 722.0,
|
||||
223 => 556.0,
|
||||
207 => 389.0,
|
||||
233 => 444.0,
|
||||
'abreve' => 500.0,
|
||||
'uhungarumlaut' => 556.0,
|
||||
'ecaron' => 444.0,
|
||||
159 => 722.0,
|
||||
247 => 570.0,
|
||||
221 => 722.0,
|
||||
194 => 722.0,
|
||||
225 => 500.0,
|
||||
219 => 722.0,
|
||||
253 => 500.0,
|
||||
'scommaaccent' => 389.0,
|
||||
234 => 444.0,
|
||||
'Uring' => 722.0,
|
||||
220 => 722.0,
|
||||
'aogonek' => 500.0,
|
||||
218 => 722.0,
|
||||
'uogonek' => 556.0,
|
||||
203 => 667.0,
|
||||
'Dcroat' => 722.0,
|
||||
'commaaccent' => 250.0,
|
||||
169 => 747.0,
|
||||
'Emacron' => 667.0,
|
||||
'ccaron' => 444.0,
|
||||
229 => 500.0,
|
||||
'Ncommaaccent' => 722.0,
|
||||
'lacute' => 278.0,
|
||||
224 => 500.0,
|
||||
'Tcommaaccent' => 667.0,
|
||||
'Cacute' => 722.0,
|
||||
227 => 500.0,
|
||||
'Edotaccent' => 667.0,
|
||||
154 => 389.0,
|
||||
'scedilla' => 389.0,
|
||||
237 => 278.0,
|
||||
'lozenge' => 494.0,
|
||||
'Rcaron' => 722.0,
|
||||
'Gcommaaccent' => 778.0,
|
||||
251 => 556.0,
|
||||
226 => 500.0,
|
||||
'Amacron' => 722.0,
|
||||
'rcaron' => 444.0,
|
||||
231 => 444.0,
|
||||
'Zdotaccent' => 667.0,
|
||||
222 => 611.0,
|
||||
'Omacron' => 778.0,
|
||||
'Racute' => 722.0,
|
||||
'Sacute' => 556.0,
|
||||
'dcaron' => 672.0,
|
||||
'Umacron' => 722.0,
|
||||
'uring' => 556.0,
|
||||
179 => 300.0,
|
||||
210 => 778.0,
|
||||
192 => 722.0,
|
||||
'Abreve' => 722.0,
|
||||
215 => 570.0,
|
||||
250 => 556.0,
|
||||
'Tcaron' => 667.0,
|
||||
'partialdiff' => 494.0,
|
||||
255 => 500.0,
|
||||
'Nacute' => 722.0,
|
||||
238 => 278.0,
|
||||
202 => 667.0,
|
||||
228 => 500.0,
|
||||
235 => 444.0,
|
||||
'cacute' => 444.0,
|
||||
'nacute' => 556.0,
|
||||
'umacron' => 556.0,
|
||||
'Ncaron' => 722.0,
|
||||
205 => 389.0,
|
||||
177 => 570.0,
|
||||
166 => 220.0,
|
||||
174 => 747.0,
|
||||
'Gbreve' => 778.0,
|
||||
'Idotaccent' => 389.0,
|
||||
'summation' => 600.0,
|
||||
200 => 667.0,
|
||||
'racute' => 444.0,
|
||||
'omacron' => 500.0,
|
||||
'Zacute' => 667.0,
|
||||
142 => 667.0,
|
||||
'greaterequal' => 549.0,
|
||||
208 => 722.0,
|
||||
199 => 722.0,
|
||||
'lcommaaccent' => 278.0,
|
||||
'tcaron' => 416.0,
|
||||
'eogonek' => 444.0,
|
||||
'Uogonek' => 722.0,
|
||||
193 => 722.0,
|
||||
196 => 722.0,
|
||||
232 => 444.0,
|
||||
'zacute' => 444.0,
|
||||
'iogonek' => 278.0,
|
||||
211 => 778.0,
|
||||
243 => 500.0,
|
||||
'amacron' => 500.0,
|
||||
'sacute' => 389.0,
|
||||
239 => 278.0,
|
||||
212 => 778.0,
|
||||
217 => 722.0,
|
||||
'Delta' => 612.0,
|
||||
254 => 556.0,
|
||||
178 => 300.0,
|
||||
214 => 778.0,
|
||||
181 => 556.0,
|
||||
236 => 278.0,
|
||||
'ohungarumlaut' => 500.0,
|
||||
'Eogonek' => 667.0,
|
||||
'dcroat' => 556.0,
|
||||
190 => 750.0,
|
||||
'Scedilla' => 556.0,
|
||||
'lcaron' => 394.0,
|
||||
'Kcommaaccent' => 778.0,
|
||||
'Lacute' => 667.0,
|
||||
153 => 1000.0,
|
||||
'edotaccent' => 444.0,
|
||||
204 => 389.0,
|
||||
'Imacron' => 389.0,
|
||||
'Lcaron' => 667.0,
|
||||
189 => 750.0,
|
||||
'lessequal' => 549.0,
|
||||
244 => 500.0,
|
||||
241 => 556.0,
|
||||
'Uhungarumlaut' => 722.0,
|
||||
201 => 667.0,
|
||||
'emacron' => 444.0,
|
||||
'gbreve' => 500.0,
|
||||
188 => 750.0,
|
||||
138 => 556.0,
|
||||
'Scommaaccent' => 556.0,
|
||||
'Ohungarumlaut' => 778.0,
|
||||
176 => 400.0,
|
||||
242 => 500.0,
|
||||
'Ccaron' => 722.0,
|
||||
249 => 556.0,
|
||||
'radical' => 549.0,
|
||||
'Dcaron' => 722.0,
|
||||
'rcommaaccent' => 444.0,
|
||||
209 => 722.0,
|
||||
245 => 500.0,
|
||||
'Rcommaaccent' => 722.0,
|
||||
'Lcommaaccent' => 667.0,
|
||||
195 => 722.0,
|
||||
'Aogonek' => 722.0,
|
||||
197 => 722.0,
|
||||
213 => 778.0,
|
||||
'zdotaccent' => 444.0,
|
||||
'Ecaron' => 667.0,
|
||||
'Iogonek' => 389.0,
|
||||
'kcommaaccent' => 556.0,
|
||||
'minus' => 570.0,
|
||||
206 => 389.0,
|
||||
'ncaron' => 556.0,
|
||||
'tcommaaccent' => 333.0,
|
||||
172 => 570.0,
|
||||
246 => 500.0,
|
||||
252 => 556.0,
|
||||
'notequal' => 549.0,
|
||||
'gcommaaccent' => 500.0,
|
||||
240 => 500.0,
|
||||
158 => 444.0,
|
||||
'ncommaaccent' => 556.0,
|
||||
185 => 300.0,
|
||||
'imacron' => 278.0,
|
||||
128 => 500.0,
|
||||
),
|
||||
'CIDtoGID_Compressed' => true,
|
||||
'CIDtoGID' => 'eJwDAAAAAAE=',
|
||||
'_version_' => 6,
|
||||
);
|
2386
nrpc_site/dompdf/lib/fonts/Times-BoldItalic.afm
Normal file
2386
nrpc_site/dompdf/lib/fonts/Times-BoldItalic.afm
Normal file
File diff suppressed because it is too large
Load diff
2669
nrpc_site/dompdf/lib/fonts/Times-Italic.afm
Normal file
2669
nrpc_site/dompdf/lib/fonts/Times-Italic.afm
Normal file
File diff suppressed because it is too large
Load diff
2421
nrpc_site/dompdf/lib/fonts/Times-Roman.afm
Normal file
2421
nrpc_site/dompdf/lib/fonts/Times-Roman.afm
Normal file
File diff suppressed because it is too large
Load diff
572
nrpc_site/dompdf/lib/fonts/Times-Roman.afm.php
Normal file
572
nrpc_site/dompdf/lib/fonts/Times-Roman.afm.php
Normal file
|
@ -0,0 +1,572 @@
|
|||
<?php return array (
|
||||
'codeToName' =>
|
||||
array (
|
||||
32 => 'space',
|
||||
160 => 'space',
|
||||
33 => 'exclam',
|
||||
34 => 'quotedbl',
|
||||
35 => 'numbersign',
|
||||
36 => 'dollar',
|
||||
37 => 'percent',
|
||||
38 => 'ampersand',
|
||||
146 => 'quoteright',
|
||||
40 => 'parenleft',
|
||||
41 => 'parenright',
|
||||
42 => 'asterisk',
|
||||
43 => 'plus',
|
||||
44 => 'comma',
|
||||
45 => 'hyphen',
|
||||
173 => 'hyphen',
|
||||
46 => 'period',
|
||||
47 => 'slash',
|
||||
48 => 'zero',
|
||||
49 => 'one',
|
||||
50 => 'two',
|
||||
51 => 'three',
|
||||
52 => 'four',
|
||||
53 => 'five',
|
||||
54 => 'six',
|
||||
55 => 'seven',
|
||||
56 => 'eight',
|
||||
57 => 'nine',
|
||||
58 => 'colon',
|
||||
59 => 'semicolon',
|
||||
60 => 'less',
|
||||
61 => 'equal',
|
||||
62 => 'greater',
|
||||
63 => 'question',
|
||||
64 => 'at',
|
||||
65 => 'A',
|
||||
66 => 'B',
|
||||
67 => 'C',
|
||||
68 => 'D',
|
||||
69 => 'E',
|
||||
70 => 'F',
|
||||
71 => 'G',
|
||||
72 => 'H',
|
||||
73 => 'I',
|
||||
74 => 'J',
|
||||
75 => 'K',
|
||||
76 => 'L',
|
||||
77 => 'M',
|
||||
78 => 'N',
|
||||
79 => 'O',
|
||||
80 => 'P',
|
||||
81 => 'Q',
|
||||
82 => 'R',
|
||||
83 => 'S',
|
||||
84 => 'T',
|
||||
85 => 'U',
|
||||
86 => 'V',
|
||||
87 => 'W',
|
||||
88 => 'X',
|
||||
89 => 'Y',
|
||||
90 => 'Z',
|
||||
91 => 'bracketleft',
|
||||
92 => 'backslash',
|
||||
93 => 'bracketright',
|
||||
94 => 'asciicircum',
|
||||
95 => 'underscore',
|
||||
145 => 'quoteleft',
|
||||
97 => 'a',
|
||||
98 => 'b',
|
||||
99 => 'c',
|
||||
100 => 'd',
|
||||
101 => 'e',
|
||||
102 => 'f',
|
||||
103 => 'g',
|
||||
104 => 'h',
|
||||
105 => 'i',
|
||||
106 => 'j',
|
||||
107 => 'k',
|
||||
108 => 'l',
|
||||
109 => 'm',
|
||||
110 => 'n',
|
||||
111 => 'o',
|
||||
112 => 'p',
|
||||
113 => 'q',
|
||||
114 => 'r',
|
||||
115 => 's',
|
||||
116 => 't',
|
||||
117 => 'u',
|
||||
118 => 'v',
|
||||
119 => 'w',
|
||||
120 => 'x',
|
||||
121 => 'y',
|
||||
122 => 'z',
|
||||
123 => 'braceleft',
|
||||
124 => 'bar',
|
||||
125 => 'braceright',
|
||||
126 => 'asciitilde',
|
||||
161 => 'exclamdown',
|
||||
162 => 'cent',
|
||||
163 => 'sterling',
|
||||
165 => 'yen',
|
||||
131 => 'florin',
|
||||
167 => 'section',
|
||||
164 => 'currency',
|
||||
39 => 'quotesingle',
|
||||
147 => 'quotedblleft',
|
||||
171 => 'guillemotleft',
|
||||
139 => 'guilsinglleft',
|
||||
155 => 'guilsinglright',
|
||||
150 => 'endash',
|
||||
134 => 'dagger',
|
||||
135 => 'daggerdbl',
|
||||
183 => 'periodcentered',
|
||||
182 => 'paragraph',
|
||||
149 => 'bullet',
|
||||
130 => 'quotesinglbase',
|
||||
132 => 'quotedblbase',
|
||||
148 => 'quotedblright',
|
||||
187 => 'guillemotright',
|
||||
133 => 'ellipsis',
|
||||
137 => 'perthousand',
|
||||
191 => 'questiondown',
|
||||
96 => 'grave',
|
||||
180 => 'acute',
|
||||
136 => 'circumflex',
|
||||
152 => 'tilde',
|
||||
175 => 'macron',
|
||||
168 => 'dieresis',
|
||||
184 => 'cedilla',
|
||||
151 => 'emdash',
|
||||
198 => 'AE',
|
||||
170 => 'ordfeminine',
|
||||
216 => 'Oslash',
|
||||
140 => 'OE',
|
||||
186 => 'ordmasculine',
|
||||
230 => 'ae',
|
||||
248 => 'oslash',
|
||||
156 => 'oe',
|
||||
223 => 'germandbls',
|
||||
207 => 'Idieresis',
|
||||
233 => 'eacute',
|
||||
159 => 'Ydieresis',
|
||||
247 => 'divide',
|
||||
221 => 'Yacute',
|
||||
194 => 'Acircumflex',
|
||||
225 => 'aacute',
|
||||
219 => 'Ucircumflex',
|
||||
253 => 'yacute',
|
||||
234 => 'ecircumflex',
|
||||
220 => 'Udieresis',
|
||||
218 => 'Uacute',
|
||||
203 => 'Edieresis',
|
||||
169 => 'copyright',
|
||||
229 => 'aring',
|
||||
224 => 'agrave',
|
||||
227 => 'atilde',
|
||||
154 => 'scaron',
|
||||
237 => 'iacute',
|
||||
251 => 'ucircumflex',
|
||||
226 => 'acircumflex',
|
||||
231 => 'ccedilla',
|
||||
222 => 'Thorn',
|
||||
179 => 'threesuperior',
|
||||
210 => 'Ograve',
|
||||
192 => 'Agrave',
|
||||
215 => 'multiply',
|
||||
250 => 'uacute',
|
||||
255 => 'ydieresis',
|
||||
238 => 'icircumflex',
|
||||
202 => 'Ecircumflex',
|
||||
228 => 'adieresis',
|
||||
235 => 'edieresis',
|
||||
205 => 'Iacute',
|
||||
177 => 'plusminus',
|
||||
166 => 'brokenbar',
|
||||
174 => 'registered',
|
||||
200 => 'Egrave',
|
||||
142 => 'Zcaron',
|
||||
208 => 'Eth',
|
||||
199 => 'Ccedilla',
|
||||
193 => 'Aacute',
|
||||
196 => 'Adieresis',
|
||||
232 => 'egrave',
|
||||
211 => 'Oacute',
|
||||
243 => 'oacute',
|
||||
239 => 'idieresis',
|
||||
212 => 'Ocircumflex',
|
||||
217 => 'Ugrave',
|
||||
254 => 'thorn',
|
||||
178 => 'twosuperior',
|
||||
214 => 'Odieresis',
|
||||
181 => 'mu',
|
||||
236 => 'igrave',
|
||||
190 => 'threequarters',
|
||||
153 => 'trademark',
|
||||
204 => 'Igrave',
|
||||
189 => 'onehalf',
|
||||
244 => 'ocircumflex',
|
||||
241 => 'ntilde',
|
||||
201 => 'Eacute',
|
||||
188 => 'onequarter',
|
||||
138 => 'Scaron',
|
||||
176 => 'degree',
|
||||
242 => 'ograve',
|
||||
249 => 'ugrave',
|
||||
209 => 'Ntilde',
|
||||
245 => 'otilde',
|
||||
195 => 'Atilde',
|
||||
197 => 'Aring',
|
||||
213 => 'Otilde',
|
||||
206 => 'Icircumflex',
|
||||
172 => 'logicalnot',
|
||||
246 => 'odieresis',
|
||||
252 => 'udieresis',
|
||||
240 => 'eth',
|
||||
158 => 'zcaron',
|
||||
185 => 'onesuperior',
|
||||
128 => 'Euro',
|
||||
),
|
||||
'isUnicode' => false,
|
||||
'FontName' => 'Times-Roman',
|
||||
'FullName' => 'Times Roman',
|
||||
'FamilyName' => 'Times',
|
||||
'Weight' => 'Roman',
|
||||
'ItalicAngle' => '0',
|
||||
'IsFixedPitch' => 'false',
|
||||
'CharacterSet' => 'ExtendedRoman',
|
||||
'FontBBox' =>
|
||||
array (
|
||||
0 => '-168',
|
||||
1 => '-218',
|
||||
2 => '1000',
|
||||
3 => '898',
|
||||
),
|
||||
'UnderlinePosition' => '-100',
|
||||
'UnderlineThickness' => '50',
|
||||
'Version' => '002.00',
|
||||
'EncodingScheme' => 'WinAnsiEncoding',
|
||||
'CapHeight' => '662',
|
||||
'XHeight' => '450',
|
||||
'Ascender' => '683',
|
||||
'Descender' => '-217',
|
||||
'StdHW' => '28',
|
||||
'StdVW' => '84',
|
||||
'StartCharMetrics' => '317',
|
||||
'C' =>
|
||||
array (
|
||||
32 => 250.0,
|
||||
160 => 250.0,
|
||||
33 => 333.0,
|
||||
34 => 408.0,
|
||||
35 => 500.0,
|
||||
36 => 500.0,
|
||||
37 => 833.0,
|
||||
38 => 778.0,
|
||||
146 => 333.0,
|
||||
40 => 333.0,
|
||||
41 => 333.0,
|
||||
42 => 500.0,
|
||||
43 => 564.0,
|
||||
44 => 250.0,
|
||||
45 => 333.0,
|
||||
173 => 333.0,
|
||||
46 => 250.0,
|
||||
47 => 278.0,
|
||||
48 => 500.0,
|
||||
49 => 500.0,
|
||||
50 => 500.0,
|
||||
51 => 500.0,
|
||||
52 => 500.0,
|
||||
53 => 500.0,
|
||||
54 => 500.0,
|
||||
55 => 500.0,
|
||||
56 => 500.0,
|
||||
57 => 500.0,
|
||||
58 => 278.0,
|
||||
59 => 278.0,
|
||||
60 => 564.0,
|
||||
61 => 564.0,
|
||||
62 => 564.0,
|
||||
63 => 444.0,
|
||||
64 => 921.0,
|
||||
65 => 722.0,
|
||||
66 => 667.0,
|
||||
67 => 667.0,
|
||||
68 => 722.0,
|
||||
69 => 611.0,
|
||||
70 => 556.0,
|
||||
71 => 722.0,
|
||||
72 => 722.0,
|
||||
73 => 333.0,
|
||||
74 => 389.0,
|
||||
75 => 722.0,
|
||||
76 => 611.0,
|
||||
77 => 889.0,
|
||||
78 => 722.0,
|
||||
79 => 722.0,
|
||||
80 => 556.0,
|
||||
81 => 722.0,
|
||||
82 => 667.0,
|
||||
83 => 556.0,
|
||||
84 => 611.0,
|
||||
85 => 722.0,
|
||||
86 => 722.0,
|
||||
87 => 944.0,
|
||||
88 => 722.0,
|
||||
89 => 722.0,
|
||||
90 => 611.0,
|
||||
91 => 333.0,
|
||||
92 => 278.0,
|
||||
93 => 333.0,
|
||||
94 => 469.0,
|
||||
95 => 500.0,
|
||||
145 => 333.0,
|
||||
97 => 444.0,
|
||||
98 => 500.0,
|
||||
99 => 444.0,
|
||||
100 => 500.0,
|
||||
101 => 444.0,
|
||||
102 => 333.0,
|
||||
103 => 500.0,
|
||||
104 => 500.0,
|
||||
105 => 278.0,
|
||||
106 => 278.0,
|
||||
107 => 500.0,
|
||||
108 => 278.0,
|
||||
109 => 778.0,
|
||||
110 => 500.0,
|
||||
111 => 500.0,
|
||||
112 => 500.0,
|
||||
113 => 500.0,
|
||||
114 => 333.0,
|
||||
115 => 389.0,
|
||||
116 => 278.0,
|
||||
117 => 500.0,
|
||||
118 => 500.0,
|
||||
119 => 722.0,
|
||||
120 => 500.0,
|
||||
121 => 500.0,
|
||||
122 => 444.0,
|
||||
123 => 480.0,
|
||||
124 => 200.0,
|
||||
125 => 480.0,
|
||||
126 => 541.0,
|
||||
161 => 333.0,
|
||||
162 => 500.0,
|
||||
163 => 500.0,
|
||||
'fraction' => 167.0,
|
||||
165 => 500.0,
|
||||
131 => 500.0,
|
||||
167 => 500.0,
|
||||
164 => 500.0,
|
||||
39 => 180.0,
|
||||
147 => 444.0,
|
||||
171 => 500.0,
|
||||
139 => 333.0,
|
||||
155 => 333.0,
|
||||
'fi' => 556.0,
|
||||
'fl' => 556.0,
|
||||
150 => 500.0,
|
||||
134 => 500.0,
|
||||
135 => 500.0,
|
||||
183 => 250.0,
|
||||
182 => 453.0,
|
||||
149 => 350.0,
|
||||
130 => 333.0,
|
||||
132 => 444.0,
|
||||
148 => 444.0,
|
||||
187 => 500.0,
|
||||
133 => 1000.0,
|
||||
137 => 1000.0,
|
||||
191 => 444.0,
|
||||
96 => 333.0,
|
||||
180 => 333.0,
|
||||
136 => 333.0,
|
||||
152 => 333.0,
|
||||
175 => 333.0,
|
||||
'breve' => 333.0,
|
||||
'dotaccent' => 333.0,
|
||||
168 => 333.0,
|
||||
'ring' => 333.0,
|
||||
184 => 333.0,
|
||||
'hungarumlaut' => 333.0,
|
||||
'ogonek' => 333.0,
|
||||
'caron' => 333.0,
|
||||
151 => 1000.0,
|
||||
198 => 889.0,
|
||||
170 => 276.0,
|
||||
'Lslash' => 611.0,
|
||||
216 => 722.0,
|
||||
140 => 889.0,
|
||||
186 => 310.0,
|
||||
230 => 667.0,
|
||||
'dotlessi' => 278.0,
|
||||
'lslash' => 278.0,
|
||||
248 => 500.0,
|
||||
156 => 722.0,
|
||||
223 => 500.0,
|
||||
207 => 333.0,
|
||||
233 => 444.0,
|
||||
'abreve' => 444.0,
|
||||
'uhungarumlaut' => 500.0,
|
||||
'ecaron' => 444.0,
|
||||
159 => 722.0,
|
||||
247 => 564.0,
|
||||
221 => 722.0,
|
||||
194 => 722.0,
|
||||
225 => 444.0,
|
||||
219 => 722.0,
|
||||
253 => 500.0,
|
||||
'scommaaccent' => 389.0,
|
||||
234 => 444.0,
|
||||
'Uring' => 722.0,
|
||||
220 => 722.0,
|
||||
'aogonek' => 444.0,
|
||||
218 => 722.0,
|
||||
'uogonek' => 500.0,
|
||||
203 => 611.0,
|
||||
'Dcroat' => 722.0,
|
||||
'commaaccent' => 250.0,
|
||||
169 => 760.0,
|
||||
'Emacron' => 611.0,
|
||||
'ccaron' => 444.0,
|
||||
229 => 444.0,
|
||||
'Ncommaaccent' => 722.0,
|
||||
'lacute' => 278.0,
|
||||
224 => 444.0,
|
||||
'Tcommaaccent' => 611.0,
|
||||
'Cacute' => 667.0,
|
||||
227 => 444.0,
|
||||
'Edotaccent' => 611.0,
|
||||
154 => 389.0,
|
||||
'scedilla' => 389.0,
|
||||
237 => 278.0,
|
||||
'lozenge' => 471.0,
|
||||
'Rcaron' => 667.0,
|
||||
'Gcommaaccent' => 722.0,
|
||||
251 => 500.0,
|
||||
226 => 444.0,
|
||||
'Amacron' => 722.0,
|
||||
'rcaron' => 333.0,
|
||||
231 => 444.0,
|
||||
'Zdotaccent' => 611.0,
|
||||
222 => 556.0,
|
||||
'Omacron' => 722.0,
|
||||
'Racute' => 667.0,
|
||||
'Sacute' => 556.0,
|
||||
'dcaron' => 588.0,
|
||||
'Umacron' => 722.0,
|
||||
'uring' => 500.0,
|
||||
179 => 300.0,
|
||||
210 => 722.0,
|
||||
192 => 722.0,
|
||||
'Abreve' => 722.0,
|
||||
215 => 564.0,
|
||||
250 => 500.0,
|
||||
'Tcaron' => 611.0,
|
||||
'partialdiff' => 476.0,
|
||||
255 => 500.0,
|
||||
'Nacute' => 722.0,
|
||||
238 => 278.0,
|
||||
202 => 611.0,
|
||||
228 => 444.0,
|
||||
235 => 444.0,
|
||||
'cacute' => 444.0,
|
||||
'nacute' => 500.0,
|
||||
'umacron' => 500.0,
|
||||
'Ncaron' => 722.0,
|
||||
205 => 333.0,
|
||||
177 => 564.0,
|
||||
166 => 200.0,
|
||||
174 => 760.0,
|
||||
'Gbreve' => 722.0,
|
||||
'Idotaccent' => 333.0,
|
||||
'summation' => 600.0,
|
||||
200 => 611.0,
|
||||
'racute' => 333.0,
|
||||
'omacron' => 500.0,
|
||||
'Zacute' => 611.0,
|
||||
142 => 611.0,
|
||||
'greaterequal' => 549.0,
|
||||
208 => 722.0,
|
||||
199 => 667.0,
|
||||
'lcommaaccent' => 278.0,
|
||||
'tcaron' => 326.0,
|
||||
'eogonek' => 444.0,
|
||||
'Uogonek' => 722.0,
|
||||
193 => 722.0,
|
||||
196 => 722.0,
|
||||
232 => 444.0,
|
||||
'zacute' => 444.0,
|
||||
'iogonek' => 278.0,
|
||||
211 => 722.0,
|
||||
243 => 500.0,
|
||||
'amacron' => 444.0,
|
||||
'sacute' => 389.0,
|
||||
239 => 278.0,
|
||||
212 => 722.0,
|
||||
217 => 722.0,
|
||||
'Delta' => 612.0,
|
||||
254 => 500.0,
|
||||
178 => 300.0,
|
||||
214 => 722.0,
|
||||
181 => 500.0,
|
||||
236 => 278.0,
|
||||
'ohungarumlaut' => 500.0,
|
||||
'Eogonek' => 611.0,
|
||||
'dcroat' => 500.0,
|
||||
190 => 750.0,
|
||||
'Scedilla' => 556.0,
|
||||
'lcaron' => 344.0,
|
||||
'Kcommaaccent' => 722.0,
|
||||
'Lacute' => 611.0,
|
||||
153 => 980.0,
|
||||
'edotaccent' => 444.0,
|
||||
204 => 333.0,
|
||||
'Imacron' => 333.0,
|
||||
'Lcaron' => 611.0,
|
||||
189 => 750.0,
|
||||
'lessequal' => 549.0,
|
||||
244 => 500.0,
|
||||
241 => 500.0,
|
||||
'Uhungarumlaut' => 722.0,
|
||||
201 => 611.0,
|
||||
'emacron' => 444.0,
|
||||
'gbreve' => 500.0,
|
||||
188 => 750.0,
|
||||
138 => 556.0,
|
||||
'Scommaaccent' => 556.0,
|
||||
'Ohungarumlaut' => 722.0,
|
||||
176 => 400.0,
|
||||
242 => 500.0,
|
||||
'Ccaron' => 667.0,
|
||||
249 => 500.0,
|
||||
'radical' => 453.0,
|
||||
'Dcaron' => 722.0,
|
||||
'rcommaaccent' => 333.0,
|
||||
209 => 722.0,
|
||||
245 => 500.0,
|
||||
'Rcommaaccent' => 667.0,
|
||||
'Lcommaaccent' => 611.0,
|
||||
195 => 722.0,
|
||||
'Aogonek' => 722.0,
|
||||
197 => 722.0,
|
||||
213 => 722.0,
|
||||
'zdotaccent' => 444.0,
|
||||
'Ecaron' => 611.0,
|
||||
'Iogonek' => 333.0,
|
||||
'kcommaaccent' => 500.0,
|
||||
'minus' => 564.0,
|
||||
206 => 333.0,
|
||||
'ncaron' => 500.0,
|
||||
'tcommaaccent' => 278.0,
|
||||
172 => 564.0,
|
||||
246 => 500.0,
|
||||
252 => 500.0,
|
||||
'notequal' => 549.0,
|
||||
'gcommaaccent' => 500.0,
|
||||
240 => 500.0,
|
||||
158 => 444.0,
|
||||
'ncommaaccent' => 500.0,
|
||||
185 => 300.0,
|
||||
'imacron' => 278.0,
|
||||
128 => 500.0,
|
||||
),
|
||||
'CIDtoGID_Compressed' => true,
|
||||
'CIDtoGID' => 'eJwDAAAAAAE=',
|
||||
'_version_' => 6,
|
||||
);
|
225
nrpc_site/dompdf/lib/fonts/ZapfDingbats.afm
Normal file
225
nrpc_site/dompdf/lib/fonts/ZapfDingbats.afm
Normal file
|
@ -0,0 +1,225 @@
|
|||
StartFontMetrics 4.1
|
||||
Comment Copyright (c) 1985, 1987, 1988, 1989, 1997 Adobe Systems Incorporated. All Rights Reserved.
|
||||
Comment Creation Date: Thu May 1 15:14:13 1997
|
||||
Comment UniqueID 43082
|
||||
Comment VMusage 45775 55535
|
||||
FontName ZapfDingbats
|
||||
FullName ITC Zapf Dingbats
|
||||
FamilyName ZapfDingbats
|
||||
Weight Medium
|
||||
ItalicAngle 0
|
||||
IsFixedPitch false
|
||||
CharacterSet Special
|
||||
FontBBox -1 -143 981 820
|
||||
UnderlinePosition -100
|
||||
UnderlineThickness 50
|
||||
Version 002.000
|
||||
Notice Copyright (c) 1985, 1987, 1988, 1989, 1997 Adobe Systems Incorporated. All Rights Reserved.ITC Zapf Dingbats is a registered trademark of International Typeface Corporation.
|
||||
EncodingScheme FontSpecific
|
||||
StdHW 28
|
||||
StdVW 90
|
||||
StartCharMetrics 202
|
||||
C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
|
||||
C 33 ; WX 974 ; N a1 ; B 35 72 939 621 ;
|
||||
C 34 ; WX 961 ; N a2 ; B 35 81 927 611 ;
|
||||
C 35 ; WX 974 ; N a202 ; B 35 72 939 621 ;
|
||||
C 36 ; WX 980 ; N a3 ; B 35 0 945 692 ;
|
||||
C 37 ; WX 719 ; N a4 ; B 34 139 685 566 ;
|
||||
C 38 ; WX 789 ; N a5 ; B 35 -14 755 705 ;
|
||||
C 39 ; WX 790 ; N a119 ; B 35 -14 755 705 ;
|
||||
C 40 ; WX 791 ; N a118 ; B 35 -13 761 705 ;
|
||||
C 41 ; WX 690 ; N a117 ; B 34 138 655 553 ;
|
||||
C 42 ; WX 960 ; N a11 ; B 35 123 925 568 ;
|
||||
C 43 ; WX 939 ; N a12 ; B 35 134 904 559 ;
|
||||
C 44 ; WX 549 ; N a13 ; B 29 -11 516 705 ;
|
||||
C 45 ; WX 855 ; N a14 ; B 34 59 820 632 ;
|
||||
C 46 ; WX 911 ; N a15 ; B 35 50 876 642 ;
|
||||
C 47 ; WX 933 ; N a16 ; B 35 139 899 550 ;
|
||||
C 48 ; WX 911 ; N a105 ; B 35 50 876 642 ;
|
||||
C 49 ; WX 945 ; N a17 ; B 35 139 909 553 ;
|
||||
C 50 ; WX 974 ; N a18 ; B 35 104 938 587 ;
|
||||
C 51 ; WX 755 ; N a19 ; B 34 -13 721 705 ;
|
||||
C 52 ; WX 846 ; N a20 ; B 36 -14 811 705 ;
|
||||
C 53 ; WX 762 ; N a21 ; B 35 0 727 692 ;
|
||||
C 54 ; WX 761 ; N a22 ; B 35 0 727 692 ;
|
||||
C 55 ; WX 571 ; N a23 ; B -1 -68 571 661 ;
|
||||
C 56 ; WX 677 ; N a24 ; B 36 -13 642 705 ;
|
||||
C 57 ; WX 763 ; N a25 ; B 35 0 728 692 ;
|
||||
C 58 ; WX 760 ; N a26 ; B 35 0 726 692 ;
|
||||
C 59 ; WX 759 ; N a27 ; B 35 0 725 692 ;
|
||||
C 60 ; WX 754 ; N a28 ; B 35 0 720 692 ;
|
||||
C 61 ; WX 494 ; N a6 ; B 35 0 460 692 ;
|
||||
C 62 ; WX 552 ; N a7 ; B 35 0 517 692 ;
|
||||
C 63 ; WX 537 ; N a8 ; B 35 0 503 692 ;
|
||||
C 64 ; WX 577 ; N a9 ; B 35 96 542 596 ;
|
||||
C 65 ; WX 692 ; N a10 ; B 35 -14 657 705 ;
|
||||
C 66 ; WX 786 ; N a29 ; B 35 -14 751 705 ;
|
||||
C 67 ; WX 788 ; N a30 ; B 35 -14 752 705 ;
|
||||
C 68 ; WX 788 ; N a31 ; B 35 -14 753 705 ;
|
||||
C 69 ; WX 790 ; N a32 ; B 35 -14 756 705 ;
|
||||
C 70 ; WX 793 ; N a33 ; B 35 -13 759 705 ;
|
||||
C 71 ; WX 794 ; N a34 ; B 35 -13 759 705 ;
|
||||
C 72 ; WX 816 ; N a35 ; B 35 -14 782 705 ;
|
||||
C 73 ; WX 823 ; N a36 ; B 35 -14 787 705 ;
|
||||
C 74 ; WX 789 ; N a37 ; B 35 -14 754 705 ;
|
||||
C 75 ; WX 841 ; N a38 ; B 35 -14 807 705 ;
|
||||
C 76 ; WX 823 ; N a39 ; B 35 -14 789 705 ;
|
||||
C 77 ; WX 833 ; N a40 ; B 35 -14 798 705 ;
|
||||
C 78 ; WX 816 ; N a41 ; B 35 -13 782 705 ;
|
||||
C 79 ; WX 831 ; N a42 ; B 35 -14 796 705 ;
|
||||
C 80 ; WX 923 ; N a43 ; B 35 -14 888 705 ;
|
||||
C 81 ; WX 744 ; N a44 ; B 35 0 710 692 ;
|
||||
C 82 ; WX 723 ; N a45 ; B 35 0 688 692 ;
|
||||
C 83 ; WX 749 ; N a46 ; B 35 0 714 692 ;
|
||||
C 84 ; WX 790 ; N a47 ; B 34 -14 756 705 ;
|
||||
C 85 ; WX 792 ; N a48 ; B 35 -14 758 705 ;
|
||||
C 86 ; WX 695 ; N a49 ; B 35 -14 661 706 ;
|
||||
C 87 ; WX 776 ; N a50 ; B 35 -6 741 699 ;
|
||||
C 88 ; WX 768 ; N a51 ; B 35 -7 734 699 ;
|
||||
C 89 ; WX 792 ; N a52 ; B 35 -14 757 705 ;
|
||||
C 90 ; WX 759 ; N a53 ; B 35 0 725 692 ;
|
||||
C 91 ; WX 707 ; N a54 ; B 35 -13 672 704 ;
|
||||
C 92 ; WX 708 ; N a55 ; B 35 -14 672 705 ;
|
||||
C 93 ; WX 682 ; N a56 ; B 35 -14 647 705 ;
|
||||
C 94 ; WX 701 ; N a57 ; B 35 -14 666 705 ;
|
||||
C 95 ; WX 826 ; N a58 ; B 35 -14 791 705 ;
|
||||
C 96 ; WX 815 ; N a59 ; B 35 -14 780 705 ;
|
||||
C 97 ; WX 789 ; N a60 ; B 35 -14 754 705 ;
|
||||
C 98 ; WX 789 ; N a61 ; B 35 -14 754 705 ;
|
||||
C 99 ; WX 707 ; N a62 ; B 34 -14 673 705 ;
|
||||
C 100 ; WX 687 ; N a63 ; B 36 0 651 692 ;
|
||||
C 101 ; WX 696 ; N a64 ; B 35 0 661 691 ;
|
||||
C 102 ; WX 689 ; N a65 ; B 35 0 655 692 ;
|
||||
C 103 ; WX 786 ; N a66 ; B 34 -14 751 705 ;
|
||||
C 104 ; WX 787 ; N a67 ; B 35 -14 752 705 ;
|
||||
C 105 ; WX 713 ; N a68 ; B 35 -14 678 705 ;
|
||||
C 106 ; WX 791 ; N a69 ; B 35 -14 756 705 ;
|
||||
C 107 ; WX 785 ; N a70 ; B 36 -14 751 705 ;
|
||||
C 108 ; WX 791 ; N a71 ; B 35 -14 757 705 ;
|
||||
C 109 ; WX 873 ; N a72 ; B 35 -14 838 705 ;
|
||||
C 110 ; WX 761 ; N a73 ; B 35 0 726 692 ;
|
||||
C 111 ; WX 762 ; N a74 ; B 35 0 727 692 ;
|
||||
C 112 ; WX 762 ; N a203 ; B 35 0 727 692 ;
|
||||
C 113 ; WX 759 ; N a75 ; B 35 0 725 692 ;
|
||||
C 114 ; WX 759 ; N a204 ; B 35 0 725 692 ;
|
||||
C 115 ; WX 892 ; N a76 ; B 35 0 858 705 ;
|
||||
C 116 ; WX 892 ; N a77 ; B 35 -14 858 692 ;
|
||||
C 117 ; WX 788 ; N a78 ; B 35 -14 754 705 ;
|
||||
C 118 ; WX 784 ; N a79 ; B 35 -14 749 705 ;
|
||||
C 119 ; WX 438 ; N a81 ; B 35 -14 403 705 ;
|
||||
C 120 ; WX 138 ; N a82 ; B 35 0 104 692 ;
|
||||
C 121 ; WX 277 ; N a83 ; B 35 0 242 692 ;
|
||||
C 122 ; WX 415 ; N a84 ; B 35 0 380 692 ;
|
||||
C 123 ; WX 392 ; N a97 ; B 35 263 357 705 ;
|
||||
C 124 ; WX 392 ; N a98 ; B 34 263 357 705 ;
|
||||
C 125 ; WX 668 ; N a99 ; B 35 263 633 705 ;
|
||||
C 126 ; WX 668 ; N a100 ; B 36 263 634 705 ;
|
||||
C 128 ; WX 390 ; N a89 ; B 35 -14 356 705 ;
|
||||
C 129 ; WX 390 ; N a90 ; B 35 -14 355 705 ;
|
||||
C 130 ; WX 317 ; N a93 ; B 35 0 283 692 ;
|
||||
C 131 ; WX 317 ; N a94 ; B 35 0 283 692 ;
|
||||
C 132 ; WX 276 ; N a91 ; B 35 0 242 692 ;
|
||||
C 133 ; WX 276 ; N a92 ; B 35 0 242 692 ;
|
||||
C 134 ; WX 509 ; N a205 ; B 35 0 475 692 ;
|
||||
C 135 ; WX 509 ; N a85 ; B 35 0 475 692 ;
|
||||
C 136 ; WX 410 ; N a206 ; B 35 0 375 692 ;
|
||||
C 137 ; WX 410 ; N a86 ; B 35 0 375 692 ;
|
||||
C 138 ; WX 234 ; N a87 ; B 35 -14 199 705 ;
|
||||
C 139 ; WX 234 ; N a88 ; B 35 -14 199 705 ;
|
||||
C 140 ; WX 334 ; N a95 ; B 35 0 299 692 ;
|
||||
C 141 ; WX 334 ; N a96 ; B 35 0 299 692 ;
|
||||
C 161 ; WX 732 ; N a101 ; B 35 -143 697 806 ;
|
||||
C 162 ; WX 544 ; N a102 ; B 56 -14 488 706 ;
|
||||
C 163 ; WX 544 ; N a103 ; B 34 -14 508 705 ;
|
||||
C 164 ; WX 910 ; N a104 ; B 35 40 875 651 ;
|
||||
C 165 ; WX 667 ; N a106 ; B 35 -14 633 705 ;
|
||||
C 166 ; WX 760 ; N a107 ; B 35 -14 726 705 ;
|
||||
C 167 ; WX 760 ; N a108 ; B 0 121 758 569 ;
|
||||
C 168 ; WX 776 ; N a112 ; B 35 0 741 705 ;
|
||||
C 169 ; WX 595 ; N a111 ; B 34 -14 560 705 ;
|
||||
C 170 ; WX 694 ; N a110 ; B 35 -14 659 705 ;
|
||||
C 171 ; WX 626 ; N a109 ; B 34 0 591 705 ;
|
||||
C 172 ; WX 788 ; N a120 ; B 35 -14 754 705 ;
|
||||
C 173 ; WX 788 ; N a121 ; B 35 -14 754 705 ;
|
||||
C 174 ; WX 788 ; N a122 ; B 35 -14 754 705 ;
|
||||
C 175 ; WX 788 ; N a123 ; B 35 -14 754 705 ;
|
||||
C 176 ; WX 788 ; N a124 ; B 35 -14 754 705 ;
|
||||
C 177 ; WX 788 ; N a125 ; B 35 -14 754 705 ;
|
||||
C 178 ; WX 788 ; N a126 ; B 35 -14 754 705 ;
|
||||
C 179 ; WX 788 ; N a127 ; B 35 -14 754 705 ;
|
||||
C 180 ; WX 788 ; N a128 ; B 35 -14 754 705 ;
|
||||
C 181 ; WX 788 ; N a129 ; B 35 -14 754 705 ;
|
||||
C 182 ; WX 788 ; N a130 ; B 35 -14 754 705 ;
|
||||
C 183 ; WX 788 ; N a131 ; B 35 -14 754 705 ;
|
||||
C 184 ; WX 788 ; N a132 ; B 35 -14 754 705 ;
|
||||
C 185 ; WX 788 ; N a133 ; B 35 -14 754 705 ;
|
||||
C 186 ; WX 788 ; N a134 ; B 35 -14 754 705 ;
|
||||
C 187 ; WX 788 ; N a135 ; B 35 -14 754 705 ;
|
||||
C 188 ; WX 788 ; N a136 ; B 35 -14 754 705 ;
|
||||
C 189 ; WX 788 ; N a137 ; B 35 -14 754 705 ;
|
||||
C 190 ; WX 788 ; N a138 ; B 35 -14 754 705 ;
|
||||
C 191 ; WX 788 ; N a139 ; B 35 -14 754 705 ;
|
||||
C 192 ; WX 788 ; N a140 ; B 35 -14 754 705 ;
|
||||
C 193 ; WX 788 ; N a141 ; B 35 -14 754 705 ;
|
||||
C 194 ; WX 788 ; N a142 ; B 35 -14 754 705 ;
|
||||
C 195 ; WX 788 ; N a143 ; B 35 -14 754 705 ;
|
||||
C 196 ; WX 788 ; N a144 ; B 35 -14 754 705 ;
|
||||
C 197 ; WX 788 ; N a145 ; B 35 -14 754 705 ;
|
||||
C 198 ; WX 788 ; N a146 ; B 35 -14 754 705 ;
|
||||
C 199 ; WX 788 ; N a147 ; B 35 -14 754 705 ;
|
||||
C 200 ; WX 788 ; N a148 ; B 35 -14 754 705 ;
|
||||
C 201 ; WX 788 ; N a149 ; B 35 -14 754 705 ;
|
||||
C 202 ; WX 788 ; N a150 ; B 35 -14 754 705 ;
|
||||
C 203 ; WX 788 ; N a151 ; B 35 -14 754 705 ;
|
||||
C 204 ; WX 788 ; N a152 ; B 35 -14 754 705 ;
|
||||
C 205 ; WX 788 ; N a153 ; B 35 -14 754 705 ;
|
||||
C 206 ; WX 788 ; N a154 ; B 35 -14 754 705 ;
|
||||
C 207 ; WX 788 ; N a155 ; B 35 -14 754 705 ;
|
||||
C 208 ; WX 788 ; N a156 ; B 35 -14 754 705 ;
|
||||
C 209 ; WX 788 ; N a157 ; B 35 -14 754 705 ;
|
||||
C 210 ; WX 788 ; N a158 ; B 35 -14 754 705 ;
|
||||
C 211 ; WX 788 ; N a159 ; B 35 -14 754 705 ;
|
||||
C 212 ; WX 894 ; N a160 ; B 35 58 860 634 ;
|
||||
C 213 ; WX 838 ; N a161 ; B 35 152 803 540 ;
|
||||
C 214 ; WX 1016 ; N a163 ; B 34 152 981 540 ;
|
||||
C 215 ; WX 458 ; N a164 ; B 35 -127 422 820 ;
|
||||
C 216 ; WX 748 ; N a196 ; B 35 94 698 597 ;
|
||||
C 217 ; WX 924 ; N a165 ; B 35 140 890 552 ;
|
||||
C 218 ; WX 748 ; N a192 ; B 35 94 698 597 ;
|
||||
C 219 ; WX 918 ; N a166 ; B 35 166 884 526 ;
|
||||
C 220 ; WX 927 ; N a167 ; B 35 32 892 660 ;
|
||||
C 221 ; WX 928 ; N a168 ; B 35 129 891 562 ;
|
||||
C 222 ; WX 928 ; N a169 ; B 35 128 893 563 ;
|
||||
C 223 ; WX 834 ; N a170 ; B 35 155 799 537 ;
|
||||
C 224 ; WX 873 ; N a171 ; B 35 93 838 599 ;
|
||||
C 225 ; WX 828 ; N a172 ; B 35 104 791 588 ;
|
||||
C 226 ; WX 924 ; N a173 ; B 35 98 889 594 ;
|
||||
C 227 ; WX 924 ; N a162 ; B 35 98 889 594 ;
|
||||
C 228 ; WX 917 ; N a174 ; B 35 0 882 692 ;
|
||||
C 229 ; WX 930 ; N a175 ; B 35 84 896 608 ;
|
||||
C 230 ; WX 931 ; N a176 ; B 35 84 896 608 ;
|
||||
C 231 ; WX 463 ; N a177 ; B 35 -99 429 791 ;
|
||||
C 232 ; WX 883 ; N a178 ; B 35 71 848 623 ;
|
||||
C 233 ; WX 836 ; N a179 ; B 35 44 802 648 ;
|
||||
C 234 ; WX 836 ; N a193 ; B 35 44 802 648 ;
|
||||
C 235 ; WX 867 ; N a180 ; B 35 101 832 591 ;
|
||||
C 236 ; WX 867 ; N a199 ; B 35 101 832 591 ;
|
||||
C 237 ; WX 696 ; N a181 ; B 35 44 661 648 ;
|
||||
C 238 ; WX 696 ; N a200 ; B 35 44 661 648 ;
|
||||
C 239 ; WX 874 ; N a182 ; B 35 77 840 619 ;
|
||||
C 241 ; WX 874 ; N a201 ; B 35 73 840 615 ;
|
||||
C 242 ; WX 760 ; N a183 ; B 35 0 725 692 ;
|
||||
C 243 ; WX 946 ; N a184 ; B 35 160 911 533 ;
|
||||
C 244 ; WX 771 ; N a197 ; B 34 37 736 655 ;
|
||||
C 245 ; WX 865 ; N a185 ; B 35 207 830 481 ;
|
||||
C 246 ; WX 771 ; N a194 ; B 34 37 736 655 ;
|
||||
C 247 ; WX 888 ; N a198 ; B 34 -19 853 712 ;
|
||||
C 248 ; WX 967 ; N a186 ; B 35 124 932 568 ;
|
||||
C 249 ; WX 888 ; N a195 ; B 34 -19 853 712 ;
|
||||
C 250 ; WX 831 ; N a187 ; B 35 113 796 579 ;
|
||||
C 251 ; WX 873 ; N a188 ; B 36 118 838 578 ;
|
||||
C 252 ; WX 927 ; N a189 ; B 35 150 891 542 ;
|
||||
C 253 ; WX 970 ; N a190 ; B 35 76 931 616 ;
|
||||
C 254 ; WX 918 ; N a191 ; B 34 99 884 593 ;
|
||||
EndCharMetrics
|
||||
EndFontMetrics
|
BIN
nrpc_site/dompdf/lib/fonts/arialuni.ttf
Normal file
BIN
nrpc_site/dompdf/lib/fonts/arialuni.ttf
Normal file
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue